Live data from Hacker News

Top Python libraries of 2020 you should know about

tryolabs.com

41–50 of 55 posts

Re: Top Python libraries of 2020 you should know about

#42
post #35

Earlier quoted context omitted.

After lots of experience with many Python package managers, I’ve always found conda to be the best across the board.

I tried conda on a couple of occasions, but it always took an absurd amount of time for dependency resolution (upwards of a minute on average hardware and smallish projects with a few heavyweight dependencies like numpy). Is that aspect better now?

It's still slow. The reason it's slow is because they use a complete SAT solver to do the resolution. So, it's slow, but it's also thorough. It gives some insight into why pip's dependency management is not thorough: they're clearly sacrificing completeness for performance.

Re: Top Python libraries of 2020 you should know about

#43
post #25

Absolutely off-topic, but can somebody advise on the best resource to learn the most up-to-date Python for somebody who is mentally stuck on Python 2.7-3.2? I always referred to Python when I needed to quickly write some tool for personal use, but never professionally, even though I am a professional programmer. And recently while writing something like this I was struck with how bad my Python actually is in 2020, co…

Just build something you need (or just a simple To Do app) and use a modern library / framework that uses the “new” stuff. I can highly recommend to give FastAPI a try. Even just going through the examples in the docs (amazing docs) should get you started.

Re: Top Python libraries of 2020 you should know about

#45
post #20
post #5

I've been using Python a lot, both professionally and privately. Been contributing to Cpython. Not sure I like the language. The best dependency manager (Poetry) is buggy. The default interpreter is slow. But I love the ecosystem of third party packades. Thank you! Python will be around for a long time.

Curious what bugs you have come across with poetry?

Race conditions in the installer. The parallel installer must be disabled.

But generally I like poetry and I am also a contributor (--remove-untracked). Don't want to bash it to much.

Re: Top Python libraries of 2020 you should know about

#48
post #35

Earlier quoted context omitted.

I tried conda on a couple of occasions, but it always took an absurd amount of time for dependency resolution (upwards of a minute on average hardware and smallish projects with a few heavyweight dependencies like numpy). Is that aspect better now?

It's still slow. The reason it's slow is because they use a complete SAT solver to do the resolution. So, it's slow, but it's also thorough. It gives some insight into why pip's dependency management is not thorough: they're clearly sacrificing completeness for performance.

As another data point, emerge has a noticeable delay (a few seconds, up to 10 or so for deep dep trees), but it does a full resolution and isn't using all cores (or isn't using them well anyway -- total utilization is under 15% while resolution is underway). It's much faster than conda on similar machines.

Is conda making a bunch of network calls as part of its resolution process?

Re: Top Python libraries of 2020 you should know about

#49
post #35

Earlier quoted context omitted.

I tried conda on a couple of occasions, but it always took an absurd amount of time for dependency resolution (upwards of a minute on average hardware and smallish projects with a few heavyweight dependencies like numpy). Is that aspect better now?

Nope, but it's worth it to find out about dependency problems before the installation, rather than after. Conda also handles C/C++ libraries well, which is a must if you're packaging DS/ML code for Python.

Oh, so does Conda proactively download metadata as part of its resolution process (as opposed to, e.g., greedily downloading immediate dependencies and walking that tree, which is what I assume Pip does?)?

Re: Top Python libraries of 2020 you should know about

#50
post #5

I've been using Python a lot, both professionally and privately. Been contributing to Cpython. Not sure I like the language. The best dependency manager (Poetry) is buggy. The default interpreter is slow. But I love the ecosystem of third party packades. Thank you! Python will be around for a long time.

In the contrary, I find Poetry is pretty buggy comparing to pipenv. I am a casual Python coder for fun and ran into issues with Poetry following their intro document. With pipenv, I have not encountered any of the issues so far.
Post reply on HN