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.1

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

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pyinfra-0.9.1.tar.gz
  • Upload date:
  • Size: 96.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for pyinfra-0.9.1.tar.gz
Algorithm Hash digest
SHA256 9c7305243d1bbf051e64dab33e99cf9dcd3fbc8efbfe567dd8484ef8247d6fcc
MD5 6b99e0d1353cca9513e103a49cbe91f7
BLAKE2b-256 9a04601f9cfd519e0d965dc3d9ef5587c90c441beba5e46abdc411d029656861

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinfra-0.9.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 119.8 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/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for pyinfra-0.9.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 929ecbf7f34df61757bfc0ea8268dc37e1603f560c42e6060696feedd12ce706
MD5 f023628074205f676509470e10c2429b
BLAKE2b-256 ac8e4d37e24ae848e23bb1a02b85ce39d239e0048611e66523d9036395c21795

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