优秀的`data_manifestor`是一个使用https://github.com/TezRomacH/python-package-template创建的Python cli/package。
项目描述
data_manifestor
API
运行本地比较。
from data_manifestor import compare_manifest_to_local
# By default if no template_dict is supplied, it will be inferred based on meta information serialized in the local path
result = compare_manifest_to_local(
"some/path/to/local/experiment/directory",
)
要更改声明者模板可以推断的内容,您需要更新与要影响的project
关联的模板。
from data_manifestor import Template, update_project_data_manifestor_template
template = Template(
name="some sort of name for this template",
path_patterns=[
"parent/dir/of/path/you/want/to/check/exists",
]
)
update_project_data_manifestor_template(
"pretest",
template,
)
文档
有关使用此包的更多详细文档,请参阅文档。
安装
pip install -U data_manifestor
或者使用Poetry
安装
poetry add data_manifestor
然后您可以运行
data_manifestor --help
或者使用Poetry
poetry run data_manifestor --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
当然有命令可以运行所有代码检查器
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的更多信息,请访问GitHub Releases页面。
9. 清理
删除pycache文件
make pycache-remove
删除包构建文件
make build-remove
删除.DS_STORE文件
make dsstore-remove
删除.mypycache
make mypycache-remove
或者要删除上述所有内容,请运行
make cleanup
📈 发布
您可以在GitHub Releases页面上查看可用发布的列表。
我们遵循语义版本规范。
我们使用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许可证许可。有关详细信息,请参阅许可证。
其他信息
初始化新仓库
初始化您的代码
- 在您的仓库内初始化
git
cd data_manifestor && 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/data_manifestor/data_manifestor.git
git push -u origin main
设置机器人
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 模板。Github Actions
预定义的 构建工作流程 作为默认的 CI/CD。- 使用
Makefile
已经为安全检查、代码风格检查、代码格式化、测试、linting、Docker 构建等一切设置完毕。更多详情请参阅 makefile-usage。 - 您的软件包的 Dockerfile。
- 使用
@dependabot
保持依赖项始终是最新的。您只需 启用它。 - 使用
Release Drafter
自动创建新版本发布草稿。您可以在release-drafter.yml
中看到标签列表。与 语义版本 规范完美配合。
开源社区特性
- 准备就绪的 Pull Requests 模板 和几个 Issue 模板。
- 自动生成诸如
LICENSE
、CONTRIBUTING.md
、CODE_OF_CONDUCT.md
和SECURITY.md
等文件。 Stale bot
在一段时间的不活动后关闭弃用的议题。 (您只需 设置免费计划)。配置在此处 。- 使用
Release Drafter
的 语义版本 规范。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
data_manifestor-0.5.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | da9f6addbe292663d836d90c90af367233f5b2d7b085574d83697b8dd62993ee |
|
MD5 | ffcc0c6aaa3693c7dbe8947a5a4b8c40 |
|
BLAKE2b-256 | 2530e72a92db897aa72456ee3982283c802c96669fe8aa332aa7f95bdb867094 |
data_manifestor-0.5.6-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | edd4df71b5596297ae4c84ede99d06751820d0ad9b8565b6f1e6f07025e2f29b |
|
MD5 | 81e086721e47f232ec34e64a7b78bdce |
|
BLAKE2b-256 | d897ecaa0de933acad56615a52aa794fb4b34f1f0e92d5e5ec123a9a470bc606 |