3 分•作者: Winipedia•大约 2 个月前
# 什么是 pyrig? pyrig 是一个用于“搭建”你的项目的包和工具。它只需一个命令即可脚手架化、初始化一个完整、配置齐全、已安装并可运行的 Python 项目,并通过自动化配置管理、CLI 生成、测试基础设施等来使开发和维护过程更加无缝和高效。 # 要求 * Python 3.12+ * Git * uv # 快速入门 ```bash uv init my-project --python 3.12 cd my-project uv add pyrig --dev uv run pyrig init ``` 请参阅 [入门指南](https://Winipedia.github.io/pyrig/getting-started) 以获取详细的设置说明,以便从一开始就与 GitHub 和 CI/CD 完全集成。 # 特性 # [项目脚手架与初始化](https://Winipedia.github.io/pyrig/scaffolding) `pyrig init` 命令在一个命令中生成一个开箱即用的完整项目。这包括现代 Python 项目所需的一切: * 标准化的目录结构 * 配置齐全的开发工具(linters、formatters、type checkers、test frameworks、git hooks 等) * 带有 GitHub Actions 和集成仓库保护的端到端 CI/CD 流水线 * 完整且可用的 CLI * 以及更多... # [文件与配置管理](https://Winipedia.github.io/pyrig/config-files) 每个生成的文件的背后都有一个 Python 类,该类会自动验证和合并。通过继承来覆盖任何配置,或定义全新的配置文件——pyrig 会为您发现并管理它们。运行 `pyrig sync` 来一次性创建或更新所有配置文件。运行 `pyrig mk subcls` 来生成一个用于覆盖特定文件的子类。 # [自动 CLI](https://Winipedia.github.io/pyrig/cli) `pyrig init` 设置了一个立即可用的项目 CLI。通过运行 `pyrig mk cmd <name>` 来生成和添加新命令。包含一个自动版本命令,用于显示项目的版本。运行 `my-project version` 即可看到它的实际效果。 # [镜像测试生成与维护](https://Winipedia.github.io/pyrig/mirror-tests) 通过 `pyrig sync` 生成测试骨架。这将为所有源模块生成测试骨架,并随着项目的演进自动更新它们。 # [多包继承与可扩展架构](https://Winipedia.github.io/pyrig/architecture) 覆盖和定制任何和所有行为以满足您项目的需求。pyrig 的类设计用于继承和组合,允许您通过继承和简单地覆盖方法来创建自定义配置、工具等。pyrig 会自动发现并使用您的自定义类,无需任何额外配置。运行 `pyrig mk subcls` 来为任何 pyrig 类生成一个子类。 # [CI/CD 与仓库保护](https://Winipedia.github.io/pyrig/ci-cd) Pyrig 生成用于 CI/CD 的 GitHub Actions 工作流,可自动测试和发布您的代码。它们还配置和应用仓库保护设置和保护规则集。初始化后将您的代码推送到 GitHub 即可看到效果。 # 命令 运行 `pyrig --help` 查看所有可用命令及其用法的列表。运行 `pyrig <command> --help` 获取有关特定命令及其用法的更多信息。运行 `my-project --help` 查看项目自动生成的 CLI。 # 文档 | [完整文档](https://Winipedia.github.io/pyrig) | 手写文档 | |:-|:-| | [CodeWiki](https://codewiki.google.com/github.com/winipedia/pyrig) | AI 生成的文档 | | [教程](https://www.youtube.com/@Winipedia-py/playlists) | pyrig 的 YouTube 教程 |
3 分•作者: leog_me•大约 2 个月前
你好,HN! 我同时运行了几个 Claude Code 会话,一直在 cmd-tab 切换查找,结果发现其中一个已经卡在权限提示框里十分钟了。我之前很喜欢一个硬件小工具(叫做 SidePulse.io),所以在等我的货发过来之前,我决定自己动手做一个软件版本 :D 希望你们喜欢它,并且觉得它像我一样有用!