Web Development

Listed by section, in editorial order. Click a column header to re-sort the whole list.

Press / to search. Tags open their category. Click a row for details.

Search and filter

Results

Row number Tags

Web Frameworks 9 projects

How much should a Python web framework build in? Django comes with an ORM, an admin, and auth; Flask gives you a small core to extend.

A microframework for Python.
Also see: awesome-flask
pallets/github.com/pallets/flask /74,920 stars /
A high-level web framework that encourages rapid development and clean, pragmatic design.
Also see: awesome-django
django/github.com/django/django /91,444 stars /
A fast and simple micro-framework distributed as a single file with no dependencies.
bottlepy/github.com/bottlepy/bottle /8,801 stars /
A small, fast, down-to-earth, open source Python web framework.
Pylons/github.com/Pylons/pyramid /4,103 stars /
The fastest way to create an HTML app.
AnswerDotAI/github.com/AnswerDotAI/fasthtml /7,059 stars /
A lightweight ASGI framework and toolkit for building high-performance async services.
Kludex/github.com/Kludex/starlette /12,695 stars /
A web framework and asynchronous networking library.
tornadoweb/github.com/tornadoweb/tornado /22,165 stars /
Production-ready, capable and extensible ASGI web framework.
A framework for building reactive, full-stack web applications entirely with Python.
reflex-dev/github.com/reflex-dev/reflex /28,985 stars /

Web APIs 11 projects

Type hints alone let FastAPI validate requests and document your API. Python API frameworks for Django include Django Ninja, which reads them too.

A powerful and flexible toolkit to build web APIs.
Fast, Django REST framework based on type hints and Pydantic.
vitalik/github.com/vitalik/django-ninja /9,227 stars /
Strawberry GraphQL integration with Django.
Modern REST with speed, types, async, msgspec, pydantic and other goodies.
Fully featured framework for fast, easy and documented API development with Flask.
A Flask/Marshmallow-based REST API framework with automatic OpenAPI documentation.
A lightweight Python web API framework based on Flask, supporting marshmallow schemas and Pydantic models.
apiflask/github.com/apiflask/apiflask /1,139 stars /
A modern, fast web framework for building APIs with standard Python type hints.
fastapi/github.com/fastapi/fastapi /104,260 stars /
A GraphQL library that leverages Python type annotations for schema definition.
A spec-first framework that handles requests based on your OpenAPI specification.
spec-first/github.com/spec-first/connexion /4,612 stars /
HTTP/2-based RPC framework with Python bindings, built by Google.
grpc/github.com/grpc/grpc /45,405 stars /

Web Servers 5 projects

In production, Gunicorn serves WSGI apps like Django, and Uvicorn ASGI apps like FastAPI. Need a Python web server on Windows? Waitress runs WSGI there.

A lightning-fast ASGI server implementation.
Kludex/github.com/Kludex/uvicorn /11,050 stars /
A Rust HTTP server for Python apps built on Hyper and Tokio, supporting WSGI/ASGI/RSGI.
An ASGI and WSGI server based on Hyper libraries and inspired by Gunicorn.
pgjones/github.com/pgjones/hypercorn /1,621 stars /
A pre-fork WSGI server with a native ASGI worker, ported from Ruby's Unicorn project.
benoitc/github.com/benoitc/gunicorn /10,717 stars /
Multi-threaded, powers Pyramid.
Pylons/github.com/Pylons/waitress /1,602 stars /

WebSocket 4 projects

Your Python WebSocket library follows your framework: Channels on Django, Flask-SocketIO on Flask with Socket.IO clients. websockets needs no framework.

A library for building WebSocket servers and clients with a focus on correctness and simplicity.
Brings WebSocket, long-poll HTTP, and other async support to Django.
django/github.com/django/channels /6,364 stars /
Socket.IO integration for Flask applications.
WebSocket & WAMP for Python on Twisted and asyncio.

Template Engines 2 projects

Whether templates may hold Python code splits the Python template engines: Jinja keeps code out and sandboxes untrusted templates, Mako embeds plain Python.

A modern and designer-friendly templating language.
pallets/github.com/pallets/jinja /11,808 stars /
Hyperfast and lightweight templating for the Python platform.
sqlalchemy/github.com/sqlalchemy/mako /461 stars /

Web Asset Management 3 projects

Static files can skip a separate server: with WhiteNoise, Django static files are served by your app itself. Uploads go to cloud storage via django-storages.

Simplified static file serving for WSGI apps, with compression and caching headers.
evansd/github.com/evansd/whitenoise /2,767 stars /
A collection of custom storage back ends for Django.
Compresses linked and inline JavaScript or CSS into a single cached file.

Authentication 7 projects

Letting users log in with Google takes one Python authentication library: django-allauth on Django, which does password sign-up too, or Authlib elsewhere.

A generic and thorough implementation of the OAuth request-signing logic.
oauthlib/github.com/oauthlib/oauthlib /2,985 stars /
A comprehensive library for building OAuth, OpenID Connect, and JWT/JWS/JWE/JWK/JWA.
authlib/github.com/authlib/authlib /5,444 stars /
Authentication app for Django that "just works."
pennersr/github.com/pennersr/django-allauth /10,382 stars /
An OAuth 2.0 authorization server for Django.
JSON Web Token implementation in Python.
jpadilla/github.com/jpadilla/pyjwt /5,720 stars /
Implementation of per-object permissions for Django.
A tiny but powerful app for object-level permissions in Django, without a database.
dfunckt/github.com/dfunckt/django-rules /1,976 stars /

Admin Panels 4 projects

Django saves you from building a Python admin panel: its admin comes built in. Flask-Admin and SQLAdmin add one to Flask and FastAPI apps.

Simple and extensible administrative interface framework for Flask.
A modern Django admin theme for building dashboards, internal tools, and business applications.
An admin interface for SQLAlchemy models in FastAPI and Starlette.
smithyhq/github.com/smithyhq/sqladmin /2,849 stars /
A jazzy skin for the Django Admin-Interface.

CMS 2 projects

Both Python CMS picks run on Django: Wagtail for page types your developers define, like articles, and django CMS for editors building pages on the live site.

A Django content management system.
wagtail/github.com/wagtail/wagtail /20,593 stars /
The easy-to-use and developer-friendly enterprise CMS powered by Django.
django-cms/github.com/django-cms/django-cms /10,682 stars /

ERP 1 project

Install several Odoo apps, like CRM, accounting, and inventory, and they combine into an open source Python ERP that your own modules extend.

A suite of open source business apps: CRM, e-commerce, accounting, inventory, and thousands of community modules.
odoo/github.com/odoo/odoo /55,410 stars /

Static Site Generators 2 projects

Of the two Python static site generators here, Pelican builds your blog. Nikola also builds sites that aren't only a blog, and takes Jupyter notebooks as posts.

Static site generator that supports Markdown and reST syntax.
getpelican/github.com/getpelican/pelican /13,362 stars /
A static website and blog generator.
getnikola/github.com/getnikola/nikola /2,750 stars /

Know a project that belongs here?

Tell us what it does and why it stands out.