0

Is there a single timeline-style resource available showing the history of the modules available in different versions of Python?

I'd like to, for instance, easily determine which version of Python introduced the pipes module, without needing to perform a binary search by installing different Python versions until I find a version that doesn't have it followed immediately by one that does.

2
  • 1
    Have you tried doing a binary search of docs.python.org? It has documentation on many historical versions of Python.
    – Kevin
    Dec 4, 2014 at 19:16
  • @Kevin Nope, I had somehow gotten the idea into my head that python.org doesn't maintain documentation for old versions. (I think I was confusing this with the C++ standard; it turns out it's very difficult to find old versions of the standard for free online. stackoverflow.com/a/26025026/1858225) So that would have worked, though now that I'm exploring it a bit it appears that the layout for the documentation has changed quite a bit over the years, which makes it slightly less convenient. Dec 4, 2014 at 21:31

1 Answer 1

2

The pipes module is pretty old. Most standard library modules that have been introduced in the last decade or so state when they were introduced on the module documentation page. For example, the sysconfig module was introduced in version 2.7.

Shameless plug: I have written a script called pyqver (on Github) that attempts to identify the minimum version of Python required to run a particular script. In the source, there is a table of modules and functions along with the version of Python where they were introduced. I see that I hadn't even included the pipes module because it was so old.

To answer your specific question, it appears that the pipes module was first documented in Python 1.5.2p1, released in July 1999. I found this by clicking through the links at on https://www.python.org/doc/versions/.

However, the pipes.py source file is considerably older than that. The first version appeared in October 1992 as can be seen in this commit, found from the file history at https://github.com/python/cpython/commits/master/Lib/pipes.py.

2
  • So, to answer the actual, general question: “Tough luck, you need to manually trawl through the docs for each version or through the git log and look whether the module in question is included. See also this script which does the search for you, for some recent-ish Python versions”. I'm a bit surprised Python doesn't have a more convenient mechanism, since Perl ships with the corelist tool that does exactly this.
    – amon
    Dec 4, 2014 at 19:55
  • @amon Sure, but pyqver still looks like a pretty awesome resource (thanks GregHewgill!). For most practical purposes, it's probably not even worth knowing which version of Python a module was included in if it was included prior to the introduction of Python 2. That said, an official corelist-type thing would be nice. Dec 4, 2014 at 21:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.