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 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
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-1.4.5.tar.gz
(169.6 kB
view details)
Built Distribution
pyinfra-1.4.5-py2.py3-none-any.whl
(215.5 kB
view details)
File details
Details for the file pyinfra-1.4.5.tar.gz
.
File metadata
- Download URL: pyinfra-1.4.5.tar.gz
- Upload date:
- Size: 169.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a223e108eeb5daf00bed5c147c09186511c856dd45eb5f5d6e381b47c32e20e8 |
|
MD5 | 68104dbb0bc9f4b8d5d45c4330e8b098 |
|
BLAKE2b-256 | 3e5643d7b716bf5876731b60fa8df1aac79092d089216d1727bc912632a022b0 |
File details
Details for the file pyinfra-1.4.5-py2.py3-none-any.whl
.
File metadata
- Download URL: pyinfra-1.4.5-py2.py3-none-any.whl
- Upload date:
- Size: 215.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2abf1695f628b78bec6e09d76278a25df0cfac09b4db41fd430e0e80669afe7 |
|
MD5 | 9c6a1e8cac604179396faa18f1da15c6 |
|
BLAKE2b-256 | eb6eb71204c74a48eaf8308ec627157e6fee58db496c16366622b050bad31d5b |