Skip to main content

pyinfra automates/provisions/manages/deploys infrastructure.

Project description

PyPI version 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 targets with predictable performance.
  • 🚨 Instant debugging with stdout + stderr output on error, and -v to print it always.
  • 💻 Agentless execution by speaking native SSH/Docker/subprocess depending on the target.
  • ❗️ Two stage process that enables --dry runs before making any changes.
  • 📦 Extendable with any Python package as configured & written in standard Python.
  • 🔌 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 abitrary 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

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

from pyinfra.modules import apt

apt.packages(
    {'Install iftop'},
    'iftop',
    sudo=True,
)

And executed with:

pyinfra my-server.net deploy.py

Documentation

Project details


Release history Release notifications | RSS feed

This version

0.12

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.12.tar.gz (111.5 kB view details)

Uploaded Source

Built Distribution

pyinfra-0.12-py2.py3-none-any.whl (131.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pyinfra-0.12.tar.gz
  • Upload date:
  • Size: 111.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for pyinfra-0.12.tar.gz
Algorithm Hash digest
SHA256 0861c5e4de9c565a7ef4109363409e6506d21dfcad49e11d3aef11b110152cfc
MD5 041339200d8f54f9f6ef158b2690dd9b
BLAKE2b-256 37ef6154b2ebd080ab44264019d50dd2d3c70b043e85c24e74e1d2b0d0b754a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinfra-0.12-py2.py3-none-any.whl
  • Upload date:
  • Size: 131.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for pyinfra-0.12-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0148e377747c1b0d6644688f2d1566c52aa5d6f1a63db80b916e6cc210760545
MD5 75fa41f5a4cb4edafbadbc8aa7bebfb8
BLAKE2b-256 3eceee3c7df84bf1e8be53f323936a528569019afc54754f7b08e4f445274ab1

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