On Nov 12, 2009, at 11:57 AM, Jesse Noller wrote:

On Thu, Nov 12, 2009 at 2:38 PM, "Martin v. Löwis" <mar...@v.loewis.de> wrote:
I am not an expert, I am just another python learner. These are just my
views on the state of the standard libraries and to
make them state-of-the-art..! ;)

If I understand correctly, you want the (current) standard library to be
separated from the Python implementation, and available separately.

Interestingly enough, people are very much split over whether that would be a good thing or not. Some like it the way Python does, some dislike
it (and some quite strongly so).

In any case, many Python users consider it a good thing that it comes
"with batteries included", ie. with no need to add extra stuff for many
tasks.

Some of the Python maintainers have recently started objecting to this
setup, asking that the standard library should be split into separate
packages that are released and distributed independent of Python. Others
of us feel strongly that such a change should not be made.

So don't expect any immediate change to happen.

Regards,
Martin

Martin is correct; this came up on distutils-sig a month or so ago; I
proposed offering multiple downloads "with batteries" and "without
batteries (with the batteries on the side)". We decided as a group to
hold off on that until further in the future.

jesse


It's also worth noting that there are three issues with respect to standard library packaging which are all orthologous:

* Packaging for metadata: The standard library could be packaged so that there is consistent metadata about the distributions which compromise the standard library (version, author, maintainer, etc). This could be useful so that it would be easier to see at a glance which packages changed between any two Python releases. For example, I have a script which compares two working sets of packages and generates a web page with a colour-coded list of differences between those two working sets, based on the size of the version number bump, e.g. major.medium.minor (doesn't work with packages which use odd version numbering schemes). I've used this to compare working sets between different Grok releases or Plone releases to help see where the activity or major API changes might be happening inside any given Zope-based release. However, this script only works on 80% of the code, the other 20% is in the standard library, which is currently a black-box.

Also, if PEP 376 is accepted, then the standard library will be inviolation of the stanard metadata for installed packages unless this happens.

* Packaging for release: The standard library could be packaged so that releases happen on PyPI. This could be useful so that it's easier to consume newer versions of a package before those packages are included in the next Python release. It could also make Python upgrades easier, as you could hold-back packages which might otherwise break an application upon upgrade. I happened to find a bug in a standard library package today, and currently my option is to: Submit bug report to PyPI, wait for Python 2.7 release, then wait for Plone to update to Python 2.7. I'm looking at many years before this fix goes into my production application, so in the meantime I need to maintain a work-around for the bug as well account for the day when this bug is fixed. It makes a mess of the code. If it was possible to release this package on PyPI, this could reasonably happen in a few days or at worst a couple months. The setup.py for that package could be updated to require the newer version of the package, and the workaround could be removed from the code.

* Packaging for resizing: The standard library could be packaged so that it could be made smaller or larger, or there could be different sized standard libraries made with different Python releases.

So there are benefits to packaging the standard library which would be useful, for reasons which would have no impact on the "batteries included" aspect of Python.

Plus, if the standard library was packaged and releases were made on PyPI (in addition to including them normally in the Python releases), we *might* be able to use PyPI's commenting infrastructure on this packages (~evil grin~).


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to