跳转到主要内容

优秀的`nptk`是一个使用https://github.com/TezRomacH/python-package-template创建的Python cli/package

项目描述

nptk

Build status Python Version Dependencies Status

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

优秀的nptk是一个使用https://github.com/TezRomacH/python-package-template创建的Python cli/package

第一步

初始化您的代码

  1. 在您的repo内部初始化git
cd nptk && 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/nptk/nptk.git
git push -u origin main

设置机器人

Poetry

想了解更多关于Poetry的信息?请查看其文档

关于Poetry的详细信息

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

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

等等

构建和发布您的软件包

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

  • 提高您软件包的版本 poetry version <version>。您可以显式传递新版本,或规则如majorminorpatch。有关更多详细信息,请参阅语义版本标准。
  • GitHub进行提交。
  • 创建GitHub发布。
  • 然后...发布吧!poetry publish --build

🎯 下一步是什么

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

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

文章

🚀 功能

开发功能

  • 支持Python 3.9及更高版本。
  • Poetry作为依赖关系管理器。请参阅pyproject.tomlsetup.cfg中的配置。
  • 使用blackisortpyupgrade自动进行代码风格检查。
  • 带有代码格式化的pre-commit钩子。
  • 使用mypy进行类型检查;使用darglint进行文档字符串检查;使用safetybandit进行安全检查。
  • 使用pytest进行测试。
  • 准备好使用.editorconfig.dockerignore.gitignore。你不必担心这些事情。

部署功能

开源社区功能

安装

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

自动格式化使用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. 所有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。随着拉取请求的合并,草稿发布会保持最新,列出更改,当您准备好时可以发布。使用类别选项,您可以使用标签对发布说明中的拉取请求进行分类。

标签及其对应标题列表

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

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

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

🛡 许可证

License

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

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

项目详情


下载文件

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

源代码分发

nptk-0.1.5.tar.gz (17.4 kB 查看哈希值)

上传时间 源代码

构建分发

nptk-0.1.5-py3-none-any.whl (13.7 kB 查看哈希值)

上传时间 Python 3

支持