Deploy stuff by diff-ing the state you want against the remote server.
pyinfra automates service deployment. It does this by diff-ing the state of the server with the state defined in the deploy script. Deploys are asyncronous and highly performant. The inventory & deploy are managed with pure Python, allowing for near-infinite extendability.
pyinfra was designed from day one to enable ops to deploy things in a consistent, debuggable and maintainable manner. Notable design decisions:
pyinfra is still under heavy development, and while the CLI/API should be considered fairly stable there’s no guarantee of no breaking changes until v1. There are a number of critical specifications to be properly fleshed out before the v1 release:
To develop pyinfra itself:
# Create a virtualenv venv create pyinfra # Install pyinfra in dev mode, with dev requirements pip install -e .[dev]
Use nosetests or the bundled helper script to run tests. This helper script also counts coverage:
# Test everything (API, modules & facts) scripts/test.sh # Set individual bits scripts/test.sh [api|modules|facts]
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|pyinfra-0.3-py2.py3-none-any.whl (90.4 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Mar 12, 2017|
|pyinfra-0.3.tar.gz (64.8 kB) Copy SHA256 Checksum SHA256||–||Source||Mar 12, 2017|