| Metadata-Version: 1.1 |
| Name: modulegraph |
| Version: 0.12.1 |
| Summary: Python module dependency analysis tool |
| Home-page: http://bitbucket.org/ronaldoussoren/modulegraph |
| Author: Ronald Oussoren |
| Author-email: ronaldoussoren@mac.com |
| License: MIT |
| Download-URL: http://pypi.python.org/pypi/modulegraph |
| Description: modulegraph determines a dependency graph between Python modules primarily |
| by bytecode analysis for import statements. |
| |
| modulegraph uses similar methods to modulefinder from the standard library, |
| but uses a more flexible internal representation, has more extensive |
| knowledge of special cases, and is extensible. |
| |
| |
| Release history |
| =============== |
| |
| 0.12.1 |
| ------ |
| |
| * Issue #25: Complex python files could cause an "maximum recursion depth exceeded" |
| exception due to using stack-based recursion to walk the module AST. |
| |
| |
| 0.12 |
| ---- |
| |
| * Added 'modulegraph.modulegraph.InvalidSourceModule'. This graph node is |
| used for Python source modules that cannot be compiled (for example because |
| they contain syntax errors). |
| |
| This is primarily useful for being able to create a graph for packages |
| that have python 2.x or python 3.x compatibility in separate modules that |
| contain code that isn't valid in the "other" python version. |
| |
| * Added 'modulegraph.modulegraph.InvalidCompiledModule'. This graph node |
| is used for Python bytecode modules that cannot be loaded. |
| |
| * Added 'modulegraph.modulegraph.NamespacePackage'. |
| |
| Patch by bitbucket user htgoebel. |
| |
| * No longer add a MissingModule node to the graph for 'collections.defaultdict' |
| when using 'from collections import defaultdict' ('collections.defaultdict' |
| is an attribute of 'collections', not a submodule). |
| |
| * Fixed typo in ModuleGraph.getReferences() |
| |
| * Added ModuleGraph.getReferers(tonode). This methods yields the |
| nodes that are referencing *tonode* (the reverse of getReferences) |
| |
| * The graph will no longer contain MissingModule nodes when using 'from ... import name' to |
| import a global variable in a python module. |
| |
| There will still be MissingModule nodes for global variables in C extentions, and |
| for 'from missing import name' when 'missing' is itself a MissingModule. |
| |
| * Issue #18: Don't assume that a PEP 302 loader object has a ``path`` attribute. That |
| attribute is not documented and is not always present. |
| |
| 0.11.2 |
| ------ |
| |
| * |
| |
| 0.11.1 |
| ------ |
| |
| * Issue #145: Don't exclude the platform specific 'path' modules (like ntpath) |
| |
| 0.11 |
| ---- |
| |
| This is a feature release |
| |
| Features |
| ........ |
| |
| * Hardcode knowlegde about the compatibility aliases in the email |
| module (for python 2.5 upto 3.0). |
| |
| This makes it possible to remove a heavy-handed recipe from py2app. |
| |
| * Added ``modegraph.zipio.getmode`` to fetch the Unix file mode |
| for a file. |
| |
| * Added some handy methods to ``modulegraph.modulegraph.ModuleGraph``. |
| |
| 0.10.5 |
| ------ |
| |
| This is a bugfix release |
| |
| * Don't look at the file extension to determine the file type |
| in modulegraph.find_modules.parse_mf_results, but use the |
| class of the item. |
| |
| * Issue #13: Improved handing of bad relative imports |
| ("from .foo import bar"), these tended to raise confusing errors and |
| are now handled like any other failed import. |
| |
| 0.10.4 |
| ------ |
| |
| This is a bugfix release |
| |
| * There were no 'classifiers' in the package metadata due to a bug |
| in setup.py. |
| |
| 0.10.3 |
| ------ |
| |
| This is a bugfix release |
| |
| Bugfixes |
| ........ |
| |
| * ``modulegraph.find.modules.parse_mf_results`` failed when the main script of |
| a py2app module didn't have a file name ending in '.py'. |
| |
| 0.10.2 |
| ------ |
| |
| This is a bugfix release |
| |
| Bugfixes |
| ........ |
| |
| * Issue #12: modulegraph would sometimes find the wrong package *__init__* |
| module due to using the wrong search method. One easy way to reproduce the |
| problem was to have a toplevel module named *__init__*. |
| |
| Reported by Kentzo. |
| |
| 0.10.1 |
| ------ |
| |
| This is a bugfix release |
| |
| Bugfixes |
| ........ |
| |
| * Issue #11: creating xrefs and dotty graphs from modulegraphs (the --xref |
| and --graph options of py2app) didn't work with python 3 due to use of |
| APIs that aren't available in that version of python. |
| |
| Reported by Andrew Barnert. |
| |
| |
| 0.10 |
| ---- |
| |
| This is a minor feature release |
| |
| Features |
| ........ |
| |
| * ``modulegraph.find_modules.find_needed_modules`` claimed to automaticly |
| include subpackages for the "packages" argument as well, but that code |
| didn't work at all. |
| |
| * Issue #9: The modulegraph script is deprecated, use |
| "python -mmodulegraph" instead. |
| |
| * Issue #10: Ensure that the result of "zipio.open" can be used |
| in a with statement (that is, ``with zipio.open(...) as fp``. |
| |
| * No longer use "2to3" to support Python 3. |
| |
| Because of this modulegraph now supports Python 2.6 |
| and later. |
| |
| * Slightly improved HTML output, which makes it easier |
| to manipulate the generated HTML using JavaScript. |
| |
| Patch by anatoly techtonik. |
| |
| * Ensure modulegraph works with changes introduced after |
| Python 3.3b1. |
| |
| * Implement support for PEP 420 ("Implicit namespace packages") |
| in Python 3.3. |
| |
| * ``modulegraph.util.imp_walk`` is deprecated and will be |
| removed in the next release of this package. |
| |
| Bugfixes |
| ........ |
| |
| * The module graph was incomplete, and generated incorrect warnings |
| along the way, when a subpackage contained import statements for |
| submodules. |
| |
| An example of this is ``sqlalchemy.util``, the ``__init__.py`` file |
| for this package contains imports of modules in that modules using |
| the classic relative import syntax (that is ``import compat`` to |
| import ``sqlalchemy.util.compat``). Until this release modulegraph |
| searched the wrong path to locate these modules (and hence failed |
| to find them). |
| |
| |
| 0.9.2 |
| ----- |
| |
| This is a bugfix release |
| |
| Bugfixes |
| ........ |
| |
| * The 'packages' option to modulegraph.find_modules.find_modules ignored |
| the search path argument but always used the default search path. |
| |
| * The 'imp_find_modules' function in modulegraph.util has an argument 'path', |
| this was a string in previous release and can now also be a sequence. |
| |
| * Don't crash when a module on the 'includes' list doesn't exist, but warn |
| just like for missing 'packages' (modulegraph.find_modules.find_modules) |
| |
| 0.9.1 |
| ----- |
| |
| This is a bugfix release |
| |
| Bug fixes |
| ......... |
| |
| - Fixed the name of nodes imports in packages where the first element of |
| a dotted name can be found but the rest cannot. This used to create |
| a MissingModule node for the dotted name in the global namespace instead |
| of relative to the package. |
| |
| That is, given a package "pkg" with submodule "sub" if the "__init__.py" |
| of "pkg" contains "import sub.nomod" we now create a MissingModule node |
| for "pkg.sub.nomod" instead of "sub.nomod". |
| |
| This fixes an issue with including the crcmod package in application |
| bundles, first reported on the pythonmac-sig mailinglist by |
| Brendan Simon. |
| |
| 0.9 |
| --- |
| |
| This is a minor feature release |
| |
| |
| Features: |
| |
| - Documentation is now generated using `sphinx <http://pypi.python.org/pypi/sphinx>`_ |
| and can be viewed at <http://packages.python.org/modulegraph>. |
| |
| The documention is very rough at this moment and in need of reorganisation and |
| language cleanup. I've basiclly writting the current version by reading the code |
| and documenting what it does, the order in which classes and methods are document |
| is therefore not necessarily the most useful. |
| |
| - The repository has moved to bitbucket |
| |
| - Renamed ``modulegraph.modulegraph.AddPackagePath`` to ``addPackagePath``, |
| likewise ``ReplacePackage`` is now ``replacePackage``. The old name is still |
| available, but is deprecated and will be removed before the 1.0 release. |
| |
| - ``modulegraph.modulegraph`` contains two node types that are unused and |
| have unclear semantics: ``FlatPackage`` and ``ArchiveModule``. These node |
| types are deprecated and will be removed before 1.0 is released. |
| |
| - Added a simple commandline tool (``modulegraph``) that will print information |
| about the dependency graph of a script. |
| |
| - Added a module (``zipio``) for dealing with paths that may refer to entries |
| inside zipfiles (such as source paths referring to modules in zipped eggfiles). |
| |
| With this addition ``modulegraph.modulegraph.os_listdir`` is deprecated and |
| it will be removed before the 1.0 release. |
| |
| Bug fixes: |
| |
| - The ``__cmp__`` method of a Node no longer causes an exception |
| when the compared-to object is not a Node. Patch by Ivan Kozik. |
| |
| - Issue #1: The initialiser for ``modulegraph.ModuleGraph`` caused an exception |
| when an entry on the path (``sys.path``) doesn't actually exist. |
| |
| Fix by "skurylo", testcase by Ronald. |
| |
| - The code no longer worked with python 2.5, this release fixes that. |
| |
| - Due to the switch to mercurial setuptools will no longer include |
| all required files. Fixed by adding a MANIFEST.in file |
| |
| - The method for printing a ``.dot`` representation of a ``ModuleGraph`` |
| works again. |
| |
| |
| 0.8.1 |
| ----- |
| |
| This is a minor feature release |
| |
| Features: |
| |
| - ``from __future__ import absolute_import`` is now supported |
| |
| - Relative imports (``from . import module``) are now supported |
| |
| - Add support for namespace packages when those are installed |
| using option ``--single-version-externally-managed`` (part |
| of setuptools/distribute) |
| |
| 0.8 |
| --- |
| |
| This is a minor feature release |
| |
| Features: |
| |
| - Initial support for Python 3.x |
| |
| - It is now possible to run the test suite |
| using ``python setup.py test``. |
| |
| (The actual test suite is still fairly minimal though) |
| |
| Keywords: import,,dependencies |
| Platform: any |
| Classifier: Intended Audience :: Developers |
| Classifier: License :: OSI Approved :: MIT License |
| Classifier: Programming Language :: Python |
| Classifier: Programming Language :: Python :: 2 |
| Classifier: Programming Language :: Python :: 2.7 |
| Classifier: Programming Language :: Python :: 3 |
| Classifier: Programming Language :: Python :: 3.3 |
| Classifier: Programming Language :: Python :: 3.4 |
| Classifier: Topic :: Software Development :: Libraries :: Python Modules |
| Classifier: Topic :: Software Development :: Build Tools |