[Python-Dev] PEP 594: Removing dead batteries from the standard library
Glenn Linderman
v+python at g.nevcal.com
Wed May 22 14:56:55 EDT 2019
More information about the Python-Dev mailing list
Wed May 22 14:56:55 EDT 2019
- Previous message (by thread): [Python-Dev] PEP 594: Removing dead batteries from the standard library
- Next message (by thread): [Python-Dev] PEP 594: Removing dead batteries from the standard library
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Between this discussion and Steve Dower's recently referenced blog post at https://devblogs.microsoft.com/python/python-in-the-windows-10-may-2019-update/from which I quote below: > It’s been widely known for many years that Windows is the only > mainstream operating system that does not include a Python interpreter > out of the box. and Victor's and Eric's work to make embedding Python easier, it makes me wonder when emacs will include a Python interpreter as an extension language. On 5/22/2019 2:26 AM, Stephen J. Turnbull wrote: > Neil Schemenauer writes: > > > Here is an alternative, straw man, proposal. Split the CPython repo > > into two parts: > > > > - core Python: minimal possible stdlib > > - everything else > > I take issue with the characterization of "straw man," it's a > practical idea that turns out to be not so easy to implement. > > We tried to do this with XEmacs, and found it just didn't work for us. > It requires a lot of effort to pare a distribution down to a minimal > core. (In fact, we never got close.) We gave up on that idea after > only a year, and this was an age and an environment that did not have > pip-like support for installation of 3rd-party packages (which you > deprecate as "not really a great solution"), and a lot of people were > still downloading at ISDN speeds or worse. The demand for a minimal > core was correspondingly greater than today, I think. > > We did bundle most applications such as MUAs and even C/C++ > development support into sumo packages (one for general use, one for > packages that didn't function at all without the "MULE" multilingual > environment which was optional in XEmacs). But we still ended up with > many packages staying in the core distribution, because other parts of > the core or the installation process used them, and as you say "If I > have a script that uses one of these modules and it gets removed, my > script breaks." That annoyed core developers as much as anyone, and > they generally had priorities that did not emphasize minimalism (to > say the least). > > > When Python is released, provide installers for a Python that only > > includes the "core" part and a second installer that includes > > everything else. I realize this is more work for the release team. > > Hopefully with some scripting, it will not be too labour intensive. > > Creating the distributions (core and sumo) was not particularly > labor-intensive for us because we mostly didn't distribute binaries. > A few moderately baroque scripts did the trick. Automation has > advanced, but due to the amount of it it's still fragile, especially > when you're producing turn-key binary installers. > > As I mentioned above, it wasn't the release process that was the > bottleneck, it was other factors that made it hard to reduce the > core. We had an "xemacs-base" package that provided a set of "extra > tools" that some packages required, and libraries moved in and out of > it pretty much every release as some developer got tired of telling > people to install xemacs-base (back to core) or working around missing > features (move it to xemacs-base where it could be updated easily). > > These are the same things that Python maintainers mention as pros and > cons of having things in stdlib or out on PyPI. We learned there is a > sweet spot. I know we didn't hit it most of the time, but it's very > clear that both extremes are hard, if not infeasible, to maintain. > (At the maximalist extreme, even GNU Emacs doesn't really try to > include everything written in Emacs Lisp any more.) > > > To help the people who need 100s or 1000s of extra PyPI packages, > > we could develop a tool that creates a "sumo" Python installer, > > grabbing packages from PyPI and building a installer package. > > This could be done by any third party (it wouldn't even need to be a > public distribution, it could easily be an enterprise that open > sources an internal tool or a GSoC project). And it could be hosted > on PyPI itself, since it's not the kind of thing that enterprises need > to install on 100,000 workstations. > > > To install that package, you would not need network access. > > AIUI, it's not the network access that is usually the problem these > days, although it can be annoying if net access is flaky or if you > have to sneakernet USBs around. Still, "sneakernet" is basically a > one-off cost. The problem is that collections of random software from > untrusted sources are verboten in the enterprise. (Ah, those Walnut > Creek CDs were wonderful! I wonder what a modern AV tool would find > in them?!) I suppose that in those situations people already have the > necessary tooling to roll the sumo or provide an intranet repository; > the problem is navigating the red tape. > > > That doesn't need to happen right away. Also, maybe other Python > > distributions can fill that need if core Python devs don't want to > > build it. > > I don't think this is about what core devs do or don't want to build. > I also don't feel a strong sense among the core developers that they > don't want to maintain a "batteries included" standard library. Sure, > there's Christian's PEP, but there's also deliberate activity to > promote more participation at the core (ie, committer) level. AIUI, > Christian's PEP is about transparency of what is already happening > (WONTFIX-ing or long periods of inactivity on issues with modules of > "low importance" to the active core developers), and a first step > toward making a managed process for the deprecation of modules we > can't afford to maintain given others we have committed to maintain. > > Steve -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20190522/b3190044/attachment.html>
- Previous message (by thread): [Python-Dev] PEP 594: Removing dead batteries from the standard library
- Next message (by thread): [Python-Dev] PEP 594: Removing dead batteries from the standard library
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list