Python is a high-level, interpreted programming language known for its simplicity, readability, and versatility. Created by Guido van Rossum and first released in 1991, Python emphasizes code readability with its clean, easy-to-understand syntax, making it ideal for both beginners and experienced developers. Python supports multiple programming paradigms, including object-oriented, procedural, and functional programming, and has a vast ecosystem of libraries and frameworks that extend its functionality.
| Tool/Framework | Description |
|---|---|
| Dynaconf | Configuration Management for Python |
| CrytoLens | License and sell your software securely |
| Locust | An open source load testing tool |
| Pipdeptree | Display dependencies tree |
| Databases | Async database support for Python |
| Vulture | Find dead Python code |
| Hatch | Modern, extensible Python project management |
| Towncrier | Manage the release notes for your project |
| Gitlint | Linting for your git commit messages |
| License-check | Check python packages from requirement.txt and report issues |
| Pip-licenses | Dump the license list of packages installed with pip |
| Pycln | A formatter for finding and removing unused import statements |
| Typeshed | Collection of library stubs for Python, with static types |
| Safety | Checks Python dependencies for known security vulnerabilities |
| Orjson | Fast, correct Python JSON library |
| Pympler | Development tool to measure, monitor and analyze the memory behavior |
| Loguru | Python logging made simple |
| Debugpy | An implementation of the Debug Adapter Protocol for Python |
| Hey | HTTP load generator, ApacheBench (ab) replacement |
| Perfect | Prefect is a workflow orchestration tool empowering developers to build, observe, and react to data pipelines |
| Rich | Rich is a Python library for rich text and beautiful formatting in the terminal |
| Schedule | Python job scheduling for humans |
| Scalene | High-performance, high-precision CPU, GPU, and memory profile |
| Memray | Memory profiler |
| Jellyfish | Library for approximate and phonetic matching of strings |
| Dask | Parallel computing with task scheduling |
| Msgspec | A fast serialization and validation library |
| Attrs | Python Classes Without Boilerplate |
| Kivy | Open source UI framework |
| Griptape | Modular Python framework for AI agents and workflows with chain-of-thought reasoning |
| GSQuant | Python toolkit for quantitative finance |
| Quix | Python stream processing for Kafka |
| cuDF | cuDF - GPU DataFrame Library |
| pygwalker | Turn your pandas dataframe into an interactive UI |
| FastCRUD | FastCRUD offer a robust async CRUD operations and flexible endpoint creation utilities. |
| Ormar | Python async orm with fastapi in mind and pydantic validation |
| Logfire | Uncomplicated Observability for Python and beyond |
| Pathway | Python ETL framework for stream processing, real-time analytics, LLM pipelines, and RAG |
| Markitdown | Python tool for converting files and office documents to Markdown |
| VPS-audit | Lightweight, dependency-free bash script for security, performance auditing and infrastructure monitoring of Linux servers |
| Dependency Injector | Dependency injection framework for Python |
| Litestar | Production-ready, Light, Flexible and Extensible ASGI API framework |
Articles/Talks
- Libraries - Best of Python
- Python Packaging for Scientists
- Top Python libraries of 2022
- Say Goodbye to Loops in Python, and Welcome Vectorization!
- No really, Python’s pathlib is great
- Building Beautiful Command Line Interfaces with Python
- Using Alpine can make Python Docker builds 50× slower
- Leveraging Docker multi-stage builds in Python development
- Create a Multi-Stage Docker Build for Python Flask and Postgres
- Production-ready Docker packaging for Python developers
- Faster Docker builds with pipenv, poetry, or pip-tools
- Elegantly activating a virtualenv in a Dockerfile
- Multi-stage builds #2: Python specifics
- What to Do When Your Data Is Too Big for Your Memory?
- Google Python Style Guide
Inspired repositories
- All Algorithms implemented in Python ⇒ Algorithms
- Data-centric declarative deep learning framework ⇒ Structure, classes and decorators
- Petastorm⇒ Parquet, ML and more
- Python DDD Example and Techniques
- Python Wheel to Debian package converter
Installation previous versions
- Example in Debian/Ubuntu
# install repository
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
# python 3.X substitute for the version needed
sudo apt install python3.9 python3.9-venv python3.9-dev -yUse
Pipx
- Install pipx for isolated environments and Apps to use in general context, for example Hatch or PDM.
- Select which python use.
pipx install hatch uv pip-tools --python python3.11Hacth
- Create a project using Hatch.
hatch new --init- Create environment using UV.
hatch env create- Activate venv
hatch shell- Build project
hatch buildUV
- Create env with
uv
uv venv --python 3.11 - Compile requirements
uv pip compile requirements/requirements.in -o requirements/requirements.txt
uv pip install -r requirements/requirements.txtLibraries
Pydantic
Pytest
- HTML report pytest-html-reporter.
- Coverage test pytest-cov.
- Understanding fixtures.
- Scopes fixtures.
# list fixtures availables
pytest --fixtures
# run single function
pytest test_mod.py::test_func
# Marker tests
@pytest.mark.unit
def test_get()
pytest -m unit -v
# coverage instructions
--cov package --cov-branch --cov-report term-missingSetuptools
- Building and Distributing Packages with Setuptools
- Setup with CMake
- Classifiers por pytroject.toml and display in Pypi
Sphinx
- Best Sphinx extensions list
- Autobuild sphinx documentation
sphinx-autobuild docs/source docs/build/htmlMKdocs
Pre-commit
pre-commit run --files client/example.pyAlembic
alembic revision --autogenerate -m "New revision"
alembic upgrade head
alembic checkJWT
# pip install pyjwt
import jwt
encoded_jwt = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256')Commands
- List dependencies.
pip install pipdeptree pipdeptree > result.txt- List licenses.
pip install pip-licensespip-licenses --from=classifier --with-description --order=license --format=html --output-file=/result.html# show pip config
pip config list -v
# FLASK
flask routes00-python-path.py
echo ''import sys; sys.path.append('your-packages-route') ' > /home/ipython.profile_default/startup/00-python-path.pyUnderstanding Python Execution Flow

Web-GUIs
| Tool/Framework | Description |
|---|---|
| Dash | Data Apps & Dashboards for Python. No JavaScript Required. |
| Streamlint | A faster way to build and share data apps. |
| Gradio | Build and share delightful machine learning apps |
| Solara | A Pure Python, React-style Framework for Scaling Your Jupyter and Web Apps |
| ReactPy | It’s React, but in Python |
| Voila | Voilà turns Jupyter notebooks into standalone web applications |
| Reflex | Web apps in pure Python |
| Backstage | Backstage is an open framework for building developer portals |
| Mesop | Rapidly build AI apps in Python |
| Nicegui | Create web-based user interfaces with Python |