Skip to content

Python

About

I started this list in 2019 to keep my findings around cool Python projects I may use or work with. This is the time now to share it πŸŽ‰

Enjoy ❀️


AI

  • min-dalle β€” A minimal implementation of DALLΒ·E Mini.

  • petals β€” Run 100B+ language models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading.

API

  • ⭐ fastapi β€”Β FastAPI framework, high performance, easy to learn, fast to code, ready for production.

  • zeep (docs) β€”Β A modern/fast python SOAP client based on lxml / requests.

  • ⭐ flipt β€” An open-source, on-prem feature flag solution. Cross languages.

  • fastapi-best-practices β€” Best Practices and Conventions for Fast API.

Authentication

  • ⭐ authentik β€” An open-source Identity Provider focused on flexibility and versatility.

  • authlib β€” The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.

Automation

  • ⭐ doit (docs) β€” bringing the power of build-tools to execute any kind of task.

  • ⭐ fabric β€” Simple, Pythonic remote execution and deployment.

  • invoke β€” Pythonic task management & command execution.

  • pyautogui β€” Used to programmatically control the mouse & keyboard.

Builds

  • ⭐ pyinstaller β€” Freeze (package) Python programs into stand-alone executables

  • ⭐ Nuitka (sources)Β β€”Β translates the Python modules into a C level program that then uses libpython and static C files of its own to execute in the same way as CPython does.

  • pants β€” Pants v2 is a fast, scalable build system for growing codebases.

  • PyOxidizer β€” a modern Python application packaging and distribution tool.

  • tiamat β€” Single binary builder for Python projects.

Code Quality

  • commitizen β€” Create committing rules for projects πŸš€ auto bump versions ⬆️ and auto changelog generation πŸ“‚

  • ⭐ pre-commit β€” A framework for managing and maintaining multi-language pre-commit hooks.

  • variables naming cheatsheet β€” Comprehensive language-agnostic guidelines on variables naming.

  • ⭐ prospector β€” Inspects Python source files and provides information about type and location of classes, methods etc...

  • gitlint β€” Linting for your git commit messages.

Command Line Interface

  • ⭐ inquirer β€” A collection of common interactive command line user interfaces, based on Inquirer.js

  • typer β€” Typer, build great CLIs. Easy to code. Based on Python type hints.

  • ⭐ Click β€” Python package for creating beautiful command line interfaces in a composable way with as little code as necessary.

  • cloup (docs) β€” Library to build command line interfaces (CLIs) based on Click. Cloup = Click + option groups, constraints, command aliases, command sections, help themes, "did you mean ...?" suggestions ...
  • click-extra (docs) β€” 🌈 Extra colorization and configuration loading for Click.

  • ⭐ rich (docs) β€” a Python library for rich text and beautiful formatting in the terminal.

Configuration

  • ⭐ everett β€” Everett is a Python configuration library for your app.

  • decouple β€” Decouple helps you to organize your settings so that you can change parameters without having to redeploy your app.

  • classyconf β€” Declarative and extensible library for configuration & code separation.

  • ConfZ β€” ConfZ is a configuration management library for Python based on pydantic.

Conversions

Courses

Cryptography

  • cryptography [docs] β€” A package designed to expose cryptographic primitives and recipes to Python developers.

Data structures

  • docarray β€” The data structure for unstructured data.

Date and time

  • arrow β€” Arrow is a Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.

Data parsing & validation

  • apischema β€” JSON (de)serialization, GraphQL and JSON schema generation using Python typing.

  • ⭐ pydantic β€” Data parsing and validation using Python type hints.

  • msgspec β€” A fast and friendly JSON/MessagePack library, with optional schema validation.

Debugging

  • PySnooper β€” A poor man's debugger. If you've used Bash, it's like set -x for Python, except it's fancier.

Design patterns

Diagrams

  • ⭐ diagrams β€” Diagram as Code for prototyping cloud system architectures

Documents

  • borb β€” A library for reading, creating and manipulating PDF files in python.

Distribution

  • ⭐ pex β€” A library for generating .pex (Python EXecutable) files which are executable Python environments in the spirit of virtualenvs.

  • zipapp β€” This module provides tools to manage the creation of zip files containing Python code, which can be executed directly by the Python interpreter.

  • voilΓ  β€” VoilΓ  turns Jupyter notebooks into standalone web applications.

Databases

  • peewee (docs) β€” a small, expressive orm that supports postgresql, mysql and sqlite.

  • piccolo β€” A fast, user friendly ORM and query builder which supports asyncio.

Documentation

E-Commerce solutions

  • saleor β€” A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.

  • oscar β€” An e-commerce framework for Django designed for building domain-driven sites..

  • shuup [docs] β€” An Open Source E-Commerce Platform based on Django and Python with multi-vendors support.

  • cartridge β€” A shopping cart application designed to provide a clean and simple base for developing e-commerce websites.

Games development

  • ⭐ arcade β€” An easy-to-learn Python library for creating 2D video games. It is ideal for people learning to program, or developers that want to code a 2D game without learning a complex framework.

  • pyxel β€” A retro game engine for Python.

GUI

  • DearPyGui β€” A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies.

Information gathering

  • sherlock β€” πŸ”Ž Hunt down social media accounts by username across social networks.

Image processing

  • Real-ESRGAN β€” Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.

  • QualityScaler β€” Image/video upscaling GUI app based on BRSGAN & RealSR_JPEG

  • wand β€” A ctypes-based simple ImageMagick binding with Python modern interfaces.

  • chaiNNer β€” A node-based image processing and AI upscaling GUI that makes it easy to chain together complex processing tasks.

Integrations

  • pycord β€” A python wrapper for the Discord API.

Logging

  • ⭐ structlog [docs] β€” Structured Logging for Python.

  • exceptionite β€” A Python Exception Library. Designed to make handling and displaying exceptions a cinch.

Network

  • ⭐ mitmproxy (pip) β€” A free and open source interactive HTTPS proxy.

  • ⭐ dnspython β€” a DNS toolkit for Python. It can be used for queries, zone transfers, dynamic updates, nameserver testing, and many other things.

Notifications

  • apprise β€” Push Notifications that work with just about every platform !

Parsing

  • jello β€” CLI tool to filter JSON and JSON Lines data with Python syntax (Similar to jq).

  • jp β€” Command line interface to JMESPath.

  • jc β€” CLI tool and python library that converts the output of popular command-line tools and file-types to JSON or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

  • markdown-it-py β€” Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python!

  • reader β€” A feed reader library.

Schedulers

  • rocketry β€” Modern scheduling library for Python.

Security

  • ⭐ keyring β€” An easy way to access the system keyring service from python. It can be used in any application that needs safe password storage.

Sound & Music

  • spotify-downloader β€” Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).

Static Sites

  • furo β€” A clean customizable documentation theme for Sphinx.

Styling

  • black β€” The uncompromising Python code formatter.

Task queues

  • huey [docs] β€” A little task queue for python.

Telemetry

  • opentelemetry β€” a collection of tools, APIs, and SDKs. You use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior.

Templates

  • mako β€” a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance.

  • faqtory β€” A tool to generate FAQ.md documents and automatically suggest answers to issues.

Tests

  • nox β€” Flexible test automation for Python. Like tox but using a Python file for configuration.

  • ⭐ tox β€” automate and standardize testing in Python.

  • tox-pipenv β€” a tox plugin to replace the default use of virtualenv with Pipenv.

  • ⭐ robotframework β€” generic automation framework for acceptance testing and RPA.

  • locust [home] β€” Scalable user load testing tool written in Python.

  • faker β€” A Python package that generates fake data for you.

Video editing

  • ⭐ videogrep β€” Automatic video supercuts with Python.

Version control

  • ⭐ GitPython β€” A python library used to interact with Git repositories.

Virtual environments

  • ⭐ nodenv β€” Virtual environment for Node.js & integrator with virtualenv.

Last update: 2023-01-05