Repolode
pyinfra-dev

pyinfra-dev/pyinfra

Ferramenta de automação de infraestrutura que executa operações definidas em Python e comandos shell em servidores SSH, máquinas locais e contêineres Docker.

Alternativa open source a:Ansible

Estrelas
6,044
Forks
558
Issues abertas
166
Último commit
há 7 dias

O que é?

pyinfra é uma ferramenta de automação de infraestrutura que permite escrever em Python, em vez de YAML, a lógica de configuração de servidores e implantação. Você pode executar comandos shell pontuais em vários hosts ou definir operações declarativas, como instalar pacotes ou gerenciar arquivos, que o pyinfra converte em comandos shell e executa nos destinos.

Os destinos podem ser servidores remotos acessados por SSH, a máquina local ou contêineres Docker. As operações são idempotentes, então você pode visualizar as alterações com diffs e dry runs antes de aplicá-las. A saída em tempo real de stdin, stdout e stderr fica disponível para depuração, com níveis de verbosidade cada vez maiores.

Como é Python convencional, você pode usar o amplo ecossistema de pacotes Python nos seus scripts de implantação. O projeto não requer agentes, apenas acesso ao shell no destino, e inclui conectores para Docker, Terraform e Vagrant.

Recursos principais

  • 01Escreva a lógica de implantação em Python em vez de YAML.
  • 02Execute comandos pontuais ou operações declarativas em hosts acessados por SSH, na máquina local e em contêineres Docker.
  • 03Operações idempotentes permitem visualizar diffs e executar dry runs antes de aplicar alterações.
  • 04A saída dos comandos em tempo real ajuda a depurar etapas com falhas.
  • 05Não requer agentes: basta ter acesso ao shell no destino.
  • 06Conectores para inventários do Docker, Terraform e Vagrant.

Casos de uso

  • Configurar e implantar uma frota de servidores a partir de uma única base de código Python.
  • Executar o mesmo comando shell em vários hosts de uma só vez.
  • Testar a configuração de servidores em contêineres Docker locais antes de mexer em produção.
  • Equipes que querem automação no estilo do Ansible usando Python em vez de YAML.

Início rápido

  1. 1

    Instalar pyinfra com uv

    uv tool install pyinfra
  2. 2

    Executar um comando em um servidor SSH

    pyinfra my-server.net exec -- echo "hello world"
  3. 3

    Executar um comando em um contêiner Docker

    pyinfra @docker/ubuntu exec -- echo "Hello world"

Tópicos

Perguntas frequentes

O que é pyinfra?
Ferramenta de automação de infraestrutura que executa operações definidas em Python e comandos shell em servidores SSH, máquinas locais e contêineres Docker. pyinfra é uma ferramenta de automação de infraestrutura que permite escrever em Python, em vez de YAML, a lógica de configuração de servidores e implantação. Você pode executar comandos shell pontuais em vários hosts ou definir operações declarativas, como instalar pacotes ou gerenciar arquivos, que o pyinfra converte em comandos shell e executa nos destinos.
pyinfra é gratuito? Qual é a licença?
pyinfra é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
pyinfra ainda é mantido?
Manutenção ativa. O último commit de pyinfra foi em 15 de out. de 2026.
Para que posso usar pyinfra?
Configurar e implantar uma frota de servidores a partir de uma única base de código Python. Executar o mesmo comando shell em vários hosts de uma só vez. Testar a configuração de servidores em contêineres Docker locais antes de mexer em produção. Equipes que querem automação no estilo do Ansible usando Python em vez de YAML.
Como instalar pyinfra?
Instalar pyinfra com uv: uv tool install pyinfra Executar um comando em um servidor SSH: pyinfra my-server.net exec -- echo "hello world" Executar um comando em um contêiner Docker: pyinfra @docker/ubuntu exec -- echo "Hello world"
Onde consigo pyinfra?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pyinfra-dev/pyinfra

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados