Python - gusenov/kb GitHub Wiki
misc.
- Python documentation
- Stepik
- Хендбуки Академии Яндекса / Основы Python
- Invent with Python
- Python Decorators Explained For Beginners
- Cinder
- facebookincubator/cinder Cinder is Meta's internal performance-oriented production version of CPython.
- Writing a symbolizer (a function that can go from address to function name) for the Cinder JIT by Max Bernstein
- Real Python
- Profiling in Python How to Find Performance Bottlenecks
- Write More Pythonic Code (Learning Path) most valuable best practices so you can write clean, readable, and Pythonic code
- NumPy The fundamental package for scientific computing with Python
- SciPy Fundamental algorithms for scientific computing in Python
- Matplotlib Visualization with Python
- Numba A High Performance Python Compiler
- JetBrains / Guide
- pydantic/FastUI Build better UIs faster.
- pydantic/pydantic Data validation using Python type hints
- jpmorganchase/python-training Python training for business analysts and traders
- Scientific-Python.org
- Homoiconic Python by MOHAMMED AL JAMAL
- Хабр / Python в Enterprise-разработке: почему популярность ЯП распространилась и на корпоративный сектор.
- Learn Python in 10 minutes by Stavros Korokithakis
- How to build a query language in Python by James
- Medium / 10 Ways to Work with Large Files in Python: Effortlessly Handle Gigabytes of Data! by Aleksei Aleinikov
- freeCodeCamp.org / Python Curriculum 2024 Upgrade – Interactive Python Learning in your Browser
Syntax
- Real Python
- Python Keywords: An Introduction There are 35 keywords and four soft keywords in Python. Python keywords are the fundamental building blocks of any Python program. Learn each keyword's basic syntax and usage to write more efficient and readable code.
- Control Flow Structures in Python
- BNF Notation: Dive Deeper Into Python's Grammar
- Хабр
History, evolution
Project Structure
- Real Python
- Structuring a Python Application common Python application layouts and project structures for command-line applications, web applications
- How Can You Structure Your Python Script?
- Хабр / Анатомия проекта по автоматизации на Python: как не запутаться в тестах
Data Structures and Algorithms (DSA)
- Real Python
- Build a Hash Table in Python With TDD classic hash table data structure
JSON
- ijl/orjson Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
- Хабр / Ускоряем сериализацию JSON в Python с orjson и Rust
YAML
- Real Python / YAML: The Missing Battery in Python
Ecosystem
- RealPython.com / Python Development Tools the most common tools used in the Python ecosystem
- Хабр / Ускоряем разработку: инструменты экосистемы Python
- MachineLearningMastery.com / Exploring the Python Ecosystem
- Medium
- Understanding the Python Ecosystem: A Comprehensive Guide by Instaily Academy
- Pithy guide to Python ecosystem by Héla Ben Khalfallah
- Understanding the Python Ecosystem: Modules, Packages, Libraries, and Frameworks, with a Focus on TensorFlow by Ajeet Verma
Typing
- RealPython.com / Duck Typing in Python: Writing Flexible and Decoupled Code
- microsoft/pyright Static Type Checker for Python
- Pyrefly A Static Type Checker for Python
- Dropbox / Our journey to type checking 4 million lines of Python by Jukka Lehtosalo
- Towards Data Science / Type Hints in Python
- astral-sh/ty An extremely fast Python type checker and language server, written in Rust.
- timeweb.cloud / Типизация в Python: гайд
- Книга «Типизированный Python для профессиональной разработки»
Strings
mypy
- mypy-lang.org is an optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing.
- python/mypy Optional static typing for Python
- Real Python / Type Checking With Mypy (Video)
- DEV Community / Advanced Static Typing with mypy by Chad Dombrova
- Medium / The Comprehensive Guide to mypy by Tushar Sadhwani
Wikipedia
- Jinja (template engine) is a web template engine for the Python programming language.
Books
- Real Python / The Best Python Books
- Automate the Boring Stuff with Python. Practical Programming for Total Beginners by Al Sweigart
- Essential SQLAlchemy by Jason Myers and Rick Copeland - 206 pages
- Math Adventures with Python. An Illustrated Guide to Exploring Math with Code by Peter Farrell - 304 pages
- Publishing Python Packages. TEST, SHARE, AND AUTOMATE YOUR PROJECTS by DANE HILLARD - 248 pages
- Learn Python the Hard Way
Коллекции
Flask
- Python API Development Fundamentals. Develop a full-stack web application with Python and Flask by Jack Chan, Ray Chung, Jack Huang
- Flask: Building Python Web Services. Unleash the full potential of the Flask web framework by creating small to large and powerful web applications. A course in three modules by Gareth Dwyer, Shalabh Aggarwal, Jack Stouffer
- RealPython.com
- The GitHub Blog / GitHub for Beginners: Building a REST API with Copilot creating a Python/Flask backend with GitHub Copilot's help, covering database setup, user authentication, endpoints
- The Flask Mega-Tutorial
Django
- Django 4 for the Impatient. Learn the core concepts of Python web development with Django in one weekend by Greg Lim, Daniel Correa - 190 pages
- Decoupled Django: Understand and Build Decoupled Django Architectures for JavaScript Front-ends by Valentino Gagliardi - 236 pages
- Building Versatile Mobile Apps with Python and REST. RESTful Web Services with Django and React by Art Yudin - 348 pages
- Building SPAs with Django and HTML Over the Wire. Learn to build real-time single page applications with Python by Andros Fenollosa - 264 pages
- JetBrains / Working with Django in PyCharm Professional Edition
- encode/django-rest-framework Web APIs for Django. 🎸
Test-Driven Development (TDD)
- Python Unit Test Automation. Automate, Organize, and Execute Unit Tests in Python by Ashwin Pajankar - 209 pages
- Hypothesis is a modern implementation of property based testing
- freeCodeCamp / How to Write Unit Tests in Python – with Example Test Code Unit testing lets you test individual parts of your software applications.
pytest
- Python Testing with pytest. Simple, Rapid, Effective, and Scalable by Brian Okken - 272 pages
- журнал «Код» / Pytest: что это и как фреймворк помогает тестировать приложения на Python
- pytest fixtures are magic!
- YouTube / pytest magic
- Medium / PyTest Magic Screencast by Bruce Krayenhoff
- Harnessing the magic of pytest and mocking for transformers models by Flavia Salutari
Tkinter (Python's de-facto standard GUI)
Visual Studio Code
- Python in Visual Studio Code
- Visual Studio Marketplace
Consulting
- Trey Hunner help Python developers level-up their skills through Python Morsels, weekly Python exercise service.
Object-oriented (OO)
- freeCodeCamp.org
- How to Use Object-Oriented Programming in Python – Key OOP Concepts and Interview Questions for Beginners Object-oriented programming encourages you to structure your code around objects. And it can help you write more modular, reusable, and scalable software.
- What is Polymorphism in Python? Explained with an Example The word Polymorphism comes from the Greek and means "having many forms".
- 20 most common magic methods in Python OOP
- Real Python
- Implementing an Interface in Python how to implement formal and informal interfaces
- Understanding Informal Interfaces (Video)
- SOLID Principles: Improve Object-Oriented Design in Python These principles can help you create code that is more maintainable, extensible, scalable, and testable.
Error Handling
- freeCodeCamp.org / Error Handling in Python – try, except, else, & finally Explained with Code Examples When you're coding in Python, you'll need to know how to handle errors effectively. So Gage wrote this guide to teach you about basic error handling techniques in Python. He covers try, except, else, and finally & demos how they work with code examples.
- KDnuggets.com
Logging
- RealPython.com
- Logging in Python If you use Python's print() function to get information about the flow of your programs, then logging is the natural next step for you.
- Logging in Python: Introduction (Video)
- How to Use Loguru for Simpler Python Logging spend less time wrestling with logging configuration and more time using logs effectively to debug issues
- Хабр / Тонкости работы с логгированием в Python: краткий гайд для разработчиков
- DogukanUrker/Tamga Modern, logging utility for Python with multiple output formats and colorful console output.
- The Hitchhiker's Guide to Python / Writing Great Python Code / Logging
- Dash0 / Application Logging in Python: Recipes for Observability
Persistence
- RealPython.com / The Python pickle Module: How to Persist Objects in Python
Memory Management
- Real Python / Memory Management in Python about Python’s internal memory management algorithms
- Хабр / Управление памятью в Python: как язык заботится о ресурсах за вас и когда стоит вмешаться
ORM
- InfoWorld / The best ORMs for database-powered Python apps
- GitHub / Tortoise Familiar asyncio ORM for python, built with relations in mind
- tortoise/orm-benchmarks Simple benchmark suite so we can make tortoise go faster
- Хекслет / Python: Django ORM
Critique
Command-Line
- tomerfiliba/plumbum is a small yet feature-rich library for shell script-like programs
- RealPython.com
- Click and Python: Build Extensible and Composable CLI Apps how to use the Click library to build robust, extensible, and user-friendly command-line interfaces (CLI) for your Python automation and tooling scripts.
- 4 Techniques for Testing Python Command-Line (CLI) Apps "lo-fi" print debugging, using a visual debugger, unit testing, and integration testing
- Command Line Interfaces in Python (Overview) (Video)
- pexpect/pexpect A Python module for controlling interactive programs in a pseudo-terminal
- KDnuggets / Python Typer Tutorial: Build CLIs with Python in Minutes
- google/python-fire Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
GUI
- Real Python / Build Cross-Platform GUI Apps With Kivy
Debugging
- gruns/icecream 🍦 Never use print() to debug again.
- Real Python / How to Debug Common Python Errors
- YouTube / NeuralNine / Debugging 101: Replace print() with icecream ic()
- Hackaday / Roll Your Own Python Debugger
Profiling
- PolarSignals.com / Profiling Python and Ruby using eBPF
Versus
- Real Python / Python vs JavaScript for Pythonistas
- Хабр / Python vs Java: кто быстрее и дешевле
Curriculum, roadmaps
- Python Engineer Roadmap!
- Python learning roadmap
- Хабр / Самый полный Роадмеп бэкенд-разработчика на Python с нуля 2025
Courses
- KDnuggets
- Coursera
- Яндекс Практикум
- Selectel
- Senior Junior / Python
- Free Python Course by Cisco: No Prior Experience Necessary!
Design Patterns
- Design Patterns You Should Unlearn in Python by Racey Chan
Games
- HowToGeek.com / 4 Great Games That Teach You Python (Without Feeling Like Work)
Packaging
- Poetry Python dependency management and packaging made easy
- The Data Quarry / uv: Towards a unified vision for Python tooling
Concurrency
- freeCodeCamp.org / Entering into the World of Concurrency with Python
- Хабр / Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python