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 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
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.
Source Distribution
pyinfra-0.13.2.tar.gz
(130.5 kB
view details)
Built Distribution
pyinfra-0.13.2-py2.py3-none-any.whl
(158.2 kB
view details)
File details
Details for the file pyinfra-0.13.2.tar.gz
.
File metadata
- Download URL: pyinfra-0.13.2.tar.gz
- Upload date:
- Size: 130.5 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb624a8db27d3439ad77304d2f59df54154201947ebddd3dc9b0bb121f6fba09 |
|
MD5 | 2d74dc2ffac3a05037555c128ffd814a |
|
BLAKE2b-256 | 4baf5003f26577709762e8e58af53bdccc919e80820f42163b395e2b1f813192 |
File details
Details for the file pyinfra-0.13.2-py2.py3-none-any.whl
.
File metadata
- Download URL: pyinfra-0.13.2-py2.py3-none-any.whl
- Upload date:
- Size: 158.2 kB
- Tags: Python 2, Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 726eb81cc33a723167d209949ae94c449a2aeecd93248628165eb91937423138 |
|
MD5 | 6bca64c7057a8ee06b1609981a3c8bc8 |
|
BLAKE2b-256 | fd42c1cb3195b13aed47b71043e9d4735d6b9e74277059aca68e6c735ffec8a4 |