Personally curated list of tools and tutorials to bootstrap a modern python project. Inspired by https://github.com/xandrade/Talkpython.fm-Notable-Packages- & based on Talk Python series (some packages will be crossed over).
- Pydantic - Data validation and settings management using Python type annotations.
- Pytest - The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.
- Faker - Faker is a Python package that generates fake data for you.
- Hypothesis - Python library for creating unit tests which are simpler to write and more powerful when run, finding edge cases in your code you wouldn’t have thought to look for.
- Pants - Fast, scalable, user-friendly build and developer workflow system for codebases of all sizes, including yours!
- Schemathesis - Specification-centric API testing tool for Open API and GraphQL-based applications.
- factory_boy - As a fixtures replacement tool, it aims to replace static, hard to maintain fixtures with easy-to-use factories for complex objects.
- MyPy - Optional static type checker for Python that aims to combine the benefits of dynamic (or "duck").
- Black - The uncompromising Python code formatter.
- Grafana Phlare - Grafana Phlare lets you aggregate continuous profiling data with high availability, multi-tenancy, and durable storage. This helps you get a better understanding of resource usage in your applications down to the line number.
-
Piccolo - Piccolo is a modern, async query builder and ORM for Python, with lots of batteries included.
-
SQLAlchemy - SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
-
SQLModel - A library for interacting with SQL databases from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust.
-
Gino - GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core.
-
Beanie - Asynchronous Python ODM for MongoDB.
- httpx - Fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.
- aioredis - Simple and clear interface to Redis based on asyncio.
- asyncio - asyncio is a library to write concurrent code using the async/await syntax.
- Numba - An open source JIT compiler that translates a subset of Python and NumPy code into fast machine code.
- Vaex - Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second rocket.
- Multiprocessing - Split your jobs between CPU cores.
- Threading - An Intro to Threading in Python
- Fastapi best practices
- SQLModel - a library for interacting with SQL databases from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust.
- Base settings and testing