Need help with pyinfra?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Fizzadar
1.2K Stars 111 Forks MIT License 3.1K Commits 53 Opened issues

Description

pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more.

Services available

!
?

Need anything else?

Contributors list

PyPI version PyPi downloads Docs status Execute tests status Codecov Coverage MIT Licensed

pyinfra automates/provisions/manages/deploys infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more. Core design features include:

  • 🚀 Super fast execution over thousands of hosts with predictable performance.
  • 🚨 Instant debugging with stdout & stderr output on error or as required (
    -v
    |
    -vv
    |
    -vvv
    ).
  • 📦 Extendable with any Python package as configured & written in standard Python.
  • 💻 Agentless execution against SSH/Docker/subprocess/winrm hosts.
  • ❗️ Two stage process that enables
    --dry
    runs before executing any changes.
  • 🔌 Integrated with Docker, Vagrant/Mech & Ansible out of the box.

When you run pyinfra you'll see something like (non animated version):

Quickstart

pyinfra can be installed via pip:

pip install pyinfra

Now you can execute commands & operations over SSH:

# Execute an arbitrary shell command
pyinfra my-server.net exec -- echo "hello world"

Install iftop apt package if not present

pyinfra my-server.net apt.packages iftop sudo=true update=true

These can then be saved to a deploy file, let's call it

deploy.py
:
from pyinfra.operations import apt

apt.packages( name='Ensure iftop is installed', packages=['iftop'], sudo=True, update=True, )

And executed with:

pyinfra my-server.net deploy.py

or

pyinfra @docker/ubuntu deploy.py

Documentation

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.