Branch: refs/heads/develop
Home: https://github.com/pyinstaller/pyinstaller
Commit: 76dc01253ea9560d52759de931a3af80e47845d4
https://github.com/pyinstaller/pyinstaller/commit/76dc01253ea9560d52759de931a3af80e47845d4
Author: leycec <[email protected]>
Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths:
M PyInstaller/lib/modulegraph/modulegraph.py
Log Message:
-----------
ModuleGraph: Significantly refactored.
The "PyInstaller.lib.modulegraph" library has been significantly refactored,
fixing #1919 and improving readability and maintainability.
Attributes imported via "from"-style importations (e.g., the "bar" in "from foo
import bar") are now properly disambiguated as either non-ignorable package
submodules or ignorable global attributes defined within "__init__" package
submodules, fixing #1919. To improve the accuracy of this disambiguation,
deletions of previously defined global attributes are now parsed and handled.
Most methods in the "ModuleGraph" class now sport NumpyDoc-formatted docstrings
delineating method parameters, return values, and raised exceptions, as well as
internal line-by-line commentary on method operation. Various non-human-readable
method parameters and local variables have been renamed for readability and
disambiguity, particularly those that previously had single- and double-letter
names (e.g., "m", "q", "sm"). Various non-human-readable magic numbers have
been replaced by human-readable global constants declared at the top of this
module, also sporting NumpyDoc-formatted docstrings. Various repetitious methods
and repetitious logic in these methods has been eliminated, including the
complete elimination of the _scan_bytecode_stores() method. In short,
"ModuleGraph" is now maintainable by human beings.
Commit: fb4a84ed340608961d6fbffcfe5e02ca7f6b8288
https://github.com/pyinstaller/pyinstaller/commit/fb4a84ed340608961d6fbffcfe5e02ca7f6b8288
Author: leycec <[email protected]>
Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths:
M PyInstaller/building/imphook.py
Log Message:
-----------
ModuleGraph: External method call rewritten.
A single external call to the ModuleGraph.import_hook() method by the
ModuleHook._process_hidden_imports() method has been refactored to comply with
ModuleGraph's human-readable API.
Commit: 6842df85c935f4a3b3984a422054076a08a058ea
https://github.com/pyinstaller/pyinstaller/commit/6842df85c935f4a3b3984a422054076a08a058ea
Author: leycec <[email protected]>
Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths:
M PyInstaller/compat.py
Log Message:
-----------
ModuleGraph: "RuntimePackage" nodes supported.
The "PyInstaller.compat" module now recognizes the newly added "RuntimePackage"
graph node type as both "SPECIAL_MODULE_TYPES" and "BAD_MODULE_TYPES", much like
the existing "RuntimeModule" graph node type.
Commit: bc5117cd56d5a6fc5a34e4edacccfda7ff2daf75
https://github.com/pyinstaller/pyinstaller/commit/bc5117cd56d5a6fc5a34e4edacccfda7ff2daf75
Author: leycec <[email protected]>
Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths:
M PyInstaller/building/imphookapi.py
M PyInstaller/hooks/pre_safe_import_module/hook-six.moves.py
Log Message:
-----------
Hooks: add_runtime_package() method added.
A new PreSafeImportModuleAPI.add_runtime_package() method has been added,
permitting pre-safe import module hooks to dynamically define in-memory packages
at runtime. Unlike runtime modules addable by the related add_runtime_module()
method, ModuleGraph treats attributes imported in "from"-style import statements
from runtime packages as possible non-ignorable submodules rather than ignorable
non-module globals -- permitting submodules to be imported from these packages.
For this reason, the "six.moves" pre-safe import module hook now calls
add_runtime_package() rather than add_runtime_module().
Commit: 9affadf12a98fe23066a22ff45630fee065334c9
https://github.com/pyinstaller/pyinstaller/commit/9affadf12a98fe23066a22ff45630fee065334c9
Author: leycec <[email protected]>
Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths:
M tests/functional/test_hooks/test_scipy.py
Log Message:
-----------
Tests: test_scipy_special() unskipped.
The test_scipy_special() test now succeeds and is no longer marked with skip().
Commit: a201f3fb56477abad8eb91c4820393c824cfe6c8
https://github.com/pyinstaller/pyinstaller/commit/a201f3fb56477abad8eb91c4820393c824cfe6c8
Author: leycec <[email protected]>
Date: 2016-06-29 (Wed, 29 Jun 2016)
Changed paths:
A tests/functional/modules/pyi_testmod_submodule_global_shadowed/__init__.py
A
tests/functional/modules/pyi_testmod_submodule_global_shadowed/submodule.py
A
tests/functional/modules/pyi_testmod_submodule_global_unshadowed/__init__.py
A
tests/functional/modules/pyi_testmod_submodule_global_unshadowed/submodule.py
M tests/functional/test_import.py
Log Message:
-----------
Tests: Tests exercising #1919 added.
The new test_import_submodule_global_shadowed() and
test_import_submodule_global_unshadowed() tests now fully exercise #1919,
including subtle edge cases.
Commit: a909f1a91f17e43bb909a5dae1a6b451bb98b728
https://github.com/pyinstaller/pyinstaller/commit/a909f1a91f17e43bb909a5dae1a6b451bb98b728
Author: Bryan A. Jones <[email protected]>
Date: 2016-06-30 (Thu, 30 Jun 2016)
Changed paths:
M PyInstaller/building/imphook.py
M PyInstaller/building/imphookapi.py
M PyInstaller/compat.py
M PyInstaller/hooks/pre_safe_import_module/hook-six.moves.py
M PyInstaller/lib/modulegraph/modulegraph.py
A tests/functional/modules/pyi_testmod_submodule_global_shadowed/__init__.py
A
tests/functional/modules/pyi_testmod_submodule_global_shadowed/submodule.py
A
tests/functional/modules/pyi_testmod_submodule_global_unshadowed/__init__.py
A
tests/functional/modules/pyi_testmod_submodule_global_unshadowed/submodule.py
M tests/functional/test_hooks/test_scipy.py
M tests/functional/test_import.py
Log Message:
-----------
Merge pull request #1991 from leycec/scipyattr
Shadows over ModuleGraph: Scaling the Impenetrable Wall of Bugs
Compare:
https://github.com/pyinstaller/pyinstaller/compare/8689a5da7741...a909f1a91f17
--
You received this message because you are subscribed to the Google Groups
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/d/optout.