awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pyinfra-dev avatar

pyinfra-dev/pyinfra

0
View on GitHub↗
pyinfra.com↗

Pyinfra

pyinfra is a Python-based infrastructure automation framework that turns Python code into shell commands for managing servers, Docker containers, and local machines. It operates as a declarative, idempotent deployment tool, applying desired system states by comparing target configurations against current states and making only the necessary changes. The framework provides a connector-based transport abstraction that unifies SSH, Docker, and local execution behind a common interface, with a parallel execution engine that manages concurrent operations across hosts.

The tool distinguishes itself through a fact collection system that gathers structured server state data via pluggable Python functions, a host inventory data hierarchy that resolves configuration through a priority chain, and a dry-run simulation mode that previews operation effects without executing commands. It supports conditional execution gated on operation outcomes, configurable error handling with automatic retries, and dynamic argument evaluation per host at runtime. The framework enables cross-host data access, custom connector and fact source creation, and integration with external systems like Docker, Terraform, and Vagrant through built-in connectors.

The capability surface includes ad-hoc command execution, declarative operations for package and service management, file and user management, privilege escalation via sudo or su, and modular task files for splitting deployments across multiple files. It provides inventory management with group-based organization, reusable deployment packaging as Python modules, and output formatting as structured JSON. The tool supports execution across SSH servers, Docker containers, and local machines, with configurable parallelism controls from full concurrency to serial execution.

Documentation covers project structure conventions, connector configuration through data keys, and version compatibility checking, with a Python API for embedding infrastructure management into larger workflows.

Features

  • Multi-Environment Connectors - Targets SSH servers, Docker containers, and local machines interchangeably from a single automation framework.
  • Infrastructure Automation Frameworks - Provides a Python-based framework that compiles declarative operations into shell commands for infrastructure management.
  • Target State Declarations - Describes the desired state of server resources and applies only the changes needed to reach that state.
  • Multi-Host Parallel Executions - Manages concurrent operation execution across hosts with configurable parallelism and serialization controls.

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI
5,779 نجوم·517 تفرعات·Python·MIT·3 مشاهدات
  • Multi-Transport Connectors - Targets SSH servers, Docker containers, and the local machine using interchangeable connectors.
  • Shell Command Execution - Executes arbitrary shell commands on target hosts and returns output, exit codes, and errors.
  • Python-to-Shell Compilations - Translates Python operation calls into optimized shell command sequences for remote execution.
  • Automation Inventory Management - Defines groups of hosts as Python lists or tuples in an inventory file for targeting operations.
  • Idempotent Operations - Ensures repeated execution produces identical results by checking current state before applying changes.
  • Deployment Operations - Provides idempotent deployment operations that produce identical results on repeated runs.
  • Declarative Infrastructure Definitions - Writes Python code that describes the desired state of servers, which translates into necessary shell commands.
  • Server State Reconciliation - Compares desired server state against current state to generate minimal change commands.
  • Declarative Infrastructure Tools - Applies desired system states by comparing target against current configuration and making only necessary changes.
  • Deployment Packages - Packages inventories and operations into version-controllable Python files for repeatable execution.
  • Infrastructure as Code - Defines and applies desired server state programmatically using Python scripts that are idempotent and version-controllable.
  • Programmatic Infrastructure Automation - Provides a Python API to drive infrastructure management programmatically from automation scripts.
  • Multi-Host SSH Runners - Connects to multiple remote hosts simultaneously and executes commands across all of them in one step.
  • Remote Command Execution - Runs shell commands on remote hosts and retrieves their output programmatically in real time.
  • Service Managers - Provides declarative operations to start, stop, restart, and enable system services on target hosts.
  • Server State Collection - Collects current system state from remote servers using Python functions and returns structured data.
  • Python-Based SSH Deployers - Automates remote server management by executing Python-defined operations over SSH connections.
  • SSH Command Executors - Establishes SSH connections to remote servers for executing commands and managing infrastructure.
  • Transport Abstractions - Unifies SSH, Docker, and local execution behind a common interface for command and file operations.
  • Infrastructure Transport Selectors - Selects between SSH, Docker, and local execution transports at invocation time for running infrastructure tasks.
  • SSH Automation Frameworks - Automates server configuration and management over SSH with Python-based declarative operations and ad-hoc commands.
  • SSH Infrastructure Managers - Connects to remote machines over SSH to execute commands and apply configuration changes.
  • Declarative Configuration Systems - Applies desired system states by comparing target against current configuration, only making changes when necessary.
  • Multi-Transport Host Connections - Connects to remote machines over SSH, Docker, or local execution from within automation code.
  • Remote Declarative Operations - Applies built-in declarative operations like package management or service control to remote hosts from the command line.
  • Operation Definitions - Defines operations as Python functions that generate shell commands to manage server state.
  • System Fact Collection - Gathers structured server state data through pluggable Python functions for deployment logic.
  • Local Executions - Executes commands and operations directly on the local system without requiring a remote connection.
  • Remote File Management - Creates, modifies, or deletes files and directories on remote hosts with content, permissions, and ownership control.
  • Transport Connector Configurations - Uses data keys like sshuser or sshkey to set connection parameters for different execution environments.
  • Transport Connector Extensions - Writes new connectors to target hosts that are not supported by the built-in options.
  • Transport Connector Implementations - Defines a Python class that implements connection, disconnection, command execution, and file transfer methods.
  • Per-Host Data Attachments - Attaches a dictionary of key-value data to individual hosts, accessible in operations via host.data.
  • External System Integrations - Connects to infrastructure providers like Docker, Terraform, and Vagrant through built-in connectors.
  • Infrastructure Operation Extensions - Writes new operations to manage software or services not covered by the built-in library.
  • Dry Run Simulations - Simulates operations and shows diffs before applying any changes to ensure safe execution.
  • Deploy-Wide Operation Defaults - Configures deploy-wide settings like privilege escalation or version requirements that apply to all operations.
  • JSON Output Formats - Emits structured JSON output for inventory, facts, dry runs, and deploy results.
  • Remote - Transfers local files to remote hosts, creating parent directories and setting ownership or permissions.
  • Shell Execution Environments - Controls shell executable, working directory, environment variables, and pseudo-TTY for remote command execution.
  • Modular Task Configurations - Splits a deploy across multiple files by including and parameterizing reusable task scripts.
  • CLI Inventory Definitions - Specifies target hosts directly via command line arguments, supporting multiple connection types.
  • Remote Shell Command Executions - Runs arbitrary shell commands on remote servers without a predefined playbook.
  • Configuration Priority Hierarchies - Resolves configuration data through a priority chain of CLI args, host data, group data, and defaults.
  • Container Command Executors - Connects to Docker containers and runs commands or operations inside them as if they were remote hosts.
  • Docker Automation Frameworks - Manages Docker containers by executing Python-defined operations directly inside containers.
  • Docker Infrastructure Managers - Connects to Docker containers to execute commands and apply configuration changes as infrastructure targets.
  • Programmatic Container Managers - Creates and modifies Docker containers directly from automation scripts using a dedicated connector.
  • Cross-Host Data Access - Retrieves facts or data from any host in the inventory to use in operations targeting another host.
  • Custom Fact Collectors - Writes Python functions that query server state and registers them as reusable fact collectors.
  • Deployment Packaging - Bundles infrastructure definitions as Python packages for redistribution and reuse across projects.
  • Idempotent Package Installations - Installs a package on the target host using the system's package manager, only acting if not already present.
  • Dry-Run Modes - Previews operation effects by computing diffs without executing any commands on target hosts.
  • Group Variable Files - Stores group-specific variables in files, with defaults that can be overridden by more specific groups or hosts.
  • Dynamic Inventory Generation - Provides inventory as a Python function that returns a dict of groups, enabling dynamic host generation.
  • Configuration Data Hierarchies - Resolves configuration data through a priority chain of CLI args, host data, group data, and defaults.
  • Local Command Executors - Runs automation tasks on the local machine without requiring a remote connection.
  • Local Infrastructure Executions - Executes infrastructure operations directly on the local machine without requiring remote connections.
  • Reusable Infrastructure Modules - Packages a set of operations and configuration into a self-contained deploy that can be imported across projects.
  • Programmatic Command Executions - Executes arbitrary shell commands on remote hosts through a programmatic interface that returns structured results.
  • Docker Container Management - Manages Docker containers as infrastructure targets, executing commands and applying configuration changes inside containers.
  • Data-Driven Global Defaults - Defines default values for global arguments like privilege escalation in data, updatable at runtime.
  • Operation-Wide Global Arguments - Controls execution behavior of all operations with shared arguments like privilege escalation or serial execution.
  • Per-Host Dynamic Arguments - Evaluates operation arguments at runtime per host, enabling conditional or computed values based on host state.
  • Privilege Escalation Executors - Runs commands or file operations under an elevated user via sudo, su, doas, or dzdo.
  • User Account Management - Creates, modifies, and removes user accounts on target hosts with home directory and shell settings.
  • Conditional Execution Gating - Runs an operation only when a previous operation changed or succeeded, using conditions evaluated at runtime.
  • Conditional Retry Policies - Retries a failed operation up to a configurable number of times with optional delay and custom conditions.
  • Host-Specific Configuration - Sets per-host values for any operation argument, allowing host-specific configuration without duplicating the operation call.
  • Automatic Task Retries - Re-attempts a failed operation a configurable number of times with a delay between retries.
  • Group-Based Operation Targeting - Reads the list of groups a host belongs to, allowing operations to conditionally execute based on group membership.
  • Runtime Host Metadata Access - Reads the current host's name, groups, and facts to conditionally control which operations run on each target.
  • Global Execution Controls - Applies global arguments like privilege escalation or serial execution to all operations and facts.
  • Custom Fact Collectors - Writes new fact collectors to retrieve system data not provided by the built-in facts.
  • DevOps Tools - Listed in the “DevOps Tools” section of the Awesome Python awesome list.
  • Infrastructure and Automation - Automation via remote shell command execution.
  • Infrastructure and Cloud - CLI and library for infrastructure automation.
  • سجل النجوم

    مخطط تاريخ النجوم لـ pyinfra-dev/pyinfraمخطط تاريخ النجوم لـ pyinfra-dev/pyinfra

    الأسئلة الشائعة

    ما هي وظيفة pyinfra-dev/pyinfra؟

    pyinfra is a Python-based infrastructure automation framework that turns Python code into shell commands for managing servers, Docker containers, and local machines. It operates as a declarative, idempotent deployment tool, applying desired system states by comparing target configurations against current states and making only the necessary changes. The framework provides a connector-based transport abstraction that unifies SSH, Docker, and local execution behind a common…

    ما هي الميزات الرئيسية لـ pyinfra-dev/pyinfra؟

    الميزات الرئيسية لـ pyinfra-dev/pyinfra هي: Multi-Environment Connectors, Infrastructure Automation Frameworks, Target State Declarations, Multi-Host Parallel Executions, Multi-Transport Connectors, Shell Command Execution, Python-to-Shell Compilations, Automation Inventory Management.

    ما هي البدائل مفتوحة المصدر لـ pyinfra-dev/pyinfra؟

    تشمل البدائل مفتوحة المصدر لـ pyinfra-dev/pyinfra: fizzadar/pyinfra — pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell… j3ssie/osmedeus — Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools… superradcompany/microsandbox — Microsandbox is a runtime for creating and managing lightweight, hardware-isolated virtual machines — called sandboxes… appleboy/ssh-action — This is a GitHub Action that executes shell commands on remote servers over SSH as part of a CI/CD pipeline. It… rstacruz/cheatsheets — This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides… purpleidea/mgmt — Mgmt is a distributed configuration management system that maintains the desired state of clusters using event-driven…

    بدائل مفتوحة المصدر لـ Pyinfra

    مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Pyinfra.
    • fizzadar/pyinfraالصورة الرمزية لـ Fizzadar

      Fizzadar/pyinfra

      5,793عرض على GitHub↗

      pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across

      Python
      عرض على GitHub↗5,793
    • j3ssie/osmedeusالصورة الرمزية لـ j3ssie

      j3ssie/Osmedeus

      6,425عرض على GitHub↗

      Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp

      Go
      عرض على GitHub↗6,425
    • appleboy/ssh-actionالصورة الرمزية لـ appleboy

      appleboy/ssh-action

      6,113عرض على GitHub↗

      This is a GitHub Action that executes shell commands on remote servers over SSH as part of a CI/CD pipeline. It supports authentication using passwords, private keys, or private keys with passphrases, and can verify the SHA256 fingerprint of the remote host's public key before connecting to prevent man-in-the-middle attacks. The action can connect to multiple remote hosts in a single workflow step, optionally executing commands synchronously across all of them. It also supports routing SSH connections through an intermediate jump host to reach target servers in restricted networks. Environmen

      Shell
      عرض على GitHub↗6,113
    • superradcompany/microsandboxالصورة الرمزية لـ superradcompany

      superradcompany/microsandbox

      6,570عرض على GitHub↗

      Microsandbox is a runtime for creating and managing lightweight, hardware-isolated virtual machines — called sandboxes — that boot directly from standard OCI container images. Each sandbox runs as its own host process with a separate kernel, filesystem, and network stack, providing process-per-sandbox isolation. The project includes a command-line tool and multi-language SDKs (Rust, TypeScript, Python, Go) for programmatic lifecycle control, and it communicates with sandbox agents over Unix sockets using a CBOR-encoded protocol. What distinguishes Microsandbox is its combination of host-manag

      Rust
      عرض على GitHub↗6,570
    عرض جميع البدائل الـ 30 لـ Pyinfra→