orphan:

Some Context

(origins) http://www.python.org/community/sigs/retired/import-sig/ http://www.python.org/dev/peps/pep-3121/#id11 (1.5) http://www.python.org/doc/essays/packages.html #http://www.python.org/doc/essays/packages/ Modula-3 influence: http://python-history.blogspot.com/2009/02/adding-support-for-user-defined-classes.html http://python-history.blogspot.com/2009/01/brief-timeline-of-python.html http://python-history.blogspot.com/2009/03/dynamically-loaded-modules.html http://docs.python.org/dev/whatsnew/index.html http://python.org/download/releases/src/ http://hg.python.org/cpython-fullhistory/tags http://hg.python.org/cpython-fullhistory/graph/3cd033e6b530?revcount=800 http://hg.python.org/cpython-fullhistory/log/62bdb1cbe0f5/Python/import.c?revcount=120 initial: http://hg.python.org/cpython-fullhistory/file/fc6fcd7df4f7/Python/import.c 0.9.8: http://hg.python.org/cpython-fullhistory/file/17eff686be30/Python/import.c builtin___import__(), importdl.c: http://hg.python.org/cpython-fullhistory/rev/d7e91437f0a2 PyImport_Import: http://hg.python.org/cpython-fullhistory/rev/292193170da1 highlights of “What’s New”: http://nedbatchelder.com/blog/201109/whats_in_which_python.html code_swarm: http://vimeo.com/1093745

(ni) introduced (1.3): http://hg.python.org/cpython-fullhistory/rev/ec0b42889243 deprecated (1.5): http://docs.python.org/release/1.5/lib/node40.html still lives: http://docs.python.org/library/imputil.html#examples

(ihooks) introduced (1.3): http://hg.python.org/cpython-fullhistory/rev/ec0b42889243 removed (3.0): http://docs.python.org/release/2.6.2/library/undoc.html#miscellaneous-useful-utilities http://pydoc.org/2.4.1/ihooks.html

—–

The versions and dates are derived from a post on Guido’s “History of Python” blog. I’ve correlated the entries in section B.1 to versions by either explicit reference or by matching their commits to a version. Section B.2 also maps commits to versions. In both cases, I did my best to determine that mapping, but some may be off by a version.

The Extended Timeline

Initial Checkin (1990)
  • Checks sys.modules
  • Loads modules from sys.path or current dir (if sys.path is empty)
  • Supports IMPORT_NAME and IMPORT_FROM opcodes
  • No support for .pyc files
  • No support for packages
  • No support for C extension modules?
  • No ImportError
Python 0.9.1 (Feb. 1991)
Python 1.0 (1994)
  • Support for extension modules
  • Support for .pyc files
Python 1.2 (1995)
  • (Python/bltinmodule.c) __import__() builtin introduced
  • (Python/import.c) dynamic module support factored out into importdl.c
Python 1.3 (1995)
  • “ni” module introduced
Python 1.4 (1996)
http://docs.python.org/release/1.4/ref/ *
Python 1.5 (1998)
  • Support for packages
  • “site-packages” and “site-python” directories introduced
  • “__all__” introduced
  • “ni” module deprecated
  • (Python/import.c) PyImport_Import() introduced
Python 2.0 (2000)
Python 2.1 (2001)
  • PEP 235 – Import on Case-Insensitive Platforms
Python 2.2 (2001)
Python 2.3 (2003)
  • PEP 273 – Import Modules from Zip Archives
  • PEP 302 – New Import Hooks
Python 2.4 (2004)
  • PEP 328 – Imports: Multi-Line and Absolute/Relative (multi-line portion)
Python 2.5 (2006)
  • PEP 328 (relative imports portion)
  • PEP 338 – Executing modules as scripts
Python 2.6/3.0 (2008)
  • PEP 366 – Main module explicit relative imports
  • PEP 370 – Per user site-packages directory
Python 3.0 (2008)
  • reload removed from builtins
  • ihooks module removed from stdlib
  • imputil module removed from stdlib
Python 3.1 (2009)
Python 3.2 (2011)
  • PEP 3147 – PYC Repository Directories
Python 3.3 (2012)
  • see appendix D