cpython/Misc
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
..
RPM issue5063: Fixes for building RPM on CentOS plus misc .spec file enhancements. 2010-01-16 04:35:26 +00:00
TextMate/Python-Dev.tmbundle Merged revisions 63208-63209,63211-63212,63214-63217,63219-63224,63226-63227,63229-63232,63234-63235,63237-63239,63241,63243-63246,63250-63254,63256-63259,63261,63263-63264,63266-63267,63269-63270,63272-63273,63275-63276,63278,63280-63281,63283-63284,63286-63287,63289-63290,63292-63293,63295-63296,63298-63299,63301-63302,63304-63305,63307,63309-63314,63316-63322,63324-63325,63327-63335,63337-63338,63340-63342,63344-63346,63348 via svnmerge from 2008-05-16 04:39:54 +00:00
Vim Blocked revisions 76154 via svnmerge 2009-11-08 21:41:27 +00:00
ACKS Issue #5094: The ``datetime`` module now has a simple concrete class 2010-06-14 14:15:50 +00:00
AIX-NOTES Merged revisions 69846 via svnmerge from 2009-02-21 20:59:32 +00:00
HISTORY Merged revisions 78760,78771-78773,78802,78922,78952 via svnmerge from 2010-03-14 10:56:14 +00:00
NEWS Implement importlib.abc.SourceLoader and deprecate PyLoader and PyPycLoader. 2010-06-27 23:57:46 +00:00
NEWS.help Bug #1014775: update NEWS.help for changes in docutils. 2004-08-30 14:33:25 +00:00
PURIFY.README Create the dbm package from PEP 3108. #2881. 2008-05-26 10:29:35 +00:00
Porting Merged revisions 78966,78970,79018,79026-79027,79055,79156,79159,79163-79164,79173,79176,79194,79208,79212 via svnmerge from 2010-03-21 23:13:07 +00:00
README Merged revisions 75370-75372 via svnmerge from 2009-10-11 21:24:34 +00:00
README.OpenBSD Add some notes about a recurring problem with OpenBSD 2006-01-09 07:29:03 +00:00
README.coverity Merged revisions 46753-51188 via svnmerge from 2006-08-11 14:57:12 +00:00
README.klocwork Merge current trunk into p3yk. This includes the PyNumber_Index API change, 2006-08-21 19:07:27 +00:00
README.valgrind Merge p3yk branch with the trunk up to revision 45595. This breaks a fair 2006-04-21 10:40:58 +00:00
RFD Initial revision 1994-01-26 10:20:16 +00:00
SpecialBuilds.txt Merged revisions 78760,78771-78773,78802,78922,78952 via svnmerge from 2010-03-14 10:56:14 +00:00
build.sh Merged revisions 78880 via svnmerge from 2010-03-12 21:29:28 +00:00
cheatsheet Merged revisions 73544 via svnmerge from 2009-06-24 06:42:05 +00:00
developers.txt Merged revisions 81531 via svnmerge from 2010-05-25 20:07:11 +00:00
gdbinit Make similar changes to 3.x version. 2010-01-14 01:14:50 +00:00
indent.pro Some new files... 1994-09-14 14:06:46 +00:00
maintainers.rst Added myself as a maintainer of time and datetime modules. 2010-06-08 17:06:48 +00:00
pymemcompat.h Fix grammatically inept comment. 2002-08-22 13:36:11 +00:00
python-config.in Fix python-config to use the new sysconfig module; silences deprecation warnings. 2010-04-06 21:30:42 +00:00
python-mode.el Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60568-60598,60600-60616 via svnmerge from 2008-02-06 14:31:34 +00:00
python-wing.wpr Merged revisions 70912,70944,70968,71033,71041,71208,71263,71286,71395-71396,71405-71406,71485,71492,71494 via svnmerge from 2009-04-11 20:45:40 +00:00
python.man Merged revisions 79878-79880 via svnmerge from 2010-04-07 04:04:10 +00:00
python.pc.in Merged revisions 72898 via svnmerge from 2009-05-24 20:39:11 +00:00
setuid-prog.c Recorded merge of revisions 81029 via svnmerge from 2010-05-09 15:52:27 +00:00
valgrind-python.supp #3791: remove last traces of bsddb. 2009-06-04 09:30:30 +00:00
vgrindefs Patch #1550800: make exec a function. 2006-09-06 06:51:57 +00:00

README

Python Misc subdirectory
========================

This directory contains files that wouldn't fit in elsewhere.  Some
documents are only of historic importance.

Files found here
----------------

ACKS		Acknowledgements
AIX-NOTES	Notes for building Python on AIX
build.sh	Script to build and test latest Python from the repository
cheatsheet	Quick summary of Python by Ken Manheimer
developers.txt	A history of who got developer permissions, and why
gdbinit		Handy stuff to put in your .gdbinit file, if you use gdb
HISTORY		News from previous releases -- oldest last
indent.pro	GNU indent profile approximating my C style
maintainers.txt	A list of maintainers for library modules
NEWS		News for this release (for some meaning of "this")
NEWS.help	How to edit NEWS
Porting		Mini-FAQ on porting to new platforms
PURIFY.README	Information for Purify users
pymemcompat.h	Memory interface compatibility file.
python.man	UNIX man page for the python interpreter
python-mode.el	Emacs mode for editing Python programs
python.pc.in	Package configuration info template for pkg-config
python-wing.wpr Wing IDE project file
README		The file you're reading now
README.coverity	Information about running Coverity's Prevent on Python
README.klocwork	Information about running Klocwork's K7 on Python
README.OpenBSD	Help for building problems on OpenBSD
README.valgrind	Information for Valgrind users, see valgrind-python.supp
RFD		Request For Discussion about a Python newsgroup
RPM		(Old) tools to build RPMs
setuid-prog.c	C helper program for set-uid Python scripts
SpecialBuilds.txt     Describes extra symbols you can set for debug builds
TextMate	A TextMate bundle for Python development
valgrind-python.supp  Valgrind suppression file, see README.valgrind
vgrindefs	Python configuration for vgrind (a generic pretty printer)
Vim		Python development utilities for the Vim editor