Commit graph

237 commits

Author SHA1 Message Date
Brett Cannon
4067aa272e Issue #17357: Use more stern wording for
importlib.invalidate_caches().
2013-04-27 23:20:32 -04:00
Georg Brandl
526575d537 Fix invalid markup. 2013-04-11 16:10:13 +02:00
Brett Cannon
100883f0cb Issue #17093,17566,17567: Methods from classes in importlib.abc now raise/return
the default exception/value when called instead of raising/returning
NotimplementedError/NotImplemented (except where appropriate).
This should allow for the ABCs to act as the bottom/end of the MRO with expected
default results.

As part of this work, also make importlib.abc.Loader.module_repr()
optional instead of an abstractmethod.
2013-04-09 16:59:39 -04:00
Brett Cannon
327992330e Issue #17099: Have importlib.find_loader() raise ValueError when
__loader__ is not set on a module. This brings the exception in line
with when __loader__ is None (which is equivalent to not having the
attribute defined).
2013-03-13 11:09:08 -07:00
Brett Cannon
4802becb16 Issue #17117: Have both import itself and importlib.util.set_loader()
set __loader__ on a module when set to None.

Thanks to Gökcen Eraslan for the fix.
2013-03-13 10:41:36 -07:00
Andrew Svetlov
597ba7e351 Issue #17215: Fix documentation misprints (patch by July Tikhonov) 2013-02-17 16:56:28 +02:00
Andrew Svetlov
a60de4f14f Issue #17215: Fix documentation misprints (patch by July Tikhonov) 2013-02-17 16:55:58 +02:00
Eric Snow
a6cfb28bd2 Issue #15627: This is simply an update to the name of a new method recently added
to importlib.abc.SourceLoader.
2012-12-04 23:43:43 -08:00
Brett Cannon
5650e4f41c Issue #15627: Add the compile_source() method to
importlib.abc.SourceLoader.

This provides an easy hook into the import system to allow for source
transformations, AST optimizations, etc.
2012-11-18 10:03:31 -05:00
Brett Cannon
10f19812b5 Merge fix for #16489 from 3.3 2012-11-17 09:33:14 -05:00
Brett Cannon
56b4ca78d8 Issue #16489: Make it clearer that importlib.find_loader() requires
the user to import any parent packages.
2012-11-17 09:30:55 -05:00
Andrew Svetlov
90a654b1dd Issue #15641: Clean up deprecated classes from importlib
Patch by Taras Lyapun.
2012-11-05 09:34:46 +02:00
Ezio Melotti
1f67e80564 Fix typo. 2012-10-21 07:24:13 +03:00
Brett Cannon
1b79918641 Issue #15640: Document importlib.abc.Finder as deprecated.
The code for the class itself isn't deprecated for
backwards-compatibility reasons, but the class shouldn't be directly
inherited by anyone anymore as the API is no longer as widely valid as
it used to be.
2012-08-17 14:08:24 -04:00
R David Murray
27bbcfb8ff Merge #15543: glossary entry for and 'universal newlines', and links to it.
Patch by Chris Jerdonek.
2012-08-15 11:11:27 -04:00
R David Murray
ee0a945ae4 #15543: reflow paragraphs. 2012-08-15 11:05:36 -04:00
R David Murray
1b00f25bf9 #15543: glossary entry for and 'universal newlines', and links to it.
Patch by Chris Jerdonek.
2012-08-15 10:43:58 -04:00
Andrew Svetlov
a86565465a Push importlib ABC hierarchy chart. 2012-08-13 22:19:01 +03:00
Brett Cannon
a6e8581449 Minor doc formatting cleanup. 2012-08-11 19:41:27 -04:00
Brett Cannon
ac9f2f3de3 Issue #15576: Allow extension modules to be a package's __init__
module again. Also took the opportunity to stop accidentally exporting
_imp.extension_suffixes() as public.
2012-08-10 13:47:54 -04:00
Brett Cannon
f4dc9204cc Issue #15502: Finish bringing importlib.abc in line with the current
state of the import system. Also make importlib.invalidate_caches()
work with sys.meta_path instead of sys.path_importer_cache to
completely separate the path-based import system from the overall
import system.

Patch by Eric Snow.
2012-08-10 12:21:12 -04:00
Brett Cannon
cb4996afe4 Issue #15471: Don't use mutable object as default values for the
parameters of importlib.__import__().
2012-08-06 16:34:44 -04:00
Brett Cannon
077ef45a74 Update the What's New details for importlib based on doc/ABC changes. 2012-08-02 17:50:06 -04:00
Brett Cannon
773468f3a9 Ditch the 'self' argument in importlib docs since it's implied. 2012-08-02 17:35:34 -04:00
Nick Coghlan
4941774f59 Issue #15502: Bring the importlib.PathFinder docs and docstring more in line with the new import system documentation, and fix various parts of the new docs that weren't quite right given PEP 420 or were otherwise a bit misleading. Also note the key terminology problem still being discussed in the issue 2012-08-02 23:03:58 +10:00
Nick Coghlan
ff79486bb5 Close #15519: Properly expose WindowsRegistryFinder in importlib and bring the name into line with normal import terminology. Original patch by Eric Snow 2012-08-02 21:45:24 +10:00
Nick Coghlan
8a9080feff Issue #15502: Bring the importlib ABCs into line with the current state of the import protocols given PEP 420. Original patch by Eric Snow. 2012-08-02 21:26:03 +10:00
Barry Warsaw
d7d2194ea1 Integration of importdocs from the features/pep-420 repo. 2012-07-29 16:36:17 -04:00
Nick Coghlan
c5afd42df8 Fix importlib.machinery.all_suffixes docs 2012-07-18 23:59:08 +10:00
Nick Coghlan
76e077001d Close #15387: inspect.getmodulename() now uses a new importlib.machinery.all_suffixes() API rather than the deprecated inspect.getmoduleinfo() 2012-07-18 23:14:57 +10:00
Brett Cannon
1e331560ee Closes #15030: Make importlib.abc.PyPycLoader respect the new .pyc
file size header field.

Thanks to Marc Abramowitz and Ronan Lamy for helping out with various
parts of the patch.
2012-07-02 14:35:34 -04:00
Georg Brandl
61063cca6a Fix a couple of versionadded/versionchanged related markup errors. 2012-06-24 22:48:30 +02:00
Brett Cannon
ea0b823940 Issue #14938: importlib.abc.SourceLoader.is_package() now takes the
module name into consideration when determining whether a module is a
package or not. This prevents importing a module's __init__ module
directly and having it considered a package, which can lead to
duplicate sub-modules.

Thanks to Ronan Lamy for reporting the bug.
2012-06-15 20:00:53 -04:00
Brett Cannon
d200bf534b Add importlib.util.resolve_name(). 2012-05-13 13:45:09 -04:00
Brett Cannon
ee78a2b51c Issue #13959: Introduce importlib.find_loader().
The long-term goal is to deprecate imp.find_module() in favour of this
API, but it will take some time as some APIs explicitly return/use what
imp.find_module() returns.
2012-05-12 17:43:17 -04:00
Brett Cannon
c049952de7 Issue #13959: Have
importlib.abc.FileLoader.load_module()/get_filename() and
importlib.machinery.ExtensionFileLoader.load_module() have their
single argument be optional as the loader's constructor has all the
ncessary information.

This allows for the deprecation of
imp.load_source()/load_compile()/load_package().
2012-05-11 14:48:41 -04:00
Brett Cannon
cb66eb0dec Issue #13959: Deprecate imp.get_suffixes() for new attributes on
importlib.machinery that provide the suffix details for import.
The attributes were not put on imp so as to compartmentalize
everything importlib needs for setting up imports in
importlib.machinery.

This also led to an indirect deprecation of inspect.getmoduleinfo() as
it directly returned imp.get_suffix's returned tuple which no longer
makes sense.
2012-05-11 12:58:42 -04:00
Brett Cannon
efad00d520 Issue #14646: __import__() now sets __loader__ if need be.
importlib.util.module_for_loader also will set __loader__ along with
__package__. This is in conjunction to a forthcoming update to PEP 302
which will make these two attributes required for loaders to set.
2012-04-27 17:27:14 -04:00
Marc-Andre Lemburg
4fe29c9657 Issue #14605: Rename _SourcelessFileLoader to SourcelessFileLoader.
This time also recreating the Python/importlib.h file to make
make happy. See the ticket for details.
2012-04-25 02:31:37 +02:00
Marc-Andre Lemburg
ac8805a01a Issue #14605: Revert renaming of _SourcelessFileLoader, since it caused
the buildbots to fail.
2012-04-25 02:11:07 +02:00
Marc-Andre Lemburg
2945e78b05 Issue #14605: Rename _SourcelessFileLoader to SourcelessFileLoader 2012-04-25 01:36:48 +02:00
Brett Cannon
938d44d59c Issue #14605: Expose importlib.abc.FileLoader and
importlib.machinery.(FileFinder, SourceFileLoader,
_SourcelessFileLoader, ExtensionFileLoader).

This exposes all of importlib's mechanisms that will become public on
the sys module.
2012-04-22 19:58:33 -04:00
Brett Cannon
83ac0133bd Clarify importlib.machinery.PathFinder's difference from what __import__() does. 2012-03-02 12:10:48 -05:00
Brett Cannon
75321e8379 Minor doc cleanup. 2012-03-02 11:58:25 -05:00
Brett Cannon
b46a1793a7 Update importlib.invalidate_caches() to be more general. 2012-02-27 18:15:42 -05:00
Antoine Pitrou
c541f8ef40 Issue #14043: Speed up importlib's _FileFinder by at least 8x, and add a new importlib.invalidate_caches() function.
importlib is now often faster than imp.find_module() at finding modules.
2012-02-20 01:48:16 +01:00
Antoine Pitrou
5136ac0ca2 Issue #13645: pyc files now contain the size of the corresponding source
code, to avoid timestamp collisions (especially on filesystems with a low
timestamp resolution) when checking for freshness of the bytecode.
2012-01-13 18:52:16 +01:00
Georg Brandl
375aec2315 Fix a few doc errors, mostly undefined keywords. 2011-01-15 17:03:02 +00:00
Georg Brandl
6faee4e2ce #9911: doc copyedits. 2010-09-21 14:48:28 +00:00
Georg Brandl
8a1caa2361 #6522: add a "decorator" directive to explicitly document decorators, and use it in a few places. 2010-07-29 16:01:11 +00:00