A little bit else I would like to discuss

Christian Heimes lists at cheimes.de
Thu Feb 12 17:08:05 EST 2009


Martin wrote:
[typos igored as requested ;)]

> How does "small and agile" work with "batteries included"?

The Python slogan says "batteries included", not "fusion reactor included".

> agile::
>  Would describe faster extension of the standard lib (rrd, yaml should
> IMHO already be in the standard lib). I'm pretty sure other people
> want to see other modules, but that's what agile + standard lib would
> mean for me. (Also I'm sometimes confused by the naming of modules but
> that's a different story)
> 
> small::
>  just the opposite of "batteries included"

We have very high standard for the inclusion of new packages to the
stdlib. For lot's of packages it makes no sense to add them to the
stdlib for one or more reason.

The rules are:

 * only mature, well tested, widely used software which is useful
   for a broad audience.
 * PSF License 2.0
 * follows rules for Python and C code
 * The extension must work cross platform as far as all platforms
   support it. Only Python and C89 compatible code, no C++
 * software must be supported for a long time, about 5 to 10 years
   is a minimum.
 * no new features during a release cycle of a minor version
   (about 2 to years)
 * incompatible changes and API changes need at least one minor release
   of deprecation warnings.

It takes at least 1.5 years to get a new feature into an extension and
at least 3 years to remove or change a feature. That's a major shop
stopper for every fast moving piece of Python software.

> My absolute favorite would be
> 
>  * python as just python (no standard lib)
>  * a (rather) fast moving standard lib available as an addon download
>   * possibly for each version
> 
> I guess that would mean *a lot* maintenance overhead so that will
> probably never.

We considered to remove optional software from the core like the email
package, TCL/TK and more. Eventually we decided against it for various
reasons. For one we don't have the resources to maintain additional
packages.

Christian




More information about the Python-list mailing list