Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> By the way, "batteries included" is one of the BEST features of python.

None of these libraries need to be nuked from existence as a result of this change. I'd wager they'll move into PyPI modules so that teams relying on them could safely continue to do so.

> Have you tried to fix something in your house with a "homeowner's toolkit" which is usually something like a hammer, pliers, 2 screwdrivers, a putty knife and a few more basic tools? It is REALLY tedious, like writing a C program with a few basic tools like stdio and ctypes.

That's one extreme, but I don't think that's what's being proposed. The proposed model is closer to what Rust does today, where the core is slim, opening up new potential use cases, and the more complex functionality built on top of it is left to the community to maintain.

Take a look over some of the modules they're deprecating, like smtpd. What kind of standard library requires an SMTP daemon built in? That's akin to a homeowners toolkit including a planishing hammer [2] for some reason.

> I think if the cost of deploying a script is 1, deploying it + a dependency is literally something like 100x. You have to make assumptions about all the environments the script will run in, and they are usually wrong.

Depends on how it's done, honestly. Check out this Rust "scripting" system [1]. It has full support for third-party crates.

[1] https://github.com/DanielKeep/cargo-script

[2] https://en.wikipedia.org/wiki/Planishing



Sorry, my "batteries included" comment was independent of the changes proposed. I just love the rich library python provides (compared to other scripting languages).


I hope you didn't take my reply to be aggressive in any way! Standard library is always a point of contention in any environment and it's always good to explore all angles. It's kind of the ultimate bikeshed in a lot of ways. Python indeed is a very batteries-included language and there's a lot to like about that. I wonder if there's a way of preserving that by differentiating between a 'lite' and 'core' distribution so we can still meet the goals of the embedded / small system community?


> Take a look over some of the modules they're deprecating, like smtpd. What kind of standard library requires an SMTP daemon built in?

Just because it's not widely used doesn't mean it cannot be included in the stdlib. For instance, where I work, we have a MTA test framework that makes extensive use of smtpd to receive messages processed by our configured MTA which we then write to disk and subsequently make assertions on the message (e.g., contains certain headers, has certain recipients, etc.).

Having various protocols (client and server) in the stdlib is not a bad thing and, personally, I think it's very useful for testing purposes.


You couldn't set up a library dependency on smtpd or similar for your test project?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: