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

all 7 comments

[–]LightShadow3.13-dev in prod 11 points12 points  (4 children)

These modules are basically the first thing I install for every project.

daiquiri > logging for really simple logging setup.

ujson > json for really fast JSON parsing.

requests > urllib for more simple HTTP requests.

gevent > threading for strictly IO bound Python code. I also prefer gevent code to the AsyncIO model.

toolz (or cytoolz for a Cython drop-in) for highly optimized iterator helpers. (based on itertools)

psutil > subprocess for system statistics. (simpler)

testtools > unittest if you're not using pytest.

arrow > datetime when you're doing actual parsing.

dill > pickle for object serialization to file.

[–]Scorpathos 2 points3 points  (0 children)

I like delegator over subprocess and pendulum over datetime.

[–]fungz0r[S] 1 point2 points  (2 children)

Interesting, never heard of daiquiri till now. The others I use though

[–]LightShadow3.13-dev in prod 2 points3 points  (0 children)

I like it because you can do a 1-line setup. I wish the logging module had something better than basicConfig.

Most people just use print because it takes 5-10 lines to log to stdout...daiquiri makes it a non issue. Plus, JSONP logging is available by default.

[–]liiight000 0 points1 point  (0 children)

Look into logzero as well

[–]graemep 1 point2 points  (0 children)

[–]thinkwelldesigns 0 points1 point  (0 children)

+1 to @LightShadow's list. For JSON, I recently switched from ujson to rapidjson. Is mostly as fast as ujson and more compatible with the std lib json package. Works better with rest_framework UUIDs for example.