Release history¶
2.4.1¶
2.4¶
Modernize pyproject.toml.
Drop dependency on
typing_extensions.Drop support for legacy versions of virtualenv that don’t build upon the standard library
venvmodule.Added
modulegraph2.FrozenPackage.Properly handle
xml.parser.expat.errorsandxml.parser.expat.model(both are simular toos.pathin their implementation).
2.3¶
Supports python 3.10 or later (drops support for 3.9 and adds support for 3.13 and 3.14)
Add modulegraph2.Modulegraph.add_dependencies_for_source` that will add the imports in a python code fragment to a graph as roots.
Add
modulegraph2.stdlib_module_namesand add--exclude-stdlibto the standard interface to exclude the stdlib from the graph.The graph builder now knows about mypyc and scan for dependencies for mypyc compiled extension modules, assuming the source for the python module is shipped in the distribution.
Fix missing edges in the graph when a package
__init__usesfrom . import sub_module.Fix incompatibility with Python 3.11 when implict namespace packages are used.
Add
ModuleGraph.import_packagewhich will add all submodules of a package to the graph, without adding the package to the graph roots.This currently only supports packages found in the filesystem (excluding zipfiles).
Type annotation for the argument of
ModuleGraph.add_excludesis nowIterable[str]instead ofIterator[str].Added
extension_attributestoPyPIDistributionfor consistency with other nodes.
2.2.1¶
Fix incompatibility with recent setuptools versions
Fix incompatibility with Python 3.11
2.2¶
Enhance the support for setuptools vendored packages to also work with pkg_resources (which uses the same mechanism).
Fix graphbuilding problem when using “setuptools”, “pkg_resources” or “six”.
Fix test failures with recent python versions, failures were due to imperfect test hygiene.
Add a code attribute to
modulegraph2.Scriptandmodulegraph2.Module, containing the compiled bytecode for the module (or None)
2.1¶
#11:
ModuleGraph.add_scriptdid not work reliablyAdd support for the way setuptools locates vendored packages (
setuptools.extern.VendorImporter)
2.0¶
No functional changes
Migrated to GitHub
2.0a2¶
Fixed a number of issues:
Test suite now passes on Windows
Test suite now passes on Linux
Test suite now passes with Python 3.6
Implemented automated tested on Windows and Linux using AppVeyor. MacOS is manually tested for now as that’s my main development platform.
2.0a1¶
Initial pre-release. This version should be functionally complete, but hasn’t been used by other code yet.