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

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

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pyinfra-0.9.dev2.tar.gz
  • Upload date:
  • Size: 96.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for pyinfra-0.9.dev2.tar.gz
Algorithm Hash digest
SHA256 eeb22f2d334b16c420ff6093afaed2fe5f398bcce43633d0aaa62e171496ef9e
MD5 50d986a7aa82ead12db477a48c948eb8
BLAKE2b-256 386244faa7ec2f34a8d1888fd4f0c54eb1259cfa8dd9395b00fe1d53a5f75ca4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinfra-0.9.dev2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7733c227ec103959e06d83c1dbd2ac73f33463980368d908ec109f883751605d
MD5 7f8c50ce9cd6ca13b6a5e98b69872688
BLAKE2b-256 5efd4d9d9799f1b1219d2513e12ac2295ff2b5c242bf57d12d4f7635f9b2a91d

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