检查当前Python环境中是否安装了文件中所有要求
项目描述
check_reqs
第一步
初始化你的代码
- 在repo中初始化 git
cd check_reqs && git init
- 如果没有安装 Poetry,运行
make poetry-download
- 初始化poetry并安装 pre-commit钩子
make install
make pre-commit-install
- 运行代码风格检查
make codestyle
- 将初始代码上传到GitHub
git add .
git commit -m ":tada: Initial commit"
git branch -M main
git remote add origin https://github.com/renefritze/check_reqs.git
git push -u origin main
设置机器人
- 设置 Dependabot 以确保你有最新的依赖项。
- 设置 Stale bot 以自动关闭问题。
Poetry
想了解更多关于Poetry的信息?查看 其文档。
构建和发布你的包
构建应用程序的新版本包含以下步骤
- 将您的包版本提升至 poetry version <version>。您可以显式传递新版本,或者使用如major、minor或patch这样的规则。更多详情,请参阅语义版本标准。
- 在 GitHub上提交一个合并请求。
- 创建一个 GitHub release。
- 然后...发布 😊 poetry publish --build
🎯 下一步是什么
这取决于您 💪🏻。我只能推荐帮助过我的包和文章。
- Typer是创建 CLI 应用程序的好工具。
- Rich使得在终端中添加美观的格式化变得简单。
- Pydantic– 使用 Python 类型提示进行数据验证和设置管理。
- Loguru使得日志记录(愚蠢地)变得简单。
- tqdm– Python 和 CLI 的快速、可扩展的进度条。
- IceCream是一个用于甜美而顺滑的调试的小型库。
- orjson– 超快 JSON 解析库。
- Returns使您函数的输出有意义、类型化且安全!
- Hydra是一个用于优雅配置复杂应用的框架。
- FastAPI是一个类型驱动的异步 Web 框架。
文章
- 开源指南.
- 开源财务支持实用指南
- GitHub Actions 文档.
- 您可能想将 gitmoji 添加到提交名称中。这非常有趣。 😄
🚀 特性
开发特性
- 支持 Python 3.7 及以上版本。
- Poetry作为依赖项管理器。请参阅- pyproject.toml和- setup.cfg中的配置。
- 使用 black、isort和pyupgrade进行自动代码风格。
- 提供带有代码格式化的 pre-commit钩子。
- 使用 mypy进行类型检查;使用darglint进行文档字符串检查;使用safety和bandit进行安全检查。
- 使用 pytest进行测试。
- 提供现成的 .editorconfig、.dockerignore和.gitignore。您无需担心这些事情。
部署特性
- 集成 GitHub:问题报告和 pull request 模板。
- 使用预定义的 构建工作流程 作为默认的 CI/CD,使用 Github Actions。
- 使用 Makefile,一切已为您设置好,包括安全检查、代码风格检查、代码格式化、测试、linting、Docker 构建等。更多详情请参阅 makefile-usage。
- 为您的包提供 Dockerfile。
- 使用 @dependabot确保所有依赖项始终是最新的。您只需 启用它 即可。
- 使用 Release Drafter自动创建新版本的草稿。您可以在release-drafter.yml中查看标签列表。与 语义化版本 规范完美兼容。
开源社区特性
- 可直接使用的 拉取请求模板 和多个 问题模板。
- 自动生成如 LICENSE、CONTRIBUTING.md、CODE_OF_CONDUCT.md和SECURITY.md等文件。
- Stale bot,在一段时间无活跃后关闭废弃的问题。 (您只需要 设置免费计划 即可)。配置在此处 。
- 与 Release Drafter的 语义化版本 规范。
安装
pip install -U check_reqs
或使用 Poetry 安装
poetry add check_reqs
然后您可以运行
check_reqs --help
或使用 Poetry
poetry run check_reqs --help
Makefile 使用方法
Makefile 包含许多用于快速开发的函数。
1. 下载并移除 Poetry
要下载并安装 Poetry,请运行
make poetry-download
要卸载
make poetry-remove
2. 安装所有依赖和 pre-commit 钩子
安装需求
make install
在 git init 之后可以通过以下方式安装 pre-commit 钩子
make pre-commit-install
3. 代码风格
自动格式化使用 pyupgrade、isort 和 black。
make codestyle
# or use synonym
make formatting
仅进行代码风格检查,不重写文件
make check-codestyle
注意:
check-codestyle使用isort、black和darglint库
使用一条命令更新所有开发库到最新版本
make update-dev-deps
4. 代码安全
make check-safety
此命令将启动 Poetry 完整性检查,并使用 Safety 和 Bandit 识别安全漏洞。
make check-safety
5. 类型检查
运行 mypy 静态类型检查器
make mypy
6. 带覆盖率徽章的测试
运行 pytest
make test
7. 所有代码检查器
当然,有一个命令可以 同时 运行所有代码检查器
make lint
与以下相同
make test && make check-codestyle && make mypy && make check-safety
8. Docker
make docker-build
这相当于
make docker-build VERSION=latest
使用以下命令删除 Docker 镜像
make docker-remove
有关 Docker 的更多信息,请参阅 此处。
9. 清理
删除 pycache 文件
make pycache-remove
移除包构建
make build-remove
删除 .DS_Store 文件
make dsstore-remove
删除 .mypycache
make mypycache-remove
或者要删除上述所有内容,请运行
make cleanup
📈 发布
您可以在 GitHub 发布页面 上查看可用发布的列表。
我们遵循 语义化版本 规范。
我们使用 Release Drafter。随着拉取请求的合并,草稿发布将保持最新,列出更改,您准备好发布时即可发布。使用分类选项,您可以使用标签将拉取请求分类到发布说明中。
标签及其对应标题列表
| 标签 | 发布中的标题 | 
|---|---|
| enhancement、feature | 🚀 特性 | 
| bug、refactoring、bugfix、fix | 🔧 修复和重构 | 
| build、ci、testing | 📦 构建系统和 CI/CD | 
| breaking | 💥 破坏性更改 | 
| documentation | 📝 文档 | 
| dependencies | ⬆️ 依赖更新 | 
您可以在 release-drafter.yml 中更新它。
GitHub 为您创建了 bug、enhancement 和 documentation 标签。Dependabot 创建 dependencies 标签。当您需要时,在 GitHub 仓库的“问题”选项卡上创建剩余的标签。
🛡 许可证
本项目根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE。
📃 引用
@misc{check_reqs,
  author = {renefritze},
  title = {Checks if all requirements from a file are installed in the current Python env},
  year = {2021},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/renefritze/check_reqs}}
}
感谢 
本项目使用 python-package-template 生成。
项目详情
下载文件
下载适合您平台的应用文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
check_reqs-1.0.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | fa41b2f3215d1449de6b040db607fb931f15f41cf8d3c29c40cd714c3318a3e7 | |
| MD5 | 38cc50683632efa3c2646e6d3145f00b | |
| BLAKE2b-256 | 4883e8f64695e90a0cebdaa94f3033f0ffaf66b61f7fa87a3fa1aa20a6434011 | 
check_reqs-1.0.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | af6a38185ba7994956cd90619c07dd74256067f3db030a6c97a9c3ee00e644fa | |
| MD5 | bae76db889130808530480e92898b7f5 | |
| BLAKE2b-256 | e7786c4ae05e1a818a7d7136c0acaa440125df06ee90a1c46fe64a2a35a8836b |