Skip to main content

pyinfra automates/provisions/manages/deploys infrastructure.

Project description

PyPI version PyPi downloads Docs status Travis.CI status Codecov Coverage MIT Licensed

pyinfra automates/provisions/manages/deploys infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more. Core design features include:

  • 🚀 Super fast execution over thousands of hosts with predictable performance.
  • 🚨 Instant debugging with stdout & stderr output on error or as required (-v|-vv|-vvv).
  • 📦 Extendable with any Python package as configured & written in standard Python.
  • 💻 Agentless execution against SSH/Docker/subprocess/winrm hosts.
  • ❗️ Two stage process that enables --dry runs before executing any changes.
  • 🔌 Integrated with Docker, Vagrant/Mech & Ansible out of the box.

When you run pyinfra you'll see something like (non animated version):

Quickstart

pyinfra can be installed via pip:

pip install pyinfra

Now you can execute commands & operations over SSH:

# Execute an arbitrary shell command
pyinfra my-server.net exec -- echo "hello world"

# Install iftop apt package if not present
pyinfra my-server.net apt.packages iftop sudo=true update=true

These can then be saved to a deploy file, let's call it deploy.py:

from pyinfra.operations import apt

apt.packages(
    name='Ensure iftop is installed',
    packages=['iftop'],
    sudo=True,
    update=True,
)

And executed with:

pyinfra my-server.net deploy.py

or

pyinfra @docker/ubuntu deploy.py

Documentation

Project details


Release history Release notifications | RSS feed

This version

1.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-1.1.tar.gz (144.3 kB view details)

Uploaded Source

Built Distribution

pyinfra-1.1-py2.py3-none-any.whl (189.2 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: pyinfra-1.1.tar.gz
  • Upload date:
  • Size: 144.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for pyinfra-1.1.tar.gz
Algorithm Hash digest
SHA256 505b8f6d969c9020c3907864c3b23f843a5a3fc39c3277596c0a9fcc1868a9d5
MD5 23dcc9508bdecd54548d91ee373ccef5
BLAKE2b-256 08a7956e41e3f391a4b153222626a825edeb4cf88747e1005eae56c6f0b33eaf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinfra-1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 189.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.0

File hashes

Hashes for pyinfra-1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4bb06c9c92ebf988ecce16a61404596e63aded7f3897766bd089146bfdd1ef8c
MD5 5ac60b725f4d50cd50aacc31ecb6b716
BLAKE2b-256 bafdd0bff7b3bb9ad660e61402f7a54f9f25a33eb550c5f5bb47d166b83f05a6

See more details on using hashes here.

Supported by

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