跳转到主要内容

确保您的第一级依赖项正确无误

项目描述

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或命名空间包所做的假设。我认为这个项目更正确,也更独立。

未来工作

  • 读取项目元数据而不是要求
  • 确保元数据和要求匹配
  • 提供添加缺失依赖项的选项
  • 改进对版本依赖性依赖项在iftry/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 查看哈希值)

上传时间 Python 3

由以下提供支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页