优秀的`nptk`是一个使用https://github.com/TezRomacH/python-package-template创建的Python cli/package
项目描述
nptk
第一步
初始化您的代码
- 在您的repo内部初始化
git
cd nptk && 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/nptk/nptk.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>
。您可以显式传递新版本,或规则如major
、minor
或patch
。有关更多详细信息,请参阅语义版本标准。 - 对
GitHub
进行提交。 - 创建
GitHub
发布。 - 然后...发布吧!
poetry publish --build
🎯 下一步是什么
这取决于你 💪🏻。我只能推荐那些帮助过我的包和文章。
Typer
非常适合创建CLI应用程序。Rich
使得在终端中添加美观的格式变得容易。Pydantic
– 使用Python类型提示进行数据验证和设置管理。Loguru
使日志记录(愚蠢地)变得简单。tqdm
– Python和CLI的快速、可扩展的进度条。IceCream
是一个用于美味而丝滑的调试的小库。orjson
– 超快的JSON解析库。Returns
使你的函数输出变得有意义、类型化和安全!Hydra
是一个用于优雅配置复杂应用的框架。FastAPI
是一个类型驱动的异步Web框架。
文章
- 开源指南.
- 开源财务支持实用指南
- GitHub Actions 文档.
- 也许你想要将 gitmoji 添加到提交名称中。这真的很有趣。 😄
🚀 功能
开发功能
- 支持Python 3.9及更高版本。
Poetry
作为依赖关系管理器。请参阅pyproject.toml
和setup.cfg
中的配置。- 使用
black
、isort
和pyupgrade
自动进行代码风格检查。 - 带有代码格式化的
pre-commit
钩子。 - 使用
mypy
进行类型检查;使用darglint
进行文档字符串检查;使用safety
和bandit
进行安全检查。 - 使用
pytest
进行测试。 - 准备好使用
.editorconfig
、.dockerignore
和.gitignore
。你不必担心这些事情。
部署功能
- GitHub集成:问题和pr模板。
- 默认CI/CD为预定义的构建工作流程的GitHub Actions。
- 使用
Makefile
已经为您设置好了安全检查、代码风格检查、代码格式化、测试、linting、docker构建等(见makefile-usage)。更多详情请参阅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 nptk
或使用Poetry
安装
poetry add nptk
然后您可以运行
nptk --help
或使用Poetry
poetry run nptk --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. 所有linters
当然有一个命令可以一次性运行所有linters
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{nptk,
author = {nptk},
title = {Awesome `nptk` is a Python cli/package created with https://github.com/TezRomacH/python-package-template},
year = {2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/nptk/nptk}}
}
版权信息 
本项目使用 python-package-template
生成
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
nptk-0.1.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 39bf7c7da783c792f6113c4de89db19864cc9638d5a1e4db0f86f661afd1a999 |
|
MD5 | f806c91ee552423392721153c3748728 |
|
BLAKE2b-256 | 33111c54f16bdbfa2f02ba767f29122ed22c18ecc9a3d2bd5d249ca94c4f1dc6 |
nptk-0.1.5-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 267e0ea4cd8b5a94cfd0c6549fba5a0a18648f6c0faed724ef3ce725f534ac14 |
|
MD5 | 2e1ce7884496566aaaa91ba25a34b378 |
|
BLAKE2b-256 | 9dd44a6c33190cbf366d3d4fde3146a5267c8b45c1220c91c4200234c75e5176 |