# pyinfra ## Docs - [Debugging](https://mintlify.wiki/pyinfra-dev/pyinfra/advanced/debugging.md): Learn how to debug pyinfra deployments and troubleshoot issues - [Performance Tuning](https://mintlify.wiki/pyinfra-dev/pyinfra/advanced/performance-tuning.md): Optimize pyinfra deployments for speed and efficiency - [Writing Custom Connectors](https://mintlify.wiki/pyinfra-dev/pyinfra/advanced/writing-connectors.md): Learn how to create custom connectors to connect to remote hosts - [Writing Custom Facts](https://mintlify.wiki/pyinfra-dev/pyinfra/advanced/writing-facts.md): Learn how to create custom facts to query remote system state - [Writing Custom Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/advanced/writing-operations.md): Learn how to create custom operations in pyinfra - [Commands](https://mintlify.wiki/pyinfra-dev/pyinfra/api/commands.md): Command types for executing operations on remote hosts - [Config](https://mintlify.wiki/pyinfra-dev/pyinfra/api/config.md): Configuration options for pyinfra deployments - [Docker Connector](https://mintlify.wiki/pyinfra-dev/pyinfra/api/connectors/docker.md): Execute operations in Docker containers - [Local Connector](https://mintlify.wiki/pyinfra-dev/pyinfra/api/connectors/local.md): Execute operations on the local machine - [SSH Connector](https://mintlify.wiki/pyinfra-dev/pyinfra/api/connectors/ssh.md): Connect to hosts over SSH (default connector) - [Terraform Connector](https://mintlify.wiki/pyinfra-dev/pyinfra/api/connectors/terraform.md): Generate inventory from Terraform outputs - [Vagrant Connector](https://mintlify.wiki/pyinfra-dev/pyinfra/api/connectors/vagrant.md): Generate inventory from Vagrant virtual machines - [Deploy](https://mintlify.wiki/pyinfra-dev/pyinfra/api/deploy.md): Create reusable deployment functions with the @deploy decorator - [File Facts](https://mintlify.wiki/pyinfra-dev/pyinfra/api/facts/files.md): Gather filesystem information from target hosts - [Facts Overview](https://mintlify.wiki/pyinfra-dev/pyinfra/api/facts/overview.md): Gather information about target hosts using facts - [Package Facts](https://mintlify.wiki/pyinfra-dev/pyinfra/api/facts/packages.md): Gather information about installed packages - [Server Facts](https://mintlify.wiki/pyinfra-dev/pyinfra/api/facts/server.md): Gather system information from target hosts - [Host](https://mintlify.wiki/pyinfra-dev/pyinfra/api/host.md): Represents a target host in pyinfra's inventory - [Inventory](https://mintlify.wiki/pyinfra-dev/pyinfra/api/inventory.md): Represents a collection of target hosts with groups and data - [Operation](https://mintlify.wiki/pyinfra-dev/pyinfra/api/operation.md): Create custom operations with the @operation decorator - [API Overview](https://mintlify.wiki/pyinfra-dev/pyinfra/api/overview.md): Complete reference for pyinfra's Python API - [State](https://mintlify.wiki/pyinfra-dev/pyinfra/api/state.md): Manages the state of a pyinfra deployment - [CLI Arguments](https://mintlify.wiki/pyinfra-dev/pyinfra/cli/arguments.md): Complete reference for all pyinfra CLI flags and options - [CLI Commands](https://mintlify.wiki/pyinfra-dev/pyinfra/cli/commands.md): Detailed reference for pyinfra CLI command modes - [CLI Overview](https://mintlify.wiki/pyinfra-dev/pyinfra/cli/overview.md): Introduction to the pyinfra command-line interface - [Architecture](https://mintlify.wiki/pyinfra-dev/pyinfra/concepts/architecture.md): Understanding pyinfra's two-phase execution model and core design principles - [Connectors](https://mintlify.wiki/pyinfra-dev/pyinfra/concepts/connectors.md): Understanding pyinfra's connector system for interfacing with different target systems - [Facts](https://mintlify.wiki/pyinfra-dev/pyinfra/concepts/facts.md): Understanding pyinfra's fact system for state collection and idempotent operations - [Inventory](https://mintlify.wiki/pyinfra-dev/pyinfra/concepts/inventory.md): Managing target hosts, groups, and data in pyinfra - [Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/concepts/operations.md): Deep dive into pyinfra operations - the building blocks of infrastructure automation - [State](https://mintlify.wiki/pyinfra-dev/pyinfra/concepts/state.md): Understanding pyinfra's State class - the central coordinator for deployments - [Deploying Applications](https://mintlify.wiki/pyinfra-dev/pyinfra/guides/deploying-applications.md): Learn how to deploy complete applications with pyinfra, from simple web apps to complex multi-tier systems - [Getting Started Tutorial](https://mintlify.wiki/pyinfra-dev/pyinfra/guides/getting-started-tutorial.md): A comprehensive guide to getting started with pyinfra, from installation to your first deploy - [Idempotent Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/guides/idempotent-operations.md): Understand how pyinfra's idempotent operations work and how to write predictable, repeatable infrastructure code - [Inventory and Data](https://mintlify.wiki/pyinfra-dev/pyinfra/guides/inventory-and-data.md): Master pyinfra's inventory system to manage hosts, groups, and configuration data - [Parallel Execution](https://mintlify.wiki/pyinfra-dev/pyinfra/guides/parallel-execution.md): Learn how pyinfra executes operations in parallel across multiple hosts for maximum performance - [Using Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/guides/using-operations.md): Complete guide to using pyinfra operations for infrastructure automation and state management - [Installation](https://mintlify.wiki/pyinfra-dev/pyinfra/installation.md): Install pyinfra using uv, pip, pipx, or from source - [Introduction to pyinfra](https://mintlify.wiki/pyinfra-dev/pyinfra/introduction.md): Fast, scalable infrastructure automation with Python - [apk Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/apk.md): Manage apk packages on Alpine Linux systems - [apt Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/apt.md): Manage apt packages and repositories on Debian/Ubuntu systems - [brew Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/brew.md): Manage Homebrew packages on macOS - [cargo Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/cargo.md): Manage Rust packages with cargo - [choco Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/choco.md): Manage Chocolatey packages on Windows - [crontab](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/crontab.md): Manage crontab entries - [dnf Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/dnf.md): Manage dnf packages and repositories on Fedora/RHEL 8+ systems - [docker](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/docker.md): Manage Docker containers, images, volumes and networks - [files](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/files.md): Filesystem operations for file uploads, downloads, and management - [gem Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/gem.md): Manage Ruby gems - [git](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/git.md): Manage git repositories and configuration - [iptables](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/iptables.md): Manage iptables firewall rules - [launchd](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/launchd.md): Manage launchd services on macOS - [lxd](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/lxd.md): Manage LXD containers - [mysql](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/mysql.md): Manage MySQL databases, users and privileges - [npm Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/npm.md): Manage Node.js packages with npm - [openrc](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/openrc.md): Manage OpenRC init services - [Operations Overview](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/overview.md): Complete guide to pyinfra operations for system configuration and package management - [pacman Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/pacman.md): Manage pacman packages on Arch Linux systems - [pip Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/pip.md): Manage Python packages with pip - [pipx Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/pipx.md): Manage Python applications with pipx - [pkg Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/pkg.md): Manage BSD packages on FreeBSD, OpenBSD, and NetBSD - [postgres](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/postgres.md): Manage PostgreSQL databases, users and privileges - [runit](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/runit.md): Manage runit services - [selinux](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/selinux.md): Manage SELinux file contexts, booleans and port types - [server](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/server.md): OS-level server operations for POSIX systems - [ssh](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/ssh.md): Execute commands and transfer files via SSH - [systemd](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/systemd.md): Manage systemd services on Linux systems - [sysvinit](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/sysvinit.md): Manage SysV Init services (/etc/init.d) - [upstart](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/upstart.md): Manage Upstart services - [yum Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/yum.md): Manage yum packages and repositories on RHEL/CentOS systems - [zypper Operations](https://mintlify.wiki/pyinfra-dev/pyinfra/operations/zypper.md): Manage zypper packages and repositories on openSUSE systems - [Quickstart](https://mintlify.wiki/pyinfra-dev/pyinfra/quickstart.md): Deploy your first infrastructure with pyinfra in minutes