News for hackers. Stuff that matters.
Re:How to make a Python package in 2021 by brundolf on Wednesday April 07, 2021 @11:51PM (#26734923)
Worth noting is that cargo and npm weren't "settled around"; they were developed and presented, from the beginning, alongside the relevant compiler and runtime. There was never a question; the batteries were included.

Leiningen is the weird one where people did actually settle fairly well around an unofficial solution in the absence of an official one. I think the norm with languages that forego official tooling is closer to what we've seen in Python.

Re:How to make a Python package in 2021 by xapata on Thursday April 08, 2021 @12:29AM (#26735098)
The Python community has considered an "official" packaging tool in the past, but in those conversations found that the community had too many preferences to find a good compromise. That's the trouble with having a highly diverse set of uses and integrations, and lots of legacy.

If you're curious, the email threads about Conda and defining wheels are interesting.

Re:How to make a Python package in 2021 by staticassertion on Thursday April 08, 2021 @12:42AM (#26735157)
I feel like the entire point of a BDFL is that they can just ignore this sort of thing and make the hard call, but it never happened.
Re:How to make a Python package in 2021 by divbzero on Thursday April 08, 2021 @01:05AM (#26735267)
Maybe it could still happen? It seems like a super high value challenge that the BDFL could take on: build out the official set of tools (setup.py, twine, virtualenv, pip) to support features that make people seek out alternatives (pyproject.toml, poetry, flit, conda, pyenv, pipenv).
Re:How to make a Python package in 2021 by jolux on Thursday April 08, 2021 @01:49AM (#26735486)
I realize this is controversial but from reading the docs I really thought Pipenv was the official solution. Took me a while to realize this wasn't the case.
Re:How to make a Python package in 2021 by divbzero on Thursday April 08, 2021 @02:01AM (#26735553)
I went through the same progression, thinking pipenv was the official solution before deciding it wasn’t. Then, just now, I realized that pipenv [1] is currently owned by the Python Packaging Authority (PyPA) who also owns pip [2] and virtualenv [3]. I don’t know the right answer but this illustrates the confusion of not coalescing around an official solution.

[1]: https://github.com/pypa/pipenv

[2]: https://github.com/pypa/pip

[3]: https://github.com/pypa/virtualenv

Re:How to make a Python package in 2021 by toyg on Thursday April 08, 2021 @05:11AM (#26736670)
What happened was that Kenneth Reitz socially-engineered his way into the PyPA to get his tool blessed. The community lashed out (since the tool had obvious shortcomings and a somewhat dubious development process) and recommendations were softened. Eventually the PyPA had to take over pipenv when Reitz had other issues, and they are now forever burdened with what is a bit of a dud.
Re:How to make a Python package in 2021 by xapata on Thursday April 08, 2021 @02:08AM (#26735600)
As I understand it, that was to prevent bad behavior rather than to signal approval.
Re:How to make a Python package in 2021 by staticassertion on Thursday April 08, 2021 @01:46AM (#26735464)
I think the time has passed, both in terms of there no longer being a BDFL, as well as Python passing a point where the call can be made.
Re:How to make a Python package in 2021 by divbzero on Thursday April 08, 2021 @01:52AM (#26735503)
Sadly I bet you’re right on this. My small sliver of hope is that Guido van Rossum’s ideas to “make using Python better” [1] include better packaging.

[1]: https://news.ycombinator.com/item?id=25071847

Re:How to make a Python package in 2021 by takluyver on Thursday April 08, 2021 @04:31AM (#26736412)
There are quite a lot of people working on better packaging (look at the Python discourse forum, for instance), but this is not really a topic that Guido has got involved in, at least in the time I've been paying attention.

But with or without a BDFL, one packaging tool to rule them all is a pretty tall order. The needs of a package like scipy, which incorporates C & Fortran code, are pretty different from something like requests. And different communities using Python have their own entrenched tools and techniques. It takes more than someone saying "Foo is officially blessed" to shift that, even if everyone respects the person saying that.

Re:How to make a Python package in 2021 by arthurcolle on Thursday April 08, 2021 @02:00AM (#26735550)
Is there a new BDFL? I remember reading this half a year ago or so https://hub.packtpub.com/why-guido-van-rossum-quit/
Re:How to make a Python package in 2021 by xapata on Thursday April 08, 2021 @12:55AM (#26735225)
On the whole, Guido's career as a BDFL was astoundingly effective. Maybe he made the right call. It'd have been a terrible idea to alienate the science community just when data science was taking off as a field.
Re:How to make a Python package in 2021 by staticassertion on Thursday April 08, 2021 @01:51AM (#26735500)
I'm not disagreeing, but I am curious if you have anything specific you would point to with regards to Guido's role being successful. I'm just ignorant really, it's not intended to be a leading question at all.
Re:How to make a Python package in 2021 by xapata on Thursday April 08, 2021 @02:01AM (#26735557)
Too many things to answer here. The easiest is to point to the popularity of the language. He's made decisions I disagree with, but I can't argue with success.
Re:How to make a Python package in 2021 by neolog on Thursday April 08, 2021 @02:04AM (#26735573)
I don't know how much the original author had to do with Python's success in the last 20 years. The success of Python in data science is because of NumPy/Scipy/Pandas. Things like packaging that needed leadership never got any.
Re:How to make a Python package in 2021 by xapata on Thursday April 08, 2021 @02:09AM (#26735609)
The leadership was that the science community would benefit from a science-specific tool, like Conda, and that making one ring to rule them all would be too difficult.

Also, yes, Guido and many other early contributers have been been active for 30ish years.

Re:How to make a Python package in 2021 by neolog on Thursday April 08, 2021 @08:55PM (#26745637)
Conda isn't really science specific, just like pip isn't webdev specific.
Re:How to make a Python package in 2021 by xapata on Friday April 09, 2021 @11:46AM (#26752046)
The result isn't, but the motivation was. And have you noticed who is using which tool?
Re:How to make a Python package in 2021 by toyg on Thursday April 08, 2021 @04:57AM (#26736588)
> The success of Python in data science is because of NumPy/Scipy/Pandas.

And NumPy/Scipy/Pandas exist (and are successful) because...? /s

Re:How to make a Python package in 2021 by regularfry on Thursday April 08, 2021 @10:32AM (#26739185)
Rubygems, and then Bundler, followed the same pattern. Neither was batteries-included, both were unofficial community efforts. Bundler directly influenced cargo.