Repolode
pyinfra-dev

pyinfra-dev/pyinfra

Una herramienta de automatización de infraestructura que ejecuta operaciones definidas en Python y comandos de shell en servidores SSH, máquinas locales y contenedores Docker.

Alternativa open source a:Ansible

Estrellas
6,044
Forks
558
Issues abiertos
166
Último commit
hace 7 días

¿Qué es?

pyinfra es una herramienta de automatización de infraestructura que permite escribir en Python la configuración de servidores y la lógica de despliegue, en lugar de usar YAML. Puedes ejecutar comandos de shell puntuales en muchos hosts o definir operaciones declarativas, como instalar paquetes o gestionar archivos; pyinfra las convierte en comandos de shell y las ejecuta en los destinos.

Los destinos pueden ser servidores remotos accesibles por SSH, la máquina local o contenedores Docker. Las operaciones son idempotentes, por lo que puedes revisar los cambios con diffs y ejecuciones en seco antes de aplicarlos. Para depurar, puedes consultar en tiempo real la entrada estándar (stdin) y las salidas estándar y de error (stdout y stderr), con niveles de detalle cada vez mayores.

Como es Python estándar, puedes usar el ecosistema de paquetes de Python en tus scripts de despliegue. El proyecto no requiere agentes: solo necesita acceso al shell del destino e incluye conectores para Docker, Terraform y Vagrant.

Funciones clave

  • 01Escribe la lógica de despliegue en Python en lugar de YAML.
  • 02Ejecuta comandos puntuales u operaciones declarativas en hosts accesibles por SSH, la máquina local y contenedores Docker.
  • 03Las operaciones idempotentes admiten diffs y ejecuciones en seco antes de aplicar los cambios.
  • 04La salida de los comandos en tiempo real facilita la depuración de los pasos que fallan.
  • 05No requiere agentes: solo se necesita acceso al shell del destino.
  • 06Conectores para inventarios de Docker, Terraform y Vagrant.

Casos de uso

  • Configurar y desplegar un conjunto de servidores desde una única base de código Python.
  • Ejecutar el mismo comando de shell en muchos hosts a la vez.
  • Probar la configuración de servidores en contenedores Docker locales antes de intervenir en producción.
  • Equipos que buscan una automatización al estilo de Ansible, pero con Python en lugar de YAML.

Inicio rápido

  1. 1

    Instalar pyinfra con uv

    uv tool install pyinfra
  2. 2

    Ejecutar un comando en un servidor SSH

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

    Ejecutar un comando en un contenedor Docker

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

Temas

Preguntas frecuentes

¿Qué es pyinfra?
Una herramienta de automatización de infraestructura que ejecuta operaciones definidas en Python y comandos de shell en servidores SSH, máquinas locales y contenedores Docker. pyinfra es una herramienta de automatización de infraestructura que permite escribir en Python la configuración de servidores y la lógica de despliegue, en lugar de usar YAML. Puedes ejecutar comandos de shell puntuales en muchos hosts o definir operaciones declarativas, como instalar paquetes o gestionar archivos; pyinfra las convierte en comandos de shell y las ejecuta en los destinos.
¿pyinfra es gratuito? ¿Qué licencia tiene?
pyinfra es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pyinfra sigue mantenido?
Mantenimiento activo. El último commit de pyinfra fue el 15 oct 2026.
¿Para qué puedo usar pyinfra?
Configurar y desplegar un conjunto de servidores desde una única base de código Python. Ejecutar el mismo comando de shell en muchos hosts a la vez. Probar la configuración de servidores en contenedores Docker locales antes de intervenir en producción. Equipos que buscan una automatización al estilo de Ansible, pero con Python en lugar de YAML.
¿Cómo se instala pyinfra?
Instalar pyinfra con uv: uv tool install pyinfra Ejecutar un comando en un servidor SSH: pyinfra my-server.net exec -- echo "hello world" Ejecutar un comando en un contenedor Docker: pyinfra @docker/ubuntu exec -- echo "Hello world"
¿Dónde consigo pyinfra?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pyinfra-dev/pyinfra

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados