While listening to the Talk Python to me podcast I stumbled across this episode which talks in depth about “20 python libraries you aren’t using (but should)”.
This episode interviews Caleb Hattingh, who is the author of ’20 Python Libraries You Aren’t using (but should)’. For full show notes head over to the Talk Python to Me website.
The 20 libraries are:
- collections – for working with dicts and you want to preserve the order.
- contextlib – makes it easier to create your own context manager.
- concurrent.futures – an alternative to multiprocessing that makes it easy to switch between thread based or process based applications.
- logging – saving log messages to file
- sched – a scheduling library within python itself with similar functionality to cron on linux or Task Scheduler on Windows
- flit – simplifies the process of submitting a python package to Python Package Index (PyPI)
- colorama – for printing messages with colour. Primarily for use when scripts are only going to be run on the command line.
- colorlog – logging functionality with colour printing based on the the severity of the log message
- begins – an easier way to pass command line arguments to your function.
- pyqtgraph – a plotting library with the ability to plot streaming data.
- pywebview – a way to make a GUI application in python, also while leveraging some browser capabilities
- psutil – complete access to system information.
- Watchdog – receives notifications of changes in the file system.
- ptpython – an alternative interpreter interface (similar to ipython)
- hug – a simple way of creating web APIs
- arrow – allows working with date times where everything has a timezone
- parsedatetime – parses date times including some natural language inputs
- boltons – a general purpose collection of python modules to extend the built in capabilities
- cython – converts python to C source code, normally used for improved speed.
- awesome-python – not a library but a list of high quality python libraries
From this list I have already started to incorporate colorlog into my python scripts, it makes debugging so much easier for long running scripts as you can see clearly where the warnings and critical issues are.
A copy of this book is available from O’Reilly on their website.20-python-libraries-you-arent-using-but-should