On Mon, Jun 29, 2020 at 10:20:40AM -0000, [email protected] wrote:
> Why I want that ?
> Okay, here are the reasons:
> 1) Security issue, should be fixed as soon as possible without waiting
> 2 months or 1 year for next CPython release
That is an excellent argument, but is that *our* responsibility?
There are many third party distributors that bundle Python and can
provide a much faster bug fix schedule, e.g. Anaconda, Red Hat, other
Linux distributions. (Apologies if I have missed anyone.)
Some of them have more resources in time, money and available manpower
than we have.
If you want security fixes faster than the Python-Devs are capable of
releasing them, perhaps you ought to pay a third-party?
> 2) Modules could be evolved independently that will allow to use some
> features of package earlier ... (crucial in our "Fast" World)
You say "crucial", I say "terrible". Our "fast world" is not something
we should be encouraging. It is bad for people and bad for technology.
Libraries in the std lib should not be evolving fast. Stability is more
important than rapid development, and if a library is so experimental
that it needs rapid development, then it is too experimental to be in
the std lib.
Third-party libraries can evolve as fast or as slow as they want; the
Python std lib is under tension between people who want faster evolution
and people who want stability, and we have to balance those two desires.
As a compromise between "change once a month" and "change once a
decade", I think Python's release cycle is not too bad.
> 3) If library modularized I can remove parts of it on constrained
> environments (microcontroller) or in environments where we try to same
> each byte of disk memory Interfaces between modules would be thinner
> and visible that will allow to download as many packages as need for
> this module or library
You can already do that. There are at least two currently maintained
Pythons for small systems, MicroPython and CircuitPython. There may be
others.
The question is not whether Python's standard library can be split up,
but whether we should force it to be split up for *everyone*, making
everyone's life more complicated in order to simplify the needs of a
minority of developers.
I have written a lot of code that has to run on older versions or
installations without third-party libraries, so I have lots of
feature-detection code:
try:
min([1], key=lambda x: None)
except TypeError:
# Current system is too old to support key functions.
# Create our own basic version.
...
At the beginning, it's lots of fun to come up with clever ways to detect
features which might be missing, and then find a work around. But it
gets tiresome and painful very quickly.
It is much better to work with a known environment: if I am running in
Python 3.9, then *all these libraries and features come in a bundle*. If
everything could change independently, then we would need feature-
detection and version checks everywhere. That is not enjoyable, and it
increases the complexity for *everyone* even when they get no benefit.
--
Steven
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/F7EFK5IIFG22NCKSW43OGR3IULKUO3SB/
Code of Conduct: http://python.org/psf/codeofconduct/