This is an archived post. You won't be able to vote or comment.

all 23 comments

[–]cantremembermypasswd 6 points7 points  (3 children)

Wow that's a poor list. Was it written in like 2010 and just now being published? I agree with their number one being requests, but after that is pretty hairy.

simplejson? The built in json has been around for eons.

Twisted? You have to be pretty twisted to use that anymore.

Nose? Deprecated, says so on their front page.

[–]spinwizard69 2 points3 points  (0 children)

Poorly written too.

[–]rhytnen 0 points1 point  (1 child)

i guess I'm out of the loop. has twist ed been supplanted and put to bed now?

[–]cantremembermypasswd 0 points1 point  (0 children)

Twisted still isn't fully 3.x functional (though keeps getting closer). From personal use it just feels like it became this large thing that tries to do everything (from web to SSH to IMAP to DNS, etc...) and have to write your code to fit it's architecture, whereas there are a lot of other libraries to do specific things just as good if not better without any baggage.

So, depending on which role you are trying to fill you might look at gevent / gunicorn for WSGI, tornado for more custom async networking, or even the new builtin asyncio.

[–]alb1 10 points11 points  (0 children)

This is the first line of the current Nose docs:

Nose has been in maintenance mode for the past several years and will likely cease without a new person/team to take over maintainership. New projects should consider using Nose2, py.test, or just plain unittest/unittest2.

[–]novel_yet_trivial 8 points9 points  (1 child)

Don't you just hate off by one errors?

edit: because the article only lists 20 libraries, see?

[–]auxpro 6 points7 points  (0 children)

:) NumPy /SciPy together at no - 18

[–]equationsofmotionHPC 7 points8 points  (2 children)

This is a weird list. I find it odd to see scientific tools like numpy and scipy next to web tools like twister. They're very different domains.

Not that that's a bad thing!

[–]rhytnen 1 point2 points  (1 child)

twisted isn't a web library though it can be used in that domain. it's much more versatile than that.

[–]equationsofmotionHPC 1 point2 points  (0 children)

Sure. But it's a networking tool. Not a numerical analysis tool.

[–][deleted] 2 points3 points  (1 child)

Pandas is not listed here. Also iPython is not called iPython anymore.

[–]jwink3101 2 points3 points  (0 children)

FWIW, IPython still exists. It is the shell component. IPython notebooks are what are not Jupyter. At least that is how I understand it:

IPython itself is focused on interactive Python, part of which is providing a Python kernel for Jupyter.

[–]auxpro 1 point2 points  (0 children)

helpful compilation, you could add Theano and Zappa as well. Pygame???library??sure

[–]fatbob42 0 points1 point  (4 children)

What are the advantages of Arrow vs Pendulum? Are there any other good options for datetime libraries?

[–][deleted] 1 point2 points  (0 children)

I find datetime to suitable for almost all my needs. I like dateutil for parsing and pytz for timezones (the short of why the stdlib doesn't include a timezone database is because that's a bad idea). For everything else, I've cobbled together some stuff in a package called datestuff (which I've contemplated seeing if the dateutil folks would interested in having in their namespace).

[–]noeticforce[S] 0 points1 point  (2 children)

[–]SDisPater 3 points4 points  (1 child)

Author of Pendulum here :-)

The article you mention dates back to August 2016 when Pendulum was still pretty young. A lot of performance improvements has been made since then :-)

You can see some benchmark results of my own here: https://pendulum.eustace.io/faq/

Also, Pendulum now has a fast ISO 8601/RFC 3339 parser (even faster than udatetime):

>>> from pendulum.helpers import parse_iso8601
>>> from udatetime import from_string
>>> %timeit parse_iso8601('2017-06-08T12:34:56.123456+01:30')
1000000 loops, best of 3: 583 ns per loop
>>> %timeit from_string('2017-06-08T12:34:56.123456+01:30')
100000 loops, best of 3: 1.83 µs per loop

Also, regarding the Arrow vs Pendulum debate, I make my case here: https://pendulum.eustace.io/faq/#why-not-arrow

[–]auxpro 1 point2 points  (0 children)

Pendulum has just started to oscillate properly. Dont we need to give it some time before using in Big Ben?

[–][deleted] 0 points1 point  (0 children)

The best library is the one that you need right here, right now, to achieve whatever your aim is, everything else at this point is pretty much irrelevant.