pyinfra automates/provisions/manages/deploys infrastructure.
Project description
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
-v
to print it always. - 💻 Agentless execution by speaking native SSH/Docker/subprocess depending on the target.
- ❗️ Two stage process that enables
--dry
runs 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
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, )
And executed with:
pyinfra my-server.net deploy.py
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pyinfra-0.12.2-py2.py3-none-any.whl (136.1 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size pyinfra-0.12.2.tar.gz (115.2 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for pyinfra-0.12.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be40ecb702994dd3f6b9860e05ba6fd64acbfc966fc7e2535a66b3d880ba3e98 |
|
MD5 | 074ad943955c5c57b54ed15a0c380acf |
|
BLAKE2-256 | 4c49c4196d5af5315c256b20a58eddf7ea6b531343f7f395361fd07d2cdcc881 |