Skip to main content

Deploy stuff by diff-ing the state you want against the remote server.

Project description

.. 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>`__

When you run pyinfra you’ll see something like:

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


Project details


Release history Release notifications | RSS feed

This version

0.9

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.tar.gz (97.1 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-py2.py3-none-any.whl (121.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pyinfra-0.9.tar.gz
  • Upload date:
  • Size: 97.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for pyinfra-0.9.tar.gz
Algorithm Hash digest
SHA256 b7b761f6557b955af32134b5c2b13981888c8245d6ea639ec0aba15122bdd7c3
MD5 45863aae064989c73c2f676deeb051f6
BLAKE2b-256 4e06fb3fe1675e40591fc35222b47730d02017bf6bd1c69cbfc3a4dcbf1e11e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinfra-0.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 121.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for pyinfra-0.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ee5627d9602087300ebca643dd62ecf20013d9240df49348c4c748b74aadc948
MD5 e8d911be5fcd8abe1a9bd0203dd2db4d
BLAKE2b-256 be46ef21ea51758dc93af7b125879cd6c8ccb40a371fbff62c8df704dac20ff1

See more details on using hashes here.

Supported by

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