cpython/Lib
Brett Cannon f23e374441 Implement importlib.abc.SourceLoader and deprecate PyLoader and PyPycLoader.
SourceLoader is a simplification of both PyLoader and PyPycLoader. If one only
wants to use source, then they need to only implement get_data and
get_filename. To also use bytecode -- sourceless loading is not supported --
then two abstract methods -- path_mtime and set_data -- need to be implemented.
Compared to PyLoader and PyPycLoader, there are less abstract methods
introduced and bytecode files become an optimization controlled by the ABC and
hidden from the user (this need came about as PEP 3147 showed that not treating
bytecode as an optimization can cause problems for compatibility).

PyLoader is deprecated in favor of SourceLoader. To be compatible from Python
3.1 onwards, a subclass need only use simple methods for source_path and
is_package. Otherwise conditional subclassing based on whether Python 3.1 or
Python 3.2 is being is the only change. The documentation and docstring for
PyLoader explain what is exactly needed.

PyPycLoader is deprecated also in favor of SourceLoader. Because PEP 3147
shifted bytecode path details so much, there is no foolproof way to provide
backwards-compatibility with SourceLoader. Because of this the class is simply
deprecated and users should move to SourceLoader (and optionally PyLoader for
Python 3.1). This does lead to a loss of support for sourceless loading
unfortunately.

At some point before Python 3.2 is released, SourceLoader will be moved over to
importlib._bootstrap so that the core code of importlib relies on the new code
instead of the old PyPycLoader code. This commit is being done now so that
there is no issue in having the API in Python 3.1a1.
2010-06-27 23:57:46 +00:00
..
ctypes Merged revisions 82126-82127 via svnmerge from 2010-06-21 16:00:31 +00:00
curses Merged revisions 64623,64640,64665,64687,64689-64690,64719,64721,64735,64742,64744-64746,64756-64761,64767-64769,64771-64772,64774-64775,64788,64793,64835-64836 via svnmerge from 2008-07-16 03:43:04 +00:00
dbm Redundancy isn't needed here. 2009-10-10 21:28:29 +00:00
distutils Merged revisions 82272 via svnmerge from 2010-06-27 12:37:46 +00:00
email Merged revisions 81675 via svnmerge from 2010-06-16 02:19:40 +00:00
encodings Merged revisions 81499,81506 via svnmerge from 2010-06-27 22:41:29 +00:00
html Recorded merge of revisions 81500-81501 via svnmerge from 2010-05-24 21:46:25 +00:00
http Merged revisions 81465-81466,81468,81679,81735,81760,81868,82183 via svnmerge from 2010-06-27 21:45:24 +00:00
idlelib Issue #8203: Fix IDLE Credits dialog: view_file() uses its encoding argument. 2010-06-17 21:43:33 +00:00
importlib Implement importlib.abc.SourceLoader and deprecate PyLoader and PyPycLoader. 2010-06-27 23:57:46 +00:00
json Merged revisions 76708 via svnmerge from 2009-12-08 15:57:31 +00:00
lib2to3 Merged revisions 81479 via svnmerge from 2010-05-22 18:59:24 +00:00
logging Merged revisions 80712,81651 via svnmerge from 2010-06-27 20:54:28 +00:00
msilib Merged revisions 73390 via svnmerge from 2009-06-12 17:31:41 +00:00
multiprocessing Issue #7316: the acquire() method of lock objects in the :mod:threading 2010-04-14 15:44:10 +00:00
plat-aix4 Rip out 'long' and 'L'-suffixed integer literals. 2007-01-15 16:59:06 +00:00
plat-darwin These are present in the trunk but no longer in 3.x, which causes problems 2009-03-04 23:21:07 +00:00
plat-freebsd4 Merged revisions 78644 via svnmerge from 2010-03-04 02:11:41 +00:00
plat-freebsd5 Merged revisions 78644 via svnmerge from 2010-03-04 02:11:41 +00:00
plat-freebsd6 Merged revisions 78644 via svnmerge from 2010-03-04 02:11:41 +00:00
plat-freebsd7 Merged revisions 78644 via svnmerge from 2010-03-04 02:11:41 +00:00
plat-freebsd8 Merged revisions 78644 via svnmerge from 2010-03-04 02:11:41 +00:00
plat-generic
plat-linux2 Rip out 'long' and 'L'-suffixed integer literals. 2007-01-15 16:59:06 +00:00
plat-netbsd1
plat-next3
plat-os2emx Merged revisions 78644 via svnmerge from 2010-03-04 02:11:41 +00:00
plat-sunos5 Merged revisions 78678,78680,78682 via svnmerge from 2010-03-05 03:33:11 +00:00
plat-unixware7 Merged revisions 55817-55961 via svnmerge from 2007-06-13 18:07:49 +00:00
pydoc_data update pydoc-topics 2009-06-26 13:05:03 +00:00
site-packages
sqlite3 #8845: expose sqlite3 inTransaction as RO in_transaction Connection attribute. 2010-06-01 01:32:12 +00:00
test Merged revisions 82303 via svnmerge from 2010-06-27 22:44:51 +00:00
tkinter Merged revisions 81701 via svnmerge from 2010-06-04 19:50:26 +00:00
unittest Merged revisions 81878 via svnmerge from 2010-06-10 20:41:54 +00:00
urllib Merged revisions 80605-80609,80642-80646,80651-80652,80674,80684-80686,80748,80852,80854,80870,80872-80873,80907,80915-80916,80951-80952,80976-80977,80985,81038-81040,81042,81053,81070,81104-81105,81114,81125,81245,81285,81402,81463,81516,81562-81563,81567,81593,81635,81680-81681,81684,81801,81888,81931-81933,81939-81942,81963,81984,81991,82120,82188,82264-82267 via svnmerge from 2010-06-27 22:32:30 +00:00
wsgiref Manually copy patch for bug 7250 from the release26-maint branch. I suck 2010-03-01 21:53:00 +00:00
xml http://bugs.python.org/issue8832 2010-06-09 08:13:42 +00:00
xmlrpc Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII 2010-04-16 13:28:05 +00:00
__future__.py barry has already been causing test breakage 2009-04-01 20:38:13 +00:00
__phello__.foo.py
_abcoll.py Merged revisions 81414 via svnmerge from 2010-05-21 20:55:22 +00:00
_compat_pickle.py Issue #6137: The pickle module now translates module names when loading 2009-06-04 20:32:06 +00:00
_dummy_thread.py Issue #7316: the acquire() method of lock objects in the :mod:threading 2010-04-14 15:44:10 +00:00
_markupbase.py Remove the htmllib and sgmllib modules as per PEP 3108. 2008-06-01 21:25:55 +00:00
_pyio.py Merged revisions 80720 via svnmerge from 2010-05-03 16:48:20 +00:00
_strptime.py Issue #6641: Original commit for this issue, r82053, introduced a 2010-06-18 18:44:37 +00:00
_threading_local.py fixes issue #1522237, bad init check in _threading_local 2010-02-22 19:55:46 +00:00
_weakrefset.py Issue #7105: Make WeakKeyDictionary and WeakValueDictionary robust against 2010-01-08 17:54:23 +00:00
abc.py Merged revisions 77789 via svnmerge from 2010-01-27 02:25:58 +00:00
aifc.py Merged revisions 72425-72426 via svnmerge from 2009-05-07 18:24:38 +00:00
antigravity.py Another hidden treasure. 2009-06-03 17:21:17 +00:00
argparse.py Merged revisions 81492 via svnmerge from 2010-05-24 03:47:38 +00:00
ast.py Merged revisions 68450,68480-68481,68493,68495,68501,68512,68514-68515,68534-68536,68552,68563,68570-68572,68575,68582,68596,68623-68624,68628 via svnmerge from 2009-01-16 03:54:08 +00:00
asynchat.py Fixed bugs 760475, 953599, and 1519. This is a translation of changelist 64768 2008-07-07 05:04:12 +00:00
asyncore.py Merged revisions 81294 via svnmerge from 2010-05-18 20:11:58 +00:00
base64.py Issue #4769: Fix main() function of the base64 module, use sys.stdin.buffer and 2010-05-25 21:12:34 +00:00
bdb.py Merged revisions 72322 via svnmerge from 2009-05-05 09:00:19 +00:00
binhex.py Issues #2715, #6621: Remove unused and undefined references to FSSpec 2009-08-02 20:08:54 +00:00
bisect.py Per the language summit, the optional fastpath imports should use from-import-star. 2009-03-31 17:51:51 +00:00
build_class.py Implement PEP 3115 -- new metaclass syntax and semantics. 2007-03-18 15:41:51 +00:00
calendar.py Undo r81988 code change leaving added test. 2010-06-14 18:33:19 +00:00
cgi.py Merged revisions 78844 via svnmerge from 2010-03-11 22:05:58 +00:00
cgitb.py Merged revisions 70980,71059,71225,71234,71241,71243,71249,71251,71255,71266,71299,71329,71397-71398,71486 via svnmerge from 2009-04-11 19:48:14 +00:00
chunk.py Raise statement normalization in Lib/. 2007-08-30 01:19:48 +00:00
cmd.py Merged revisions 77185-77188,77262,77313,77317,77331-77333,77337-77338 via svnmerge from 2010-01-09 18:53:06 +00:00
code.py Merged revisions 75264,75268,75293,75318,75391-75392,75436,75478,75971,76003,76058,76140-76141,76231,76380,76428-76429 via svnmerge from 2009-11-25 17:46:26 +00:00
codecs.py Merged revisions 81471-81472 via svnmerge from 2010-05-22 16:59:09 +00:00
codeop.py correct porting error with raise #7161 2009-10-18 00:32:49 +00:00
collections.py Minor factoring 2010-04-11 20:41:56 +00:00
colorsys.py Merged revisions 68884,68973,68978,69003,69083,69112-69113 via svnmerge from 2009-01-30 03:39:35 +00:00
compileall.py Create __pycache__ dir when the pyc path is explicitly given 2010-05-08 19:52:21 +00:00
configparser.py Merged revisions 78232 via svnmerge from 2010-02-19 06:08:41 +00:00
contextlib.py remove nested from __all__ 2009-07-01 01:38:23 +00:00
copy.py Merged revisions 76571 via svnmerge from 2009-11-28 15:58:27 +00:00
copyreg.py Rename copy_reg module to copyreg. 2008-05-11 08:55:36 +00:00
cProfile.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
csv.py Merged revisions 78384 via svnmerge from 2010-02-23 22:57:58 +00:00
decimal.py Fix mild type confusion in decimal module docstring. 2010-06-12 16:37:53 +00:00
difflib.py Merged revisions 80004 via svnmerge from 2010-04-12 16:58:02 +00:00
dis.py factor out constant 2010-04-04 23:26:50 +00:00
doctest.py Merged revisions 80578 via svnmerge from 2010-06-12 13:42:46 +00:00
dummy_threading.py Rename thread to _thread and dummy_thread to _dummy_thread. Issue #2875. 2008-05-25 13:05:15 +00:00
filecmp.py Use new form of with-statement instead of contextlib.nested(). 2009-06-04 00:11:54 +00:00
fileinput.py Use PEP 8 and true booleans. 2009-05-17 12:22:57 +00:00
fnmatch.py Merged revisions 74475 via svnmerge from 2009-08-16 18:58:46 +00:00
formatter.py Fix formatter usage of filter(). Bug #3800. 2008-09-09 19:31:25 +00:00
fractions.py Issue #8188: Introduce a new scheme for computing hashes of numbers 2010-05-23 13:33:13 +00:00
ftplib.py Fix issue #8806: add SSL contexts support to ftplib 2010-05-26 18:06:04 +00:00
functools.py Merged revisions 80068 via svnmerge from 2010-05-19 21:06:36 +00:00
genericpath.py Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from 2010-03-14 10:23:39 +00:00
getopt.py Merged revisions 67463,67572,67576,67628 via svnmerge from 2008-12-07 15:15:22 +00:00
getpass.py Merged revisions 76000,76016 via svnmerge from 2009-11-01 18:42:17 +00:00
gettext.py Merged revisions 72506,72525-72526,72551,72558,72616,72654-72655,72689,72745,72750,72802,72812,72822,72824,72826-72827,72833,72876,72890,72923,72946,73026,73042,73045,73047,73065,73068-73069 via svnmerge from 2009-06-01 22:42:33 +00:00
glob.py Merged revisions 70712,70714,70764-70765,70769-70771,70773,70776-70777,70788-70789,70824,70828,70832,70836,70842,70851,70855,70857,70866-70872,70883,70885,70893-70894,70896-70897,70903,70905-70907,70915,70927,70933,70951,70960,70962-70964,70998,71001,71006,71008,71010-71011,71019,71037,71056,71094,71101-71103,71106,71119,71123,71149-71150,71203,71212,71214-71217,71221,71240 via svnmerge from 2009-04-05 19:13:16 +00:00
gzip.py Merged revisions 80762 via svnmerge from 2010-05-04 18:47:04 +00:00
hashlib.py Merged revisions 78528 via svnmerge from 2010-03-01 02:05:26 +00:00
heapq.py Make life easier for non-CPython implementations 2009-03-29 19:30:50 +00:00
hmac.py Fixed failing unit tests due to str/bytes mismatch. 2008-03-03 02:59:49 +00:00
imaplib.py Merged revisions 77041 via svnmerge from 2009-12-24 16:12:49 +00:00
imghdr.py Merged revisions 65713 via svnmerge from 2008-08-16 16:48:16 +00:00
inspect.py only take into account positional arguments count in related error messages 2010-06-25 19:30:21 +00:00
io.py add myself 2009-05-01 20:45:43 +00:00
keyword.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
linecache.py Merged revisions 81428-81429,81432-81433,81437 via svnmerge from 2010-05-21 21:45:06 +00:00
locale.py Merged revisions 80512 via svnmerge from 2010-04-27 02:45:53 +00:00
macpath.py #9018: os.path.normcase() now raises a TypeError if the argument is not str or bytes. 2010-06-25 10:56:11 +00:00
macurl2path.py Fixing Issue6711 - macurl2path has typos that raise AttributeError 2009-08-16 06:43:50 +00:00
mailbox.py Merged revisions 77952,78030,78102,78104,78107,78206,78216,78296-78297,78328,78331-78332,78336,78339,78343,78378-78379,78415,78559,78717,78791 via svnmerge from 2010-03-21 22:03:03 +00:00
mailcap.py Issue #8496: make mailcap.lookup() always return a list, rather than an iterator. 2010-04-22 13:30:10 +00:00
mimetypes.py Merged revisions 78018,78035-78040,78042-78043,78046,78048-78052,78054,78059,78075-78080 via svnmerge from 2010-03-14 10:23:39 +00:00
modulefinder.py no 2.3 compat in the py3k lib #3676 2009-02-16 16:20:10 +00:00
netrc.py Patch # 1331 by Christian Heimes. 2007-10-26 04:29:23 +00:00
nntplib.py Merged revisions 72640 via svnmerge from 2009-05-14 21:30:46 +00:00
ntpath.py #9018: os.path.normcase() now raises a TypeError if the argument is not str or bytes. 2010-06-25 10:56:11 +00:00
nturl2path.py Fix for issue1153027, making Py3k changes similar to fix in issue918368. 2009-05-05 18:41:13 +00:00
numbers.py Issue 4998: restore utility of __slots__ on Fraction. 2009-02-12 17:58:36 +00:00
opcode.py Merged revisions 72912,72920,72940 via svnmerge from 2009-06-28 03:18:59 +00:00
optparse.py Merged revisions 71540,71563 via svnmerge from 2009-04-27 16:41:41 +00:00
os.py Issue #8969: On Windows, use mbcs codec in strict mode to encode and decode 2010-06-11 23:56:51 +00:00
os2emxpath.py #9018: os.path.normcase() now raises a TypeError if the argument is not str or bytes. 2010-06-25 10:56:11 +00:00
pdb.doc Untabify. 2010-06-27 11:24:03 +00:00
pdb.py #9064: accept number of frames for "up" and "down" commands in pdb. 2010-06-27 10:37:48 +00:00
pickle.py Issue #8383: pickle and pickletools use surrogatepass error handler when 2010-04-13 11:07:24 +00:00
pickletools.py Issue #8383: pickle and pickletools use surrogatepass error handler when 2010-04-13 11:07:24 +00:00
pipes.py Merged revisions 80030,80067,80069,80080-80081,80084,80432-80433,80465-80470,81059,81065-81067 via svnmerge from 2010-05-19 20:57:08 +00:00
pkgutil.py Issue 4005: Remove .sort() call on dict_keys object. 2009-07-05 06:42:44 +00:00
platform.py Merged revisions 80857 via svnmerge from 2010-05-06 03:05:50 +00:00
plistlib.py Merged revisions 80279 via svnmerge from 2010-04-20 21:00:34 +00:00
poplib.py Issue #6622: Fix 'variable referenced before assignment' bug in POP3.apop. 2009-08-06 16:06:25 +00:00
posixpath.py #9018: os.path.normcase() now raises a TypeError if the argument is not str or bytes. 2010-06-25 10:56:11 +00:00
pprint.py Issue 3976: fix pprint for sets, frozensets, and dicts containing unorderable types. 2009-11-19 01:07:05 +00:00
profile.py Remove traces of MacOS9 support. 2010-05-05 19:11:21 +00:00
pstats.py Forward port total_ordering() and cmp_to_key(). 2010-04-05 18:56:31 +00:00
pty.py Issue #3782: os.write() must not accept unicode strings 2008-09-15 23:02:56 +00:00
py_compile.py Create __pycache__ dir when the pyc path is explicitly given 2010-05-08 19:52:21 +00:00
pyclbr.py Merged revisions 62425-62429,62434-62436,62441,62444,62446-62448,62450-62455,62463,62465-62466,62469,62474,62476-62478,62480,62485,62492,62497-62498,62500,62507,62513-62514,62516,62521,62531,62535,62545-62546,62548-62551,62553-62559,62569,62574,62577,62593,62595,62604-62606,62608,62616,62626-62627,62636,62638,62644-62645,62647-62648,62651-62653,62656,62661,62663,62680,62686-62687,62696,62699-62703,62711 via svnmerge from 2008-05-04 22:42:01 +00:00
pydoc.py Remove traces of MacOS9 support. 2010-05-05 19:11:21 +00:00
queue.py port the queue change r70405 2009-03-21 17:36:10 +00:00
quopri.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
random.py Issue #7435: Remove duplicate int/long tests, and other 2009-12-05 20:28:34 +00:00
re.py Merged revisions 70090 via svnmerge from 2009-03-02 05:21:55 +00:00
reprlib.py Rename the repr module file to reprlib.py. 2008-05-16 16:05:36 +00:00
rlcompleter.py Merged revisions 65168 via svnmerge from 2008-07-21 16:32:10 +00:00
runpy.py PEP 3147 2010-04-17 00:19:56 +00:00
sched.py Merged revisions 72932 via svnmerge from 2009-05-26 07:51:03 +00:00
shelve.py Merged revisions 78141-78142 via svnmerge from 2010-02-11 02:42:19 +00:00
shlex.py Patch# 1258 by Christian Heimes: kill basestring. 2007-10-16 18:12:55 +00:00
shutil.py Merged revisions 80837 via svnmerge from 2010-05-05 22:43:04 +00:00
site.py Merged revisions 81465-81466,81468,81679,81735,81760,81868,82183 via svnmerge from 2010-06-27 21:45:24 +00:00
smtpd.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
smtplib.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
sndhdr.py Improved patches for sndhdr and imghdr by Victor Stinner, who writes: 2007-08-13 17:50:00 +00:00
socket.py Merged revisions 74426 via svnmerge from 2010-01-04 04:50:36 +00:00
socketserver.py Merged revisions 80484 via svnmerge from 2010-04-25 22:01:43 +00:00
sre_compile.py Merged revisions 66894 via svnmerge from 2008-10-14 23:07:40 +00:00
sre_constants.py #2834: Change re module semantics, so that str and bytes mixing is forbidden, 2008-08-19 17:56:33 +00:00
sre_parse.py #6509: fix re.sub to work properly when the pattern, the string, and the replacement were all bytes. Patch by Antoine Pitrou. 2010-03-06 15:24:08 +00:00
ssl.py Issue #4870: Add an options attribute to SSL contexts, as well as 2010-05-21 09:56:06 +00:00
stat.py Merged revisions 61644,61646-61647,61649-61652,61656-61658,61663,61665,61667 via svnmerge from 2008-03-20 10:49:03 +00:00
string.py Merged revisions 75070 via svnmerge from 2009-09-26 12:33:22 +00:00
stringprep.py Merged revisions 55007-55179 via svnmerge from 2007-05-07 22:24:25 +00:00
struct.py Issue #8973: Add __all__ to struct module, so that help(struct) correctly 2010-06-12 15:17:02 +00:00
subprocess.py Merged revisions 82075 via svnmerge from 2010-06-18 20:03:54 +00:00
sunau.py Issue #8897: Fix sunau module, use bytes to write the header. Patch written by 2010-06-07 20:14:04 +00:00
symbol.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
symtable.py simplify this expression 2009-06-28 19:30:36 +00:00
sysconfig.py Fix for buildbot failure in r81999. 2010-06-15 21:19:50 +00:00
tabnanny.py Issue #8774: tabnanny uses the encoding cookie (#coding:...) to use the correct 2010-05-21 10:52:08 +00:00
tarfile.py Issue #8784: Set tarfile default encoding to 'utf-8' on Windows. 2010-06-11 23:46:47 +00:00
telnetlib.py - fix issue #6106, Telnet.process_rawq default handling of WILL/WONT/DO/DONT 2009-07-26 22:23:04 +00:00
tempfile.py #6077: on Windows, fix truncation of a tempfile.TemporaryFile opened in "wt+" mode: 2009-11-30 00:08:56 +00:00
textwrap.py Merged revisions 74779-74786,74793,74795,74811,74860-74861,74863,74876,74886,74896,74901,74903,74908,74912,74930,74933,74943,74946,74952-74955,75015,75019,75032,75068,75076,75095,75098,75102,75129,75139,75230 via svnmerge from 2009-10-04 14:49:41 +00:00
this.py Fix most trivially-findable print statements. 2007-02-09 05:37:30 +00:00
threading.py Issue #850728: Add a *timeout* parameter to the acquire() method of 2010-04-17 23:51:58 +00:00
timeit.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
token.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
tokenize.py fix for files with coding cookies and BOMs 2010-03-18 22:34:15 +00:00
trace.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
traceback.py Issue #4486: When an exception has an explicit cause, do not print its implicit context too. 2009-11-28 16:12:28 +00:00
tty.py
turtle.py Merged revisions 79297,79310,79382,79425-79427,79450 via svnmerge from 2010-03-28 00:25:02 +00:00
types.py Merged revisions 62194,62197-62198,62204-62205,62214,62219-62221,62227,62229-62231,62233-62235,62237-62239 via svnmerge from 2008-04-09 08:37:03 +00:00
uu.py convert shebang lines: python -> python3 2010-03-11 22:53:45 +00:00
uuid.py Merged revisions 82276 via svnmerge from 2010-06-27 12:45:47 +00:00
warnings.py Merged revisions 75365,75394,75402-75403,75418,75459,75484,75592-75596,75600,75602-75607,75610-75613,75616-75617,75623,75627,75640,75647,75696,75795 via svnmerge from 2009-10-27 15:28:25 +00:00
wave.py use floor division where needed #7681 2010-01-13 03:49:50 +00:00
weakref.py Issue #7105: Make WeakKeyDictionary and WeakValueDictionary robust against 2010-01-08 17:54:23 +00:00
webbrowser.py Remove conditional import of 'ic', that module 2010-05-30 15:46:48 +00:00
wsgiref.egg-info
xdrlib.py Raise statement normalization in Lib/. 2007-08-30 01:19:48 +00:00
zipfile.py PEP 3147 2010-04-17 00:19:56 +00:00