返回首页
最新
# 什么是 pyrig?<p>pyrig 是一个工具包,可以为您的项目“搭建框架”。它通过一条命令搭建并初始化一个完整、配置完毕、已安装且可工作的 Python 项目,并通过自动化配置管理、命令行界面生成、测试基础设施等流程,使开发和维护过程更加顺畅高效。<p># 系统要求<p>* Python 3.12+
* Git
* uv<p># 快速开始<p><pre><code> uv init my-project --python 3.12
cd my-project
uv add pyrig --dev
uv run pyrig init
</code></pre>
请参阅 [入门指南](<a href="https://Winipedia.github.io/pyrig/getting-started" rel="nofollow">https://Winipedia.github.io/pyrig/getting-started</a>),获取详细的设置说明,以便从一开始就与 GitHub 和 CI/CD 完全集成。<p># 功能<p># [项目搭建与初始化](<a href="https://Winipedia.github.io/pyrig/scaffolding" rel="nofollow">https://Winipedia.github.io/pyrig/scaffolding</a>)<p>`pyrig init` 一条命令即可生成一个开箱即用的完整项目。这包括现代 Python 项目所需的所有内容:<p>* 标准化的目录结构
* 完全配置的开发工具(代码检查工具、格式化工具、类型检查器、测试框架、Git 钩子等)
* 包含 GitHub Actions 的端到端 CI/CD 流水线和集成的代码库保护
* 完整且可工作的命令行界面
* 还有更多...<p># [文件与配置管理](<a href="https://Winipedia.github.io/pyrig/config-files" rel="nofollow">https://Winipedia.github.io/pyrig/config-files</a>)<p>每个生成的文件都有一个 Python 类作为支持,能够自动验证和合并。通过子类化可以覆盖任何配置,或者定义全新的配置文件——pyrig 会为您发现并管理它们。运行 `pyrig sync` 可以一次性创建或更新所有配置文件。运行 `pyrig mk subcls` 可以为覆盖特定文件生成一个子类。<p># [自动命令行界面](<a href="https://Winipedia.github.io/pyrig/cli" rel="nofollow">https://Winipedia.github.io/pyrig/cli</a>)<p>`pyrig init` 为您的项目设置一个立即可用的命令行界面。通过运行 `pyrig mk cmd <name>` 生成并添加新命令。包括一个自动版本命令,可以显示您项目的版本。运行 `my-project version` 来查看其效果。<p># [镜像测试生成与维护](<a href="https://Winipedia.github.io/pyrig/mirror-tests" rel="nofollow">https://Winipedia.github.io/pyrig/mirror-tests</a>)<p>使用 `pyrig sync` 生成测试骨架。这将为所有源模块生成测试骨架,并在您的项目发展过程中自动更新它们。<p># [多包继承与扩展架构](<a href="https://Winipedia.github.io/pyrig/architecture" rel="nofollow">https://Winipedia.github.io/pyrig/architecture</a>)<p>覆盖和自定义任何行为以满足您项目的需求。pyrig 的类设计用于继承和组合,允许您通过子类化和简单覆盖方法来创建自定义配置、工具等。pyrig 会自动发现并使用您的自定义类,无需额外配置。运行 `pyrig mk subcls` 为任何 pyrig 类生成一个子类。<p># [CI/CD 与代码库保护](<a href="https://Winipedia.github.io/pyrig/ci-cd" rel="nofollow">https://Winipedia.github.io/pyrig/ci-cd</a>)<p>Pyrig 生成 GitHub Actions 工作流以实现 CI/CD,自动测试和发布您的代码。它们还配置并应用代码库保护设置和保护规则。初始化后将代码推送到 GitHub,查看其效果。<p># 命令<p>运行 `pyrig --help` 查看所有可用命令及其用法。运行 `pyrig <command> --help` 获取有关特定命令及其用法的更多信息。运行 `my-project --help` 查看为您的项目自动生成的命令行界面。<p># 文档<p>|[*完整文档*](<a href="https://Winipedia.github.io/pyrig" rel="nofollow">https://Winipedia.github.io/pyrig</a>)|手动编写的文档|
|:-|:-|
|[*代码维基*](<a href="https://codewiki.google/github.com/winipedia/pyrig" rel="nofollow">https://codewiki.google/github.com/winipedia/pyrig</a>)|AI 生成的文档|
|[*教程*](<a href="https://www.youtube.com/@Winipedia-py/playlists" rel="nofollow">https://www.youtube.com/@Winipedia-py/playlists</a>)|pyrig 的 YouTube 教程|
嗨,HN!<p>我同时运行了几个Claude Code会话,不停地切换窗口,结果发现其中一个会话在权限提示上停留了十分钟。我喜欢一个硬件小工具(叫做SidePulse.io),所以在等待我的货物到达之前,我先自己做了一个软件版本 :D<p>希望你们会喜欢,并觉得它和我一样有用!