---
description: https://www.python.org/
---

# Python

## Resources

### Articles

* A Neural Network in 11 lines of Python - Andrew Trask
  * [Part 1](https://iamtrask.github.io/2015/07/12/basic-python-network/)
  * [Part 2 - Gradient Descent](https://iamtrask.github.io/2015/07/27/python-network-part2/)
* [A practical introduction to Functional Programming for Python coders](https://codesachin.wordpress.com/2016/04/03/a-practical-introduction-to-functional-programming-for-python-coders/) - Sachin Joglekar
* [Async Python: The Different Forms of Concurrency](https://masnun.rocks/2016/10/06/async-python-the-different-forms-of-concurrency/) - Abu Ashraf Masnun
* [AsyncIO for the Working Python Developer](https://yeraydiazdiaz.medium.com/asyncio-for-the-working-python-developer-5c468e6e2e8e) - Yeray Diaz
* [CLI tools hidden in the Python standard library](https://til.simonwillison.net/python/stdlib-cli-tools) - Simon Willison ([Hacker News thread](https://news.ycombinator.com/item?id=36515531))
* [Comprehensive Python Cheatsheet](https://gto76.github.io/python-cheatsheet/) - Jure Šorn
* [Escaping the PyJail](https://lbarman.ch/blog/pyjail/) - Ludovic Barman
* [Grok the GIL: How to write fast and thread-safe Python](https://opensource.com/article/17/4/grok-gil) - A. Jesse Jiryu Davis
* [How Python Asyncio Works: Recreating it from Scratch](https://jacobpadilla.com/articles/recreating-asyncio) - Jacob Padilla
* [How to recover lost Python source code if it's still resident in-memory](https://gist.github.com/simonw/8aa492e59265c1a021f5c5618f9e6b12) - Simon Willison
* [How To Write A Spelling Corrector](https://norvig.com/spell-correct.html) - Peter Norvig
* [Linear Programming with Python and PuLP](https://benalexkeen.com/linear-programming-with-python-and-pulp/) - Ben Alex Keen
* [List of Jupyter Notebooks](https://norvig.com/ipython/README.html) - Peter Norvig
* [Not-so-casual Performance Optimization in Python](https://www.nathom.dev/blog/casual_performance_optimization_python/) - Nathan Thomas
* [Profile a section of code with cProfile](https://adamj.eu/tech/2023/07/23/python-profile-section-cprofile/) - Adam Johnson
* [Python 201: A multiprocessing tutorial](https://www.blog.pythonlibrary.org/2016/08/02/python-201-a-multiprocessing-tutorial/) - Mike Driscoll
* [Python behind the scenes](https://tenthousandmeters.com/tag/python-behind-the-scenes/) - Victor Skvortsov
* [Python Classes, namedtuples and \_\_slots\_\_](https://maurodec.com/blog/classes-namedtuples-slots/) - Mauro de Carvalho
* [Python Packaging Is Good Now](https://glyph.twistedmatrix.com/2016/08/python-packaging.html) - Glyph Lefkowitz ([Reddit thread](https://www.reddit.com/r/Python/comments/4xnip4/python_packaging_is_good_now/))
* [Summary of Major Changes Between Python Versions](https://www.nicholashairs.com/posts/major-changes-between-python-versions/) - Nicholas Hairs
* [The Design & Implementation of the CPython Virtual Machine](https://blog.codingconfessions.com/p/cpython-vm-internals) - Abhinav Upadhyay
* [The Five Kinds of Python Functions](https://slott56.github.io/five-kinds-of-python-functions/assets/player/KeynoteDHTMLPlayer.html#0) - Steven F. Lott
* [The Flask Mega-Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) - Miguel Grinberg
* [The Meaning of Underscores in Python](https://dbader.org/blog/meaning-of-underscores-in-python) - Dan Bader
* [Things I’ve learned about building CLI tools in Python](https://simonwillison.net/2023/Sep/30/cli-tools-python/) - Simon Willison
* [Threaded Asynchronous Magic and How to Wield It](https://medium.com/hackernoon/threaded-asynchronous-magic-and-how-to-wield-it-bba9ed602c32) - Cristian Medina
* [Understanding all of Python, through its builtins](https://sadh.life/post/builtins/) - Tushar Sadhwani
* [Understanding Python Decorators in 12 Easy Steps!](http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/) - Simeon Franklin
* [Unicode in Python, Completely Demystified](http://farmdev.com/talks/unicode/) - Kumar McMiIlan
* [Weird Python "Features" That Might Catch You By Surprise](https://martinheinz.dev/blog/103) - Martin Heinz
* [When is Cheryl's Birthday?](https://nbviewer.jupyter.org/url/norvig.com/ipython/Cheryl.ipynb) - Peter Norvig
* [Writing a 6502 emulator in Python](https://dailystuff.nl/projects/writing-a-6502-emulator-in-python) - Dailystuff on the Internet

### Books

* [Effective Python](https://effectivepython.com/) - Brett Slatkin
* [Fluent Python](https://www.oreilly.com/library/view/fluent-python/9781491946237/) - Luciano Ramalho
* [Intuitive Python](https://pragprog.com/titles/dmpython/intuitive-python/) - David Muller
* [Practical Python Projects Book](https://practicalpython.yasoob.me/index.html) - Yasoob Khalid
* [Practices of the Python Pro](https://www.manning.com/books/practices-of-the-python-pro) - Dane Hillard
* [Python Distilled](http://www.dabeaz.com/python-distilled/) - David M. Beazley
* [Serious Python](https://nostarch.com/seriouspython) - Julien Danjou
* [Slither Into Python](https://www.slitherintopython.com/)
* [The Little Book of Python Anti-Patterns](https://docs.quantifiedcode.com/python-anti-patterns/index.html)
* Think Python: How to Think Like a Computer Scientist - Allen B. Downey
  * [Second Edition - version 2.4.0](https://greenteapress.com/thinkpython2/html/index.html)
  * [Third Edition](https://allendowney.github.io/ThinkPython/)

### Courses

* [Advanced Python Mastery](https://github.com/dabeaz-course/python-mastery) - David Beazley
* [Practical Python Programming](https://dabeaz-course.github.io/practical-python/) - David Beazley

### GitHub repositories

* [30 Days of Python](https://github.com/Asabeneh/30-Days-Of-Python)
* [Awesome asyncio](https://github.com/timofurrer/awesome-asyncio)
* [Awesome Functional Python](https://github.com/sfermigier/awesome-functional-python)
* [Awesome Python](https://github.com/vinta/awesome-python)
* [Awesome Python Books](https://github.com/Junnplus/awesome-python-books)
* [Awesome Python Decorator](https://github.com/Junnplus/awesome-python-books)
* [Awesome Python Talks](https://github.com/jhermann/awesome-python-talks)
* [decompyle3](https://github.com/rocky/python-decompile3) - Python decompiler
* [Free Python Books](https://github.com/pamoroso/free-python-books)
* [PyCrumbs](https://github.com/kirang89/pycrumbs)
* [Python Education](https://github.com/charlax/python-education)
* [Python GitHub Projects](https://github.com/checkcheckzz/python-github-projects)
* [Python Koans](https://github.com/gregmalcolm/python_koans) - Learn Python through TDD
* [Python Quick Tips](https://gist.github.com/sreeragh-ar/7facbf6aace844692eb0dd8f32ee5d4c)
* [Python Tips](https://github.com/smoqadam/python-tips)
* [Python Wats](https://github.com/cosmologicon/pywat)
* [Pytudes](https://github.com/norvig/pytudes) - Peter Norvig
* [uncompyle6 ](https://github.com/rocky/python-uncompyle6/)- Python decompiler

### Hacker News threads

* [Which book would you recommend for learning Python in detail?](https://news.ycombinator.com/item?id=34569425)

### Images

<figure><img src="https://3287763006-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNTfNUTqpRKTqOGTts0%2Fuploads%2FTd5Up313oopsLL7djVmW%2FPython%20Roadmap.jpg?alt=media&#x26;token=502943e5-94dc-4842-b156-5d9871744432" alt=""><figcaption></figcaption></figure>

![](https://3287763006-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MNTfNUTqpRKTqOGTts0%2F-Mk1Hzq1lz75_Zg68Yzj%2F-Mk6itXmt3Lv9zjVpsWI%2Fimage.png?alt=media\&token=7b66d8e3-ee17-4d33-a553-e18dbbb4aff8)

### Interpreters

* [CPython](https://github.com/python/cpython)
* [Cython](https://cython.org/) - C Extensions for Python
* [IronPython](https://ironpython.net/) - Python for .NET
* [Jython](https://www.jython.org/) - Python for the Java Virtual Machine
* [LPython](https://lpython.org/) - High performance typed Python compiler

### Libraries

* [Arcade ](https://api.arcade.academy/en/latest/index.html)- game development
* [bandit](https://bandit.readthedocs.io/en/latest/) - security issue scanner
* [CustomTkinter](https://customtkinter.tomschimansky.com/) - UI library based on Tkinter
* [Dear PyGui](https://dearpygui.readthedocs.io/en/latest/) - GUI toolkit built with Dear ImGui
* [docopt](https://docopt.org/) - command-line interface description language
* [Flet](https://flet.dev/) - web-based UI powered by Flutter
* [Loguru](https://github.com/Delgan/loguru) - Python logging made (stupidly) simple
* [MkDocs](https://www.mkdocs.org/) - project documentation with Markdown
* [NiceGUI](https://nicegui.io/) - web-based UI
* [Nuitka](https://nuitka.net/) - Python to executable compiler
* [peewee](https://docs.peewee-orm.com/en/latest/index.html) - simple and small ORM
* [Poetry](https://python-poetry.org/) - dependency management and packaging
* [py2wasm ](https://github.com/wasmerio/py2wasm)- Python to Wasm compiler
  * [Announcing py2wasm: A Python to Wasm compiler](https://wasmer.io/posts/py2wasm-a-python-to-wasm-compiler) - Syrus Akbary, Wasmer
* [pydantic](https://docs.pydantic.dev/latest/) - data validation
* [PySide6](https://pypi.org/project/PySide6/) - Qt for Python
* [Pyxel](https://github.com/kitao/pyxel) - A retro game engine for Python
* [ReactPy ](https://github.com/reactive-python/reactpy)- It's React, but in Python
* [Sanic](https://sanicframework.org/en/) - async web server/framework
* [Sphinx](https://www.sphinx-doc.org/en/master/index.html) - documentation generator
* [Streamlit](https://streamlit.io/) - web-based UI
* [vprof](https://github.com/nvdv/vprof) - visual profiler
* [wxPython](https://www.wxpython.org/) - GUI toolkit for Python
* [Z3](https://github.com/Z3Prover/z3) - theorem prover

### Tools

* [pyupgrade](https://github.com/asottile/pyupgrade)
* [Ruff](https://beta.ruff.rs/docs/) - linter
* [uv](https://github.com/astral-sh/uv) - package installer and resolver

### Videos

* [An Introduction to Property Based Testing](https://www.youtube.com/watch?v=fhFXg2f9D2A) - Alex Chan
* [Building native Rust modules for Python](https://www.youtube.com/watch?v=r2wCF5DjNJ4) - Arthur Pastel
* [Combining Rust and Python: The Best of Both Worlds?](https://www.youtube.com/watch?v=lyG6AKzu4ew) - ArjanCodes
* [Generators, coroutines and nanoservices](https://www.youtube.com/watch?v=tHLOtZNsCBc) - Reuven M. Lerner
* [Python Library Development](https://www.youtube.com/watch?v=F5BHCVlZly4) - Vitor Baptista
* [PyVideo.org](https://pyvideo.org/)
* [Rusty Python](https://www.youtube.com/watch?v=Y5XQR0wUEyM) - Robin Raymond
* [So you think you can PDB?](https://www.youtube.com/watch?v=P0pIW5tJrRM) - Clayton Parker
* [What is a Coroutine Anyway?](https://www.youtube.com/watch?v=GSiZkP7cI80) - John Reese

### Websites

* [Dis This](https://www.dis-this.com/) - Online Python disassembler
* [Full Stack Python](https://www.fullstackpython.com/)
* [futuecoder](https://futurecoder.io/) - learn python from scratch
* [New Coder](https://newcoder.io/tutorials/)
* [Practical Python Programming](https://dabeaz-course.github.io/practical-python/) - David Beazley
* [PyFlo](https://pyflo.net/) - The beginners guide to becoming a Python programmer
* [Pysheeet](https://www.pythonsheets.com/)
* [Python 3 Module of the Week](https://pymotw.com/3/)
* [Python API Checklist](https://devchecklists.com/python-api-checklist/)
* [Python Books](https://pythonbooks.org/)
* [Python Tutor](https://pythontutor.com/) - Visualize code execution
* [Python Type Challenges](https://python-type-challenges.zeabur.app/) ([GitHub](https://github.com/laike9m/Python-Type-Challenges))
* [Real Python](https://realpython.com/)
