References#

Books#

Professional Python Programming

Open access book that covers topics that are important for a professional programmer.

https://pythonbook.org/

Python Programming for Data Science

Covers everything you need to know to start using Python for data science.

https://www.tomasbeuzen.com/python-programming-for-data-science/README.html

The Hitchhiker’s Guide to Python

Python Best Practices Guidebook.

https://docs.python-guide.org/

Intermediate Python

The topics which are discussed in this book open up your mind towards some nice corners of Python language.

https://book.pythontips.com/en/latest/index.html

Foundations of Python Programming

This book is to teach you to understand and create computer programs in Python. With hands-on activities!

https://runestone.academy/ns/books/published/fopp/index.html

Python Programming for Economics and Finance

Python for scientific computing, with a focus on economics and finance.

https://python-programming.quantecon.org/intro.html

Python for Data Analysis, 3E

This book is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python.

https://wesmckinney.com/book/

Python Data Science Handbook

A book about doing data science with Python.

https://jakevdp.github.io/PythonDataScienceHandbook/

Python Packages

Python Packages is an open source book that describes modern and efficient workflows for creating Python packages.

https://py-pkgs.org/welcome

Python & OpenGL for Scientific Visualization

he goal of this book is to reconciliate Python programmers with OpenGL, providing both an introduction to modern OpenGL and a set of basic and advanced techniques in order to achieve both fast, scalable & beautiful scientific visualizations.

https://www.labri.fr/perso/nrougier/python-opengl/

From Python to Numpy

The goal of this book is to explain advanced techniques for using Numpy.

https://www.labri.fr/perso/nrougier/from-python-to-numpy/

A Whirlwind Tour of Python

A Whirlwind Tour of Python is a fast-paced introduction to essential features of the Python language, aimed at researchers and developers who are already familiar with programming in another language.

https://jakevdp.github.io/WhirlwindTourOfPython/

pyOpenSci Python Package Guide

Learn how to create a Python package from start to finish. Also great tutorials for writing test, documentation and more!

https://www.pyopensci.org/python-package-guide/index.html

Commercial companies#

Anaconda

Anaconda sits at the center of the AI revolution. We provide data science tools, MLOps, and data & model management to empower our customers and community with AI capabilities to propel their projects forward.

https://www.anaconda.com/

Communities#

Pallets

Pallets is the open source community organization that develops and supports popular Python frameworks.

https://palletsprojects.com/

Jazzband

Jazzband is a collaborative community to share the responsibility of maintaining Python-based projects.

https://jazzband.co/

Conda Community

A community supporting a language-agnostic, multi-platform package management ecosystem for projects of any size and complexity.

https://conda.org/

PyData

PyData is an educational program of NumFOCUS, a 501(c)(3) nonprofit charity.

https://pydata.org/

Foundations#

NumFOCUS

NumFOCUS is to promote open practices in research, data, and scientific computing

https://numfocus.org/

pyOpenSci

Community that supports free and open Python tools for processing scientific data.

https://www.pyopensci.org/python-package-guide/index.html

GUI frameworks#

PY4WEB

PY4WEB is a web framework for the rapid development of efficient database driven web applications. It is an evolution of the popular web2py framework but much faster and slicker.

https://github.com/web2py/py4web

Lona

Write responsive web apps in full python

https://github.com/lona-web-org/lona

Shiny

Build fast, beautiful web applications in Python.

https://github.com/posit-dev/py-shiny/

HTTP programming#

urllib3

urllib3 is a powerful, user-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries:

https://github.com/urllib3/urllib3

Manuals#

Conda Documentation

Conda’s documentation! Conda provides package, dependency, and environment management for any language.

https://docs.conda.io/projects/conda/en/stable/

Setuptools

Building and Distributing Packages with Setuptools. If you are not (yet) using Hatch, this is a good manual for using setup tools.

https://setuptools.pypa.io/en/latest/userguide/

Mamba’s documentation

Mamba is a fast, robust, and cross-platform package manage

https://mamba.readthedocs.io/en/latest/

pex

A tool for generating .pex (Python EXecutable) files, lock files and venvs.

https://docs.pex-tool.org/

Py-Pkgs-Cookiecutter

py-pkgs-cookiecutter is a cookiecutter template for creating a fully-featured Python package using poetry. It supplements the Python Packages book by Tomas Beuzen and Tiffany Timbers but can be used independently.

https://py-pkgs-cookiecutter.readthedocs.io/en/latest/

PSF documentation#

Official Python documentation

The source for the official documentation. Always up-to-date.

https://docs.python.org

The Python Language Reference

This reference manual describes the syntax and “core semantics” of the language.

https://docs.python.org/3/reference/index.html

Python Enhancement Proposals (PEPs)

This PEP contains the index of all Python Enhancement Proposals (PEPs)

https://peps.python.org/

Python Packaging User Guide

A collection of tutorials and references to help you distribute and install Python packages with modern tools.

https://packaging.python.org/en/latest/

pip

pip is the package installer for Python.

https://pip.pypa.io/en/stable/

Package repositories#

conda-forge

Community-led recipes, infrastructure and distributions for conda.

https://conda-forge.org/

Python packages

The Python Package Index (PyPI) is the defacto standard repository of software for the Python programming language.

https://pypi.org/

Parsing#

Beautiful Soup

A program designed for screen-scraping HTML.

https://code.launchpad.net/beautifulsoup

lxml

lxml is the most feature-rich and easy-to-use library for processing XML and HTML in the Python language.

https://lxml.de/

Professional programming#

Google Python Style Guide

Python is the main dynamic language used at Google. This style guide is a list of dos and don’ts for Python programs.

https://google.github.io/styleguide/pyguide.html

Python Enhancement Proposals (PEPs)

This PEP contains the index of all Python Enhancement Proposals (PEPs)

https://peps.python.org/

Professional Python Programming

Open access book that covers topics that are important for a professional programmer.

https://pythonbook.org/

PyPI Stats

The best FOSS tool for PyPI statistics. It offers per package the PyPI downloads with analytics dashboard.

https://pypistats.org/

uv

An fast Python package and project manager, written in Rust.

https://docs.astral.sh/uv/

Python Packaging User Guide

A collection of tutorials and references to help you distribute and install Python packages with modern tools.

https://packaging.python.org/en/latest/

pip

pip is the package installer for Python.

https://pip.pypa.io/en/stable/

Hatch

Hatch is a modern, extensible Python project manager.

https://hatch.pypa.io/latest/

pipx

Install and Run Python Applications in Isolated Environments

https://pipx.pypa.io/stable/

pex

A tool for generating .pex (Python EXecutable) files, lock files and venvs.

https://docs.pex-tool.org/

mypy

Mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or “duck”) typing and static typing.

https://www.mypy-lang.org/

Py-Pkgs-Cookiecutter

py-pkgs-cookiecutter is a cookiecutter template for creating a fully-featured Python package using poetry. It supplements the Python Packages book by Tomas Beuzen and Tiffany Timbers but can be used independently.

https://py-pkgs-cookiecutter.readthedocs.io/en/latest/

pyOpenSci Python Package Guide

Learn how to create a Python package from start to finish. Also great tutorials for writing test, documentation and more!

https://www.pyopensci.org/python-package-guide/index.html

TUI frameworks#

PyTermGUI

Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!

https://github.com/bczsalba/pytermgui

Typer

Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints.

https://typer.tiangolo.com/

Python Prompt Toolkit

Library for building powerful interactive command line applications in Python

https://github.com/prompt-toolkit/python-prompt-toolkit

Rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

https://github.com/Textualize/rich

Fire

Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. Is is the simpelest way to create a CLI application!

https://github.com/google/python-fire

Mesop

Rapidly build AI apps in Python. With Google FOSS software.

https://google.github.io/mesop/

Dear PyGui

A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

https://github.com/hoffstadt/DearPyGui

Testing#

pytest

The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

https://pytest.org/en/latest/

Pynguin

Pynguin (IPA: ˈpɪŋɡuiːn), the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.Pynguin is developed at the Chair of Software Engineering II of the University of Passau.

https://www.pynguin.eu/