Website | Docs (Python3)
Implementations:
Not sure if this is a library or an implementation or a tool, it's sort of all three: VPython, 3D Programming for Ordinary Mortals
Language extensions and/or libraries close to the language
FFI
- JPype: A Python module that provides seamless access to Java libraries from Python using JNI. (Source)
- pyobjc (Source): The Python-to-Objective-C bridge
Build tools
Makefiles
- https://www.kdnuggets.com/the-case-for-makefiles-in-python-projects-and-how-to-get-started
- Complete Makefile for Flask app
# Variables
PYTHON := python3
APP_NAME := myapp
TEST_PATH := tests/
.PHONY: help
help: ## Show this help message
@echo "Available commands for $(APP_NAME):"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'
.DEFAULT_GOAL := help
# Environment setup
.PHONY: install
install: ## Install all dependencies
$(PYTHON) -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
.PHONY: dev-setup
dev-setup: install ## Complete development setup
pre-commit install
@echo "✅ Development environment ready!"
# Code quality
.PHONY: format
format: ## Format code
black $(APP_NAME) $(TEST_PATH)
isort $(APP_NAME) $(TEST_PATH)
.PHONY: lint
lint: ## Run linting
flake8 $(APP_NAME) $(TEST_PATH)
black --check $(APP_NAME) $(TEST_PATH)
isort --check-only $(APP_NAME) $(TEST_PATH)
# Testing
.PHONY: test
test: ## Run tests
$(PYTHON) -m pytest $(TEST_PATH) -v
.PHONY: test-watch
test-watch: ## Run tests in watch mode
$(PYTHON) -m pytest $(TEST_PATH) -v --looponfail
.PHONY: coverage
coverage: ## Run tests with coverage
$(PYTHON) -m pytest $(TEST_PATH) --cov=$(APP_NAME) --cov-report=html --cov-report=term
# Development
.PHONY: serve
serve: ## Start development server
flask --app $(APP_NAME) run --debug --reload
.PHONY: shell
shell: ## Start application shell
flask --app $(APP_NAME) shell
# Database
.PHONY: db-migrate
db-migrate: ## Create database migration
flask --app $(APP_NAME) db migrate
.PHONY: db-upgrade
db-upgrade: ## Apply database migrations
flask --app $(APP_NAME) db upgrade
# Cleanup
.PHONY: clean
clean: ## Clean up generated files
find . -type f -name "*.pyc" -delete
find . -type d -name "__pycache__" -delete
rm -rf build/ dist/ *.egg-info/ htmlcov/ .coverage .pytest_cache/
# All-in-one commands
.PHONY: check
check: lint test ## Run all checks
.PHONY: fresh-start
fresh-start: clean install ## Clean everything and reinstall
Reading
Books
- 100 Page Python Intro - Sundeep Agarwal
- 20 Python Libraries You Aren't Using (But Should) - Caleb Hattingh
- A Beginner's Python Tutorial - Wikibooks
- A Byte of Python (3.x) (HTML, PDF, EPUB, Mobi)
- A Guide to Python's Magic Methods - Rafe Kettler
- A Practical Introduction to Python Programming - Brian Heinold (HTML, PDF, Exercises sources)
- A Whirlwind Tour of Python - Jake VanderPlas (PDF) (EPUB, MOBI)
- Architecture Patterns with Python - Harry J.W. Percival & Bob Gregory (HTML)
- Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners - Al Sweigart (3.8)
- Beej's Guide to Python Programming - For Beginners - B. Hall (HTML,PDF)
- Beyond the Basic Stuff with Python - Al Sweigart (3.x)
- Biopython Tutorial and Cookbook (PDF)
- Build applications in Python the antitextbook (3.x) (HTML, PDF, EPUB, Mobi)
- Building Skills in Object-Oriented Design, V4 - Steven F. Lott (3.7)
- Building Skills in Python - Steven F. Lott (PDF) (2.6)
- Clean Architectures in Python - Leonardo Giordani (3.x)
- Code Like a Pythonista: Idiomatic Python - David Goodger
- CodeCademy Python
- Composing Programs (3.x)
- Cracking Codes with Python - Al Sweigart (3.6)
- Data Structures and Algorithms in Python - B. R. Preiss (PDF)
- Dive into Python 3 - Mark Pilgrim (3.0)
- Dive into Python - Mark Pilgrim (2.3)
- From Python to NumPy - Nicolas P. Rougier (3.6)
- Full Stack Python - Matt Makai
- Functional Programming in Python - David Mertz
- Fundamentals of Python Programming - Richard L. Halterman (PDF) (:construction: in process)
- Google's Python Class (2.4 - 2.x)
- Google's Python Style Guide
- Hadoop with Python - Zachary Radtka, Donald Miner
- Hands-On Natural Language Processing with Python - Rajesh Arumugam, Rajalingappaa Shanmugamani (Packt account required)
- Hitchhiker's Guide to Python! (2.6)
- How to Code in Python 3 - Lisa Tagliaferri (PDF)
- How to Make Mistakes in Python - Mike Pirnat (PDF) (1st edition)
- How to Think Like a Computer Scientist: Learning with Python, Interactive Edition - Brad Miller, David Ranum, Jeffrey Elkner, Peter Wentworth, Allen B. Downey, Chris Meyers, and Dario Mitchell (3.2)
- How to Think Like a Computer Scientist: Learning with Python 1st Edition - Allen B. Downey, Jeff Elkner and Chris Meyers (2.4) (HTML, PDF)
- How to Think Like a Computer Scientist: Learning with Python 2nd Edition - Jeffrey Elkner, Allen B. Downey, and Chris Meyers (Using Python 2.x)
- How to Think Like a Computer Scientist: Learning with Python 3 (RLE) - Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers (PDF)
- Inside The Python Virtual Machine - Obi Ike-Nwosu (HTML, PDF, EPUB, Kindle) (Leanpub account or valid email requested)
- Intermediate Python - Muhammad Yasoob Ullah Khalid (1st edition)
- Introduction to Programming with Python (3.3)
- Introduction to Programming Using Python - Cody Jackson (1st edition) (2.3)
- Introduction to Python - Kracekumar (2.7.3)
- Introduction to Python for Econometrics, Statistics and Numerical Analysis - Kevin Sheppard (PDF) (3.8)
- Invent Your Own Computer Games With Python - Al Sweigart (3.4)
- Learn Python, Break Python
- Learn Python Programming, Second Edition - Fabrizio Romano (Packt account required)
- Learn Python the Right Way
- Learn to Program Using Python - Cody Jackson (PDF) (:card_file_box: archived)
- Learning to Program
- Lectures on scientific computing with python - J.R. Johansson (2.7)
- Making Games with Python & Pygame - Al Sweigart (3.2)
- Math for programmers (using python)
- Modeling and Simulation in Python - Allen B. Downey (PDF)
- Modeling Creativity: Case Studies in Python - Tom D. De Smedt (PDF)
- Natural Language Processing (NLP) with Python — Tutorial (PDF)
- Natural Language Processing with Python (3.x)
- Non-Programmer's Tutorial for Python 3 - Wikibooks (3.3)
- Official NumPy Reference - The NumPy Community (PDF)
- Picking a Python Version: A Manifesto - David Mertz
- Porting to Python 3: An In-Depth Guide (2.6 - 2.x & 3.1 - 3.x)
- Practical Programming in Python - Jeffrey Elkner (PDF)
- Practice Python Projects - Sundeep Agarwal
- Problem Solving with Algorithms and Data Structures using Python - Bradley N. Miller and David L. Ranum (3.x)
- Program Arcade Games With Python And Pygame (3.3)
- Programming Computer Vision with Python (PDF)
- Programming for Non-Programmers, Release 2.6.2 - Steven F. Lott (PDF) (2.6)
- PySDR: A Guide to SDR and DSP using Python - Dr. Marc Lichtman (3.x)
- Python 101 - Michael Driscoll (HTML, TEXT)
- Python 2 Official Documentation (PDF, HTML, TEXT) (2.x)
- Python 2.7 quick reference - John W. Shipman (PDF) (2.7)
- Python 3 Official Documentation (PDF, EPUB, HTML, TEXT) (3.x)
- Python 3 Tutorial
- Python Data Science Handbook - Jake VanderPlas (HTML, Jupyter Notebooks)
- Python for Everybody - Charles Russell Severance (PDF, EPUB, HTML) (3.x)
- Python for Informatics: Exploring Information - Charles Russell Severance (2.7.5)
- Python for you and me (2.7.3)
- Python for you and me (3.x)
- Python Idioms (PDF)
- Python in Education - Nicholas Tollervey
- Python in Hydrology - Sat Kumar Tomer
- Python Koans (2.7 or 3.x)
- Python Machine Learning By Example - Yuxi (Hayden) Liu (Packt account required)
- Python Module of the Week (3.x)
- Python Module of the Week (2.x)
- Python Notes for Professionals - Compiled from StackOverflow documentation (PDF)
- Python Practice Book (2.7.1)
- Python Practice Projects
- Python Programming - Wikibooks (2.7)
- Python Programming - Wikibooks (PDF) (2.6)
- Python Programming And Numerical Methods: A Guide For Engineers And Scientists - Qingkai Kong, Timmy Siauw, Alexandre Bayen (3.7)
- Python Tutorial - Tutorials Point
- Scipy Lecture Notes
- SICP in Python (3.2)
- Slither into Python: An introduction to Python for beginners (3.7) (:card_file_box: archived)
- Supporting Python 3: An In-Depth Guide (2.6 - 2.x & 3.1 - 3.x)
- Test-Driven Web Development with Python: Obey the Testing Goat! using Django, Selenium and Javascript - Harry J.W. Percival (HTML) (3.3 - 3.x)
- Text Processing in Python - David Mertz (2.3 - 2.x)
- The Big Book of Small Python Projects - Al Sweigart
- The Coder's Apprentice: Learning Programming with Python 3 - Pieter Spronck (PDF) (3.x)
- The Definitive Guide to Jython, Python for the Java Platform - Josh Juneau, Jim Baker, Victor Ng, Leo Soto, Frank Wierzbicki (2.5)
- The Little Book of Python Anti-Patterns (Source)
- The Programming Historian - William J. Turkel, Adam Crymble and Alan MacEachern
- The Python GTK+ 3 Tutorial
- The Python Handbook - Flavio Copes (PDF, EPUB, Kindle) (email address requested)
- The Standard Python Library - Fredrik Lundh
- Think Complexity - Allen B. Downey (2nd Edition) (PDF, HTML)
- Think DSP - Digital Signal Processing in Python - Allen B. Downey (PDF, HTML)
- Think Python 2nd Edition - Allen B. Downey (3.x) (HTML, PDF)
- Tiny Python 3.6 Notebook - Matt Harrison (3.6)
- Web2py: Complete Reference Manual, 6th Edition (pre-release) (2.5 - 2.x)
- "What are Mixin classes in Python?"
Django
Flask
Kivy
Pandas
Pyramid
Tornado
Articles:
Interesting examples:
Tags:
platform
language
functional
dynamic
object
metaobject
Last modified 23 August 2025