跳转到主要内容

检查当前Python环境中是否安装了文件中所有要求

项目描述

check_reqs

Build status Python Version Dependencies Status

Code style: black Security: bandit Pre-commit Semantic Versions License Coverage Report

检查当前Python环境中是否安装了文件中所有要求

第一步

初始化你的代码

  1. 在repo中初始化 git
cd check_reqs && git init
  1. 如果没有安装 Poetry,运行
make poetry-download
  1. 初始化poetry并安装 pre-commit 钩子
make install
make pre-commit-install
  1. 运行代码风格检查
make codestyle
  1. 将初始代码上传到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详情

Poetry的 命令 非常直观且易于学习,例如

  • poetry add numpy@latest
  • poetry run pytest
  • poetry publish --build

构建和发布你的包

构建应用程序的新版本包含以下步骤

  • 将您的包版本提升至 poetry version <version>。您可以显式传递新版本,或者使用如 majorminorpatch 这样的规则。更多详情,请参阅语义版本标准。
  • GitHub 上提交一个合并请求。
  • 创建一个 GitHub release
  • 然后...发布 😊 poetry publish --build

🎯 下一步是什么

这取决于您 💪🏻。我只能推荐帮助过我的包和文章。

  • Typer 是创建 CLI 应用程序的好工具。
  • Rich 使得在终端中添加美观的格式化变得简单。
  • Pydantic – 使用 Python 类型提示进行数据验证和设置管理。
  • Loguru 使得日志记录(愚蠢地)变得简单。
  • tqdm – Python 和 CLI 的快速、可扩展的进度条。
  • IceCream 是一个用于甜美而顺滑的调试的小型库。
  • orjson – 超快 JSON 解析库。
  • Returns 使您函数的输出有意义、类型化且安全!
  • Hydra 是一个用于优雅配置复杂应用的框架。
  • FastAPI 是一个类型驱动的异步 Web 框架。

文章

🚀 特性

开发特性

部署特性

  • 集成 GitHub:问题报告和 pull request 模板。
  • 使用预定义的 构建工作流程 作为默认的 CI/CD,使用 Github Actions
  • 使用 Makefile,一切已为您设置好,包括安全检查、代码风格检查、代码格式化、测试、linting、Docker 构建等。更多详情请参阅 makefile-usage
  • 为您的包提供 Dockerfile
  • 使用 @dependabot 确保所有依赖项始终是最新的。您只需 启用它 即可。
  • 使用 Release Drafter 自动创建新版本的草稿。您可以在 release-drafter.yml 中查看标签列表。与 语义化版本 规范完美兼容。

开源社区特性

安装

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. 代码风格

自动格式化使用 pyupgradeisortblack

make codestyle

# or use synonym
make formatting

仅进行代码风格检查,不重写文件

make check-codestyle

注意:check-codestyle 使用 isortblackdarglint

使用一条命令更新所有开发库到最新版本

make update-dev-deps
4. 代码安全

make check-safety

此命令将启动 Poetry 完整性检查,并使用 SafetyBandit 识别安全漏洞。

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。随着拉取请求的合并,草稿发布将保持最新,列出更改,您准备好发布时即可发布。使用分类选项,您可以使用标签将拉取请求分类到发布说明中。

标签及其对应标题列表

标签 发布中的标题
enhancementfeature 🚀 特性
bugrefactoringbugfixfix 🔧 修复和重构
buildcitesting 📦 构建系统和 CI/CD
breaking 💥 破坏性更改
documentation 📝 文档
dependencies ⬆️ 依赖更新

您可以在 release-drafter.yml 中更新它。

GitHub 为您创建了 bugenhancementdocumentation 标签。Dependabot 创建 dependencies 标签。当您需要时,在 GitHub 仓库的“问题”选项卡上创建剩余的标签。

🛡 许可证

License

本项目根据 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 包需要一个前沿的项目结构。

本项目使用 python-package-template 生成。

项目详情


下载文件

下载适合您平台的应用文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

check_reqs-1.0.0.tar.gz (11.0 kB 查看哈希值)

上传时间 源代码

构建分发

check_reqs-1.0.0-py3-none-any.whl (8.8 kB 查看哈希值)

上传时间 Python 3

由以下组织支持