Fwd: Re: Are "Batteries Included" still a Good Thing? [was: It's now time to deprecate the stdlib urllib module]

---------- Forwarded message --------- From: Sasha Kacanski <skacanski@gmail.com> Date: Wed, Mar 30, 2022, 2:55 PM Subject: Re: [Python-Dev] Re: Are "Batteries Included" still a Good Thing? [was: It's now time to deprecate the stdlib urllib module] To: Paul Moore <p.f.moore@gmail.com> Cc: Christopher Barker <pythonchb@gmail.com>, Ethan Furman < ethan@stoneleaf.us>, Python Dev <python-dev@python.org> Agree with Paul, Best of python always was, you can do almost everything with standard libs, but then novice becomes better developer and starts exploring libs and tools that wrap stuff or perform better or has functionality that stdlib does not support right of the bet they start using variety of libs that suits their needs. Regards, Sasha On Sun, Mar 27, 2022, 8:06 PM Paul Moore <p.f.moore@gmail.com> wrote:
On Sun, 27 Mar 2022 at 17:11, Christopher Barker <pythonchb@gmail.com> wrote:
With the json package included, all they need to do is `import json`. If
on PYPI, and it's HUGE -- most of them are for specialized JSON-using
that wasn't there, they's look in PyPi for a JSON implementation, and find an absolutely astonishing number of options. I just did a search for "JSON" protocols of some sort. I was actually really surprised that couple I know about of the top of my head (ujson, orjson) are actually hard to find.
"You can just pip install it" is really not a good solution.
In fact, this is an example, I think, of where we should put some effort
into making the included batteries better -- it's great to have a JSON lib built in, but it's too bad that it's not best-of-bread by pretty much any definition (speed, memory performance, flexibility) -- there are quite a few feature requests open for it -- it would be nice to actually implement some of those. (but yes, that's a lot of work that someone(s) would have to do)
Back to the topic at hand, rather than remove urllib, maybe it could be
made better -- an as-easy-to-use-as-requests package in the stdlib would be really great.
I think that's where the mistake happens, though. Someone who needs "best of breed" is motivated (and likely knowledgeable enough) to make informed decisions about what's on PyPI. But someone who just wants to get the job done probably doesn't - and that's the audience for the stdlib. A stdlib module needs to be a good, reliable set of basic functionality that non-experts can use successfully. There can be better libraries on PyPI, but that doesn't mean the stdlib module is unnecessary, nor does it mean that the stdlib has to match the PyPI library feature for feature.
So here, specifically, I'd rather see urlllib be the best urlllib it can be, and not demand that it turn into requests. Requests is there if people need/want it (as is httpx, and urllib3, and aiohttp). But urllib is for people who want to get a file from the web, and *not* have to deal with dependencies, 3rd party libraries, etc.
The "batteries included" standard library and PyPI complement each other. Neither is redundant, and neither implies the other is unnecessary.
Paul _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/E2FGXTYO... Code of Conduct: http://python.org/psf/codeofconduct/
participants (1)
-
Sasha Kacanski