Skip to content

Currated list and tools to bootstrap modern python project

License

Notifications You must be signed in to change notification settings

vlntsolo/modern-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Modern python

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).

Debugging

Typing, hints, annotations and more

  • Pydantic - Data validation and settings management using Python type annotations.

Workflows & QA

  • 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.

ORMs & ODMs

  • 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.

Async Python

  • 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.

Fast Python

  • 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

About

Currated list and tools to bootstrap modern python project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages