Skip to main content

pyinfra automates/provisions/manages/deploys infrastructure.

Project description

pyinfra

pyinfra automates infrastructure super fast at massive scale

PyPI version PyPi downloads Docs status Execute tests status Codecov Coverage MIT Licensed


DocumentationGetting StartedExamplesHelp & SupportContributing


pyinfra automates/provisions/manages/deploys infrastructure. It can be used for ad-hoc command execution, service deployment, configuration management and more. 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.7

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

Uploaded Source

Built Distribution

pyinfra-1.7-py2.py3-none-any.whl (229.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: pyinfra-1.7.tar.gz
  • Upload date:
  • Size: 183.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for pyinfra-1.7.tar.gz
Algorithm Hash digest
SHA256 afeee46b758a13ab873fffe9d4def58604c68adec4a37c7d20da5b28f61b14c2
MD5 2fe0c657d993121dff44ae2318949159
BLAKE2b-256 c8d31a761cfa27282d67ee5f9bc7a224b97a9f6616baabeeaeb1a1a950ae1846

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinfra-1.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 229.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for pyinfra-1.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7fc991769e10efc9cd3dc0a9b1643e61181bc1c83e834f87c554645d2dfb5b4b
MD5 2bdcdac5a2ab08bdf938f2159ca5d387
BLAKE2b-256 e3879df83a25c7adcbe07117cce7c45deebf3ef0452b83ea2a7de367cf0ac4b7

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