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 targets with predictable performance.
- 🚨 Instant debugging with stdout + stderr output on error, and
-vto print it always. - 💻 Agentless execution by speaking native SSH/Docker/subprocess depending on the target.
- ❗️ Two stage process that enables
--dryruns before making any changes. - 📦 Extendable with any Python package as configured & written in standard Python.
- 🔌 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 abitrary 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.modules import apt
apt.packages(
{'Install iftop'},
'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 0.14.3
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-0.14.3.tar.gz | 139.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyinfra-0.14.3-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 309.8 kB
Release files / pyinfra-0.14.3.tar.gz
| Download URL | pyinfra-0.14.3.tar.gz |
|---|---|
| Size | 139.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61fd03d1a40855bce280ab793f0402691f643a7dec95e21a49b52feec025b058
|
|
BLAKE2b-256 checksum How to use checksums |
a7f82c44ac4ff2b0925a56196cc63aa9fc48790d1add868d63464bf80c11a320
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0
|
Release files / pyinfra-0.14.3-py2.py3-none-any.whl
| Download URL | pyinfra-0.14.3-py2.py3-none-any.whl |
|---|---|
| Size | 170.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
040cc3700f02cbe4a4157a7b895b7329ef19fb20340b538513cf2b9c5067af64
|
|
BLAKE2b-256 checksum How to use checksums |
ba4605c6659c56dcc19b63a23417c100ae03324b6b4c18780a7cef7f4360a66d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0
|