Python projects with best practices on Github?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/Python

Our great sponsors
  • ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
  • Sonar - Write Clean Python Code. Always.
  • InfluxDB - Access the most powerful time series database as a service
  • production-tools

    A bare-bones repository demonstrating how to set up tools for data science projects that will help you write higher quality code.

    Production Tools: It’s a python repo used for data science projects.

  • requests

    A simple, yet elegant, HTTP library.

    Requests: Simple HTTP library for Python.

  • ONLYOFFICE

    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

  • Flask

    The Python micro framework for building web applications.

    I have a link of micro framework that I use at my work that I'd like to share. It's Flask, I think this is a nice example to follow 😀

  • streamlit

    Streamlit — A faster way to build and share data apps.

    Check Streamlit out. You can use it to provide a nice and simple web interface to your data analysis/ML related projects.

  • dash

    Data Apps & Dashboards for Python. No JavaScript Required.

    I also heard of Dash which serves the same purpose I guess, but I think it has more to offer.

  • fastapi-memory-leak

    Flask is battle tested, has 0 bugs (while for FastAPI there was a discussion about a potential memory leak ) and an incredible ecosystem with many complementary libraries (Flask-Admin, Flask-Migrate, Flask-SQLAlchemy, Flask-Security-Too....) that will speed up your development

  • trio

    Trio – a friendly Python library for async concurrency and I/O

    trio. the best code, the best documentation, awesome community.

  • Sonar

    Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • smartsheet-python-sdk

    Library that uses Python to connect to Smartsheet services (using API 2.0).

    I refer back to the smartsheet-python-sdk from time to time. I like the way they use __get_attr__ to instantiate subclasses on the Smartsheet object.

  • dropbox-sdk-python

    The Official Dropbox API V2 SDK for Python

    The creation of the dropbox-sdk-python repo was almost certainly overseen by Guido van Rossum since he was working at Dropbox at the time. There is a note in the Smartsheet SDK repo that parts of it were developed by Dropbox as well.

  • PRAW

    PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.

    the reddit API is actually really nice: https://github.com/praw-dev/praw

  • black

    The uncompromising Python code formatter

    black is very well organized generic Python project example.

  • transformers

    🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

    transformers is excellent ML project example.

  • stew

    Complete Python CI/CD solution built around Poetry. (by coveo)

    For best practices you can take a look at https://github.com/coveo/stew (disclaimer: I'm the author). It's a tool that works with Poetry and offers some freebies around Continuous Integration. It also comes with a Github Action to make this a free meal.

  • coveo-python-oss

    This collection of general purpose python magic was too good to keep for ourselves!

    You can take look at https://github.com/coveooss/coveo-python-oss for a monorepo that uses stew to test and ship several libraries to pypi.org.

  • ubelt

    A Python utility library with a stdlib like feel and extra batteries. Paths, Progress, Dicts, Downloads, Caching, Hashing: ubelt makes it easy!

    I'm fairly happy with my ubelt library.

  • sqlitestudio

    A free, open source, multi-platform SQLite database manager.

  • CPython

    The Python programming language

    Someone else might have already mentioned it, but the source code for the Python standard library is done quite well (https://github.com/python/cpython/tree/main/Lib).

  • xonsh

    :shell: Python-powered, cross-platform, Unix-gazing shell.

    Python-powered shell https://xon.sh (open source) has good documentation, well structured modules and continuous delivery approach for releases by using unit testing. I'm wondering how small team cover all use cases during development. The approaches is not so super modern but as a whole it's good example of open source project.

  • dispatch

    All of the ad-hoc things you're doing to manage incidents today, done for you, and much more!

    Two random examples I found from 30 seconds of googling: Here’s Netflix using it in their crisis management tool, and here’s Uber using it in their deep learning framework.

  • ludwig

    Data-centric declarative deep learning framework

    Two random examples I found from 30 seconds of googling: Here’s Netflix using it in their crisis management tool, and here’s Uber using it in their deep learning framework.

  • Kedro

    A Python framework for creating reproducible, maintainable and modular data science code.

    You can also check out Kedro, it’s like the Flask for data science projects and helps apply clean code principles to data science code.

  • starlite

    Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs [Moved to: https://github.com/litestar-org/litestar]

    Well, I'm not objective but I'd say Starlite (https://github.com/starlite-api/starlite) is a might fine codebase. You can also learn a lot about tooling and typing going through it.

  • piccolo

    A fast, user friendly ORM and query builder which supports asyncio. (by piccolo-orm)

    One other project that I enjoyed reading - to integrate with, is Picollo ORM (https://github.com/piccolo-orm/piccolo). The code is really readable.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts