百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

pyinfra

> 数据库
开源

pyinfra 将 Python 代码转换为 shell 命令,并在您的服务器上执行这些命令。执行临时命令并编写声明性操作。目标 SSH 服务器,lo

5.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

pyinfra 将 Python 代码转换为 shell 命令,并在您的服务器上执行这些命令。执行临时命令并编写声明性操作。目标 SSH 服务器,lo

pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands. Think ansible but Python instead of YAML, and a lot faster.

---

Getting Started • Examples Repo • Chat on Matrix

Documentation • Help & Support • Contributing

--- Why pyinfra? Design features include: + **Super fast** execution over thousands of hosts with predictable performance. + **Instant debugging** with realtime stdin/stdout/stderr output (`-vvv`). + **Idempotent operations** that enable diffs and dry runs before making changes. + **Extendable** with the entire Python package ecosystem. + **Agentless execution** against anything with shell access. + **Integrated** with connectors for Docker, Terraform, Vagrant and more. ## Quickstart Install pyinfra with [`uv`](https://docs.astral.sh/uv/): ``` uv tool install pyinfra ``` Now you can execute commands on hosts via SSH: ```sh pyinfra my-server.net exec -- echo "hello world" ``` Or target Docker containers, the local machine, and other [connectors](https://docs.pyinfra.com/page/connectors.html): ```sh pyinfra @docker/ubuntu exec -- echo "Hello world" pyinfra @local exec -- echo "Hello world" ``` As well as executing commands you can define state using [operations](https://docs.pyinfra.com/page/operations.html): ```sh # Install iftop apt package if not present pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true ``` Which can then be saved as a Python file like `deploy.py`: ```py from pyinfra.operations import apt apt.packages( name="Ensure iftop is installed", packages=['iftop'], update=True, _sudo=True, ) ``` The hosts can also be saved in a file, for example `inventory.py`: ```py targets = ["@docker/ubuntu", "my-test-server.net"] ``` And executed together: ```sh pyinfra inventory.py deploy.py ``` Now you know the building blocks of pyinfra! By combining inventory, operations and Python code you can deploy anything. See the more detailed [getting started](https://docs.pyinfra.com/page/getting-started.html) or [using operations](https://docs.pyinfra.com/page/using-operations.html) guides. See how to use [inventory & data](https://docs.pyinfra.com/page/inventory-data.html), [global arguments](https://docs.pyinfra.com/page/arguments.html) and [the CLI](https://docs.pyinfra.com/page/cli.html) or check out the [documented examples](https://docs.pyinfra.com/page/examples.html). ---

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Pythoncloud-managementconfiguration-managementhigh-performanceinfrastructure

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类数据库
定价开源

> 相关工具

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库