跳转到主要内容

Python模块导入分析工具

项目描述

FindImports

FindImports通过解析源文件提取Python模块依赖关系。它可以报告导入但未使用的名称,并可以生成ASCII或graphviz格式的模块导入图。

findimports的一个独特功能是它可以解析docstrings中的doctest代码。

请注意,并非所有情况都处理正确,特别是如果您使用‘import foo.bar.baz’。

如果您需要查找代码库中的未使用导入,我建议使用Pyflakes代替——它维护得更好,更可靠。对于导入图,请考虑使用pydeps

其他

主页: https://github.com/mgedmin/findimports

许可证: MIT (https://mit-license.org/)

buildstatus appveyor coverage

变更

2.5.0 (2024-05-30)

2.4.0 (2024-02-01)

  • 添加对Python 3.12的支持。

  • 将许可证从GPL更改为MIT。请参阅问题27

  • 添加--package-externals/-pE以简化模块图。

  • --rmprefix PREFIX/-R PREFIX 添加到从显示名称中移除包前缀。

  • 添加 --depth N/-D N 以忽略语法树中嵌套过深的导入语句(例如在函数或if语句中)。

2.3.0 (2022-10-27)

  • 重写了命令行解析以使用 argparse。现在选择操作的选项(--imports/--dot/--names/--unused)现在相互冲突,而不是除了最后一个之外都被忽略。见 pull request #20

  • 添加对 Python 3.11 的支持。

  • 停止支持 Python 3.6。

2.2.0 (2021-12-16)

  • 添加对 Python 3.10 的支持。

  • 添加 --ignore-stdlib 标志以忽略 Python 标准库中的模块。

2.1.0 (2021-05-16)

  • 添加 --ignore 标志以忽略文件和目录,可以多次使用。见 pull request #14

2.0.0 (2021-05-09)

  • 添加对 Python 3.9 的支持。

  • 停止支持 Python 3.5 和 2.7。

  • 修复了一个问题,Python 文件的编码不是以与 Python 本身相同的方式确定的。见 issue 15。这需要使用 tokenize.open,它不在 Python 2.7 中。

1.5.2 (2019-10-31)

  • 添加对 Python 3.8 的支持。

  • 修复了一个问题,即具有可能成为另一个包/模块前缀的名称的包/模块可能会意外地被用于其他包/模块(例如,py 而不是 pylab)。见 issue 10

1.5.1 (2019-04-23)

  • 停止支持 Python 3.4。

1.5.0 (2019-03-18)

  • 支持 Python 3.6 和 3.7。

  • 停止支持 Python 2.6 和 3.3。

  • 如果问题所在的行有注释,则抑制重复导入警告。

1.4.1 (2016-09-28)

  • getopt 替换为 optparse。这会改变 --help 消息(副作用 #4)。

1.4.0 (2015-06-04)

  • Python 3 支持(3.3 及以上版本)。

  • 使用 ast 而不是 compiler#1)。

1.3.2 (2015-04-13)

  • 修复了在 Ubuntu 14.04 LTS 上“找不到 datetime”的问题(#3)。

  • 100% 测试覆盖率。

1.3.1 (2014-04-16)

  • 添加了对相对导入(例如,from .. import foo)的支持。

1.3.0 (2013-04-10)

  • 迁移到 Github。

  • 停止支持 Python 2.4 和 2.5。

  • 使用 doctests 处理 Unicode 文档字符串。

1.2.14 (2012-02-12)

1.2.13 (2011-04-18)

  • 抑制关于 sys.path 中列出的 *.egg-info 文件的“不是 zip 文件”警告。

1.2.12 (2011-04-08)

  • 处理 sys.path 中存在非 zip 文件的 zipfile 错误。

1.2.11 (2011-03-30)

  • 修复了 Python 2.6 及以上版本上的“找不到 cPickle”错误。

1.2.10 (2010-02-05)

  • 忽略 from __future__ import …

1.2.9 (2009-07-07)

  • 通过添加 MANIFEST.in 修复了损坏且无法卸载的源发行版。

1.2.8 (2009-07-07)

  • 能够找到 zip 文件(例如 eggs)内的模块。

  • 修复了 Python 2.6 上的弃用警告。

项目详情


下载文件

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

源分发

findimports-2.5.0.tar.gz (28.8 kB 查看散列值)

上传时间

构建分发

findimports-2.5.0-py2.py3-none-any.whl (16.1 kB 查看散列值)

上传时间 Python 2 Python 3

由以下机构支持