Bytes, Characters and Python 2 by Reuven M. Lerner: Moving from Python 2 to 3? Here's what you need to know about strings and their role in in your upgrade.
Introducing Python 3.7's Dataclasses by Reuven M. Lerner: Python 3.7's dataclasses reduce repetition in your class definitions.
Examining Data Using Pandas by Reuven M. Lerner: You don't need to be a data scientist to use Pandas for some basic analysis.
Multiprocessing in Python by Reuven M. Lerner: Python's "multiprocessing" module feels like threads, but actually launches processes.
Launching External Processes in Python by Reuven M. Lerner: Think it's complex to connect your Python program to the UNIX shell? Think again!
Thinking Concurrently: How Modern Network Applications Handle Multiple Connections by Reuven M. Lerner: exploring different types of multiprocessing and looks at the advantages and disadvantages of each.
Threading in Python by Reuven M. Lerner: threads can provide concurrency, even if they're not truly parallel.
Using Python for Science by Joey Bernard: introducing Anaconda, a Python distribution for scientific research.
Visualizing Molecules with Python by Joey Bernard: introducing PyMOL, a Python package for studying chemical structures.
Novelty and Outlier Detection by Reuven M. Lerner: we look at a number of ways you can try to identify outliers using the tools and libraries that Python provides for working with data: NumPy, Pandas and scikit-learn.