确保您的第一级依赖项正确无误
项目描述
checkdeps
不小心使用传递依赖项很容易。此项目允许您检查(给定一个工作venv),您导入的每一项实际上都来自相对导入、您显式的第一级依赖项或stdlib。
用法
# Run within a working venv
# For CI
$ python -m checkdeps checkdeps
# If you use non-relative imports for your own project's code, also add
$ python -m checkdeps checkdeps --allow-names checkdeps
# For humans, pass -v
$ python -m checkdeps -v checkdeps/cli.py
checkdeps/cli.py:
click available from ['click']
pathlib.Path stdlib
stdlibs.stdlib_module_names available from ['stdlibs']
sys stdlib
trailrunner available from ['trailrunner']
typing.Dict stdlib
typing.List stdlib
typing.Optional stdlib
typing.Set stdlib
如果存在问题,则退出非零状态。
但如果我不想从同一个venv运行它呢?
请确保指定到site-packages目录的--installed-path
并从相同的python版本运行。您的target_dir
的父目录应该是您的项目根目录(pyproject.toml
、.git
等),这是requirements
相对的。
但不是已经有项目这样做了吗?
我已经看过它们了,我不喜欢它们对顶级名称、stdlib或命名空间包所做的假设。我认为这个项目更正确,也更独立。
未来工作
- 读取项目元数据而不是要求
- 确保元数据和要求匹配
- 提供添加缺失依赖项的选项
- 改进对版本依赖性依赖项在
if
或try
/except
中的处理
许可证
checkdeps归Tim Hatch所有,并使用MIT许可证。我在此存储库中向您提供代码,这是开源许可证。这是我的个人存储库;您收到的代码许可证来自我,而不是来自我的雇主。有关详细信息,请参阅LICENSE
文件。
项目详情
下载文件
下载适用于您平台的应用文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
checkdeps-0.9.0.tar.gz (12.9 kB 查看哈希值)
构建分发
checkdeps-0.9.0-py3-none-any.whl (13.7 kB 查看哈希值)
关闭
checkdeps-0.9.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b4382c1dbada0f5b7aa458402af4fa0003d3cb54c7c83cd2661d441e0c416973 |
|
MD5 | 0f79c1694190e5f38c69e08a45e27857 |
|
BLAKE2b-256 | 04fe318ee5fb06a9cc5e5e0c6d7a30bd961efd23ea5ba7c1f2068c8911f6ced4 |
关闭
checkdeps-0.9.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 15cec29977a08bcc57d029307b4250b3f97f99aa45d932c8322b3cd0a4059c2f |
|
MD5 | c0eb8eafdb6746530280417d754f0e87 |
|
BLAKE2b-256 | 6394d80517af39ea2e7b079187f280dae12dbc8a6252a0860f7d0adbfb49b127 |