pyinfra automates infrastructure super fast at massive scale
Documentation • Getting Started • Examples • Help & Support • Contributing
pyinfra automates/provisions/manages/deploys infrastructure. It can be used for ad-hoc command execution, service deployment, configuration management and more. 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
--dryruns 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
Metadata
Release files for pyinfra 1.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyinfra-1.7.2.tar.gz | 184.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyinfra-1.7.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 413.9 kB
Release files / pyinfra-1.7.2.tar.gz
| Download URL | pyinfra-1.7.2.tar.gz |
|---|---|
| Size | 184.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a80eb9974f84e6355d3e0863717d98895b5d847471b787b2dbcc4e79d8301da3
|
|
BLAKE2b-256 checksum How to use checksums |
d98b3643fca83a091a1266263cb5fb0ec05c2be13209b26fa94959246093edd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4
|
Release files / pyinfra-1.7.2-py2.py3-none-any.whl
| Download URL | pyinfra-1.7.2-py2.py3-none-any.whl |
|---|---|
| Size | 229.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
cbdccff18f699debeb8e0ca7893fd02bb1e8997e1a9aec54e457f792ddb03585
|
|
BLAKE2b-256 checksum How to use checksums |
f3c1f6221b8e3a0edeba31c0fc14ce669cc013eff6494812a1202bdc49e0ec44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4
|