Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

.. raw:: html

<h1>

.. raw:: html

</h1>

|PyPI version| |Travis.CI status|

pyinfra is designed to automate/provision/manage/deploy servers at
scale.

It can be used for ad-hoc command execution, service deployment,
configuration management; you could say that pyinfra is like a
combination of Ansible + Fabric. It is asynchronous, highly performant
and can target thousands of hosts in parallel. It is entirely configured
in Python, allowing for near-infinite extendability out of the box.

- `Getting
started <https://pyinfra.readthedocs.org/page/getting_started.html>`__
- `Documentation <https://pyinfra.readthedocs.org>`__
- `Example deploy <example>`__
- `API
Example <https://pyinfra.readthedocs.org/page/api/example.html>`__
- `How the deploy
works <https://pyinfra.readthedocs.org/page/deploy_process.html>`__

|image2|

Design Features
---------------

pyinfra was designed to deploy things in a consistent, debuggable and
maintainable manner. Notable design decisions:

- properly agentless - even Python isn’t required on the remote side
(just a shell!)
- always print raw stderr on operation failure for *instant* debugging
- ``-v`` means print out remote stdout & stderr in realtime
- outputs shell commands and files to upload
- two-step deploy that enables dry-runs
- fail fast where possible (eg touching a directory)
- uses pure, 100% Python for the inventory and deploy scripts

- with operations/hooks to safely use Python mid-deploy

.. |PyPI version| image:: https://badge.fury.io/py/pyinfra.svg
:target: https://pypi.python.org/pypi/pyinfra
.. |Travis.CI status| image:: https://travis-ci.org/Fizzadar/pyinfra.svg?branch=develop
:target: https://travis-ci.org/Fizzadar/pyinfra
.. |image2| image:: docs/example_deploy.png



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.9.dev1.tar.gz (95.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyinfra-0.9.dev1-py2.py3-none-any.whl (119.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyinfra-0.9.dev1.tar.gz.

File metadata

  • Download URL: pyinfra-0.9.dev1.tar.gz
  • Upload date:
  • Size: 95.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for pyinfra-0.9.dev1.tar.gz
Algorithm Hash digest
SHA256 73b6aa7025c6fc759c795949cd90df1ffda1304b8d17cd8035468fc59c8eaa0b
MD5 bb4be0f6bbc4f0037f0a82c6153c2442
BLAKE2b-256 44b53d83246024194eeee1b09a3f57996da9f8090a1413e95f887dd9979c2157

See more details on using hashes here.

File details

Details for the file pyinfra-0.9.dev1-py2.py3-none-any.whl.

File metadata

  • Download URL: pyinfra-0.9.dev1-py2.py3-none-any.whl
  • Upload date:
  • Size: 119.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for pyinfra-0.9.dev1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d163fc01d6b9064c753d44124b8df198b9366f523e0b1568074a6aadbbd141b8
MD5 49d8f1e1836dc3b799298f90eb3179ab
BLAKE2b-256 082f8918c73d8ce1863590574ea900b56d06f4da8015c5ca4f22cd8e499ff67f

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page