Glossary

Python

Programming language

CPython

Reference implementation

Jupyter Notebook (ipython)

https://jupyter.org/: The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.

Common Libraries

Buildin libraries

Path manypulation functions os.path or object-oriented filesystem paths. pathlib
tempfile e.g.: tempfile.TemporaryDirectory
data serialization: e.g.: json, pickle
itertools e.g.: itertools.zip_longest
functools e.g.: functools.partial
collections e.g.: collections.defaultdict, collections.OrderedDict
contextlib e.g.: contextlib.contextmanager
Parallelization concurrent.futures e.g.: concurrent.futures.ThreadPoolExecutor
Shell commands subprocess e.g.: subprocess.run
Pretty printer pprint, alternative IPython.lib.pretty.pprint

And many more.

Numpy/scipy

Numpy (np) is the base library for numeric problems. It contains the array datatype (np.ndarray) that is commonly used. You can find there many math functions (np.sum, np.einsum, np.linalg.norm, np.fft.fft, …).

Plotting: Matplotlib/seaborn

Plotting librarys. Matplotlib is the base library for plots in python. Additionally there are numerous libraries which focus on beatiful plots and easier handling which build upon matplotlib. We generally recommend to use seaborn for special plots such as histograms, violinplots etc.

Pandas

High-Perfomance Table style data representation

Dask

Parallelisation of operations in DataFrames, Arrays or Lists

Scikit-Learn (SK-Learn)

Machine Learning Library containing many popular methods in the areas of Classification, Regression, Clustering, Dimensionality Reduction, Model Selectioan and Preprocessing.

Neural Networks

There are many Neural Networks Toolboxes available for python (SK-Learn beeing already one of them). We generally recommend using TensorFlow or PyTorch.

SymPy

Symbolic computations

Sacred

Experiment configuration library (log configuration, stdout, …) and command line interface: python -m path.to.experimentfile with parameter1=2

Pytest

Testing library