modulegraph

HomePage: http://bitbucket.org/ronaldoussoren/modulegraph

Author: Ronald Oussoren

Download: https://pypi.python.org/packages/source/m/modulegraph/modulegraph-0.11.1.tar.gz

        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.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 :func:`modegraph.zipio.getmode` to fetch the Unix file mode
  for a file.

* Added some handy methods to :class:`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_