References#
Books#
Professional Python Programming
Open access book that covers topics that are important for a professional programmer.
Python Programming for Data Science
Covers everything you need to know to start using Python for data science.
The Hitchhiker’s Guide to Python
Python Best Practices Guidebook.
Intermediate Python
The topics which are discussed in this book open up your mind towards some nice corners of Python language.
Foundations of Python Programming
This book is to teach you to understand and create computer programs in Python. With hands-on activities!
Python Programming for Economics and Finance
Python for scientific computing, with a focus on economics and finance.
Python for Data Analysis, 3E
This book is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python.
Python Data Science Handbook
A book about doing data science with Python.
Python Packages
Python Packages is an open source book that describes modern and efficient workflows for creating Python packages.
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.
From Python to Numpy
The goal of this book is to explain advanced techniques for using 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.
pyOpenSci Python Package Guide
Learn how to create a Python package from start to finish. Also great tutorials for writing test, documentation and more!
Commercial companies#
Astral
Next-gen Python tooling
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.
Communities#
Pallets
Pallets is the open source community organization that develops and supports popular Python frameworks.
Jazzband
Jazzband is a collaborative community to share the responsibility of maintaining Python-based projects.
Conda Community
A community supporting a language-agnostic, multi-platform package management ecosystem for projects of any size and complexity.
PyData
PyData is an educational program of NumFOCUS, a 501(c)(3) nonprofit charity.
Foundations#
NumFOCUS
NumFOCUS is to promote open practices in research, data, and scientific computing
pyOpenSci
Community that supports free and open Python tools for processing scientific data.
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.
Lona
Write responsive web apps in full python
Shiny
Build fast, beautiful web applications in Python.
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:
Manuals#
Conda Documentation
Conda’s documentation! Conda provides package, dependency, and environment management for any language.
Setuptools
Building and Distributing Packages with Setuptools. If you are not (yet) using Hatch, this is a good manual for using setup tools.
Mamba’s documentation
Mamba is a fast, robust, and cross-platform package manage
pex
A tool for generating .pex (Python EXecutable) files, lock files and venvs.
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.
PSF documentation#
Official Python documentation
The source for the official documentation. Always up-to-date.
The Python Language Reference
This reference manual describes the syntax and “core semantics” of the language.
Python Enhancement Proposals (PEPs)
This PEP contains the index of all Python Enhancement Proposals (PEPs)
Python Packaging User Guide
A collection of tutorials and references to help you distribute and install Python packages with modern tools.
pip
pip is the package installer for Python.
Package repositories#
conda-forge
Community-led recipes, infrastructure and distributions for conda.
Python packages
The Python Package Index (PyPI) is the defacto standard repository of software for the Python programming language.
Parsing#
Beautiful Soup
A program designed for screen-scraping HTML.
lxml
lxml is the most feature-rich and easy-to-use library for processing XML and HTML in the Python language.
Professional programming#
pandas docstring guide
The pandas guide for documenting code. Solid reference.
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.
Python Enhancement Proposals (PEPs)
This PEP contains the index of all Python Enhancement Proposals (PEPs)
Professional Python Programming
Open access book that covers topics that are important for a professional programmer.
PyPI Stats
The best FOSS tool for PyPI statistics. It offers per package the PyPI downloads with analytics dashboard.
uv
An fast Python package and project manager, written in Rust.
Python Packaging User Guide
A collection of tutorials and references to help you distribute and install Python packages with modern tools.
pip
pip is the package installer for Python.
Hatch
Hatch is a modern, extensible Python project manager.
pipx
Install and Run Python Applications in Isolated Environments
pex
A tool for generating .pex (Python EXecutable) files, lock files and venvs.
mypy
Mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or “duck”) typing and static typing.
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.
pyOpenSci Python Package Guide
Learn how to create a Python package from start to finish. Also great tutorials for writing test, documentation and more!
TUI frameworks#
PyTermGUI
Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
Typer
Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints.
Python Prompt Toolkit
Library for building powerful interactive command line applications in Python
Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
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!
Mesop
Rapidly build AI apps in Python. With Google FOSS software.
Reflex
Web apps in pure Python
Dear PyGui
A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
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.
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.