Sponsors
Become a sponsor-
iPulse AI
Open Agentic Investment Research Platform. Inspect deep multi-agent market forecasts and stock picks.
Listed in editorial order, grouped by use case. 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 | |||||
|---|---|---|---|---|---|---|
Django 4 projects |
||||||
| 1 | django-rest-framework Django | 27,640,129 | 30,225 | Django Web APIs Web Development | ||
|
A powerful and flexible toolkit to build web APIs.
|
||||||
| 2 | django-ninja Django | 4,758,278 | 9,228 | Django Web APIs Web Development | ||
|
Fast, Django REST framework based on type hints and Pydantic.
|
||||||
| 3 | strawberry-django Django | 2,090,100 | 504 | Django Web APIs Web Development | ||
|
Strawberry GraphQL integration with Django.
|
||||||
| 4 | django-modern-rest Django | 25,573 | 1,521 | Django Web APIs Web Development | ||
|
Modern REST with speed, types, async,
msgspec, pydantic and other goodies. |
||||||
Flask 3 projects |
||||||
| 5 | flask-restx Flask | 1,484,300 | 2,229 | Flask Web APIs Web Development | ||
|
Fully featured framework for fast, easy and documented API development with Flask.
|
||||||
| 6 | flask-smorest Flask | 328,023 | 717 | Flask Web APIs Web Development | ||
|
A Flask/Marshmallow-based REST API framework with automatic OpenAPI documentation.
|
||||||
| 7 | apiflask Flask | 206,087 | 1,140 | Flask Web APIs Web Development | ||
|
A lightweight Python web API framework based on Flask, supporting marshmallow schemas and Pydantic models.
|
||||||
Framework Agnostic 3 projects |
||||||
| 8 | fastapi Framework Agnostic | 489,371,906 | 104,390 | Framework Agnostic Web APIs Web Development | ||
|
A modern, fast web framework for building APIs with standard Python type hints.
|
||||||
| 9 | strawberry Framework Agnostic | 6,666,625 | 4,725 | Framework Agnostic Web APIs Web Development | ||
|
A GraphQL library that leverages Python type annotations for schema definition.
|
||||||
| 10 | connexion Framework Agnostic | 3,652,464 | 4,612 | Framework Agnostic Web APIs Web Development | ||
|
A spec-first framework that handles requests based on your OpenAPI specification.
|
||||||
RPC 1 project |
||||||
| 11 | grpcio RPC | 356,352,090 | 45,410 | RPC Web APIs Web Development | ||
|
HTTP/2-based RPC framework with Python bindings, built by Google.
|
||||||
No projects match your search.
Try a broader term, or .
Web APIs guide
FastAPI is based on standard Python type hints. Declare path, query, and body parameters as typed function arguments, and it validates them and serves interactive docs at /docs. As the app grows, split it into modules with APIRouter, a "mini FastAPI".
Django Ninja was heavily inspired by FastAPI and integrates with Django's core and ORM. You declare parameter and body types once, as function arguments, and the interactive docs show up at /api/docs. For a bigger project, create an api.py with a Router in each Django app.
Django REST framework splits an API into serializers for the representation, viewsets for the behavior, and routers for the URLs. Viewsets get you running quickly and keep URLs consistent across a large API, while plain views are more explicit. For OpenAPI schemas, its docs recommend drf-spectacular.
APIFlask has you use APIFlask instead of Flask, then declare request and response schemas with @app.input and @app.output. flask-smorest organizes resources as MethodView classes in blueprints, with marshmallow schemas on Blueprint.arguments and Blueprint.response. Flask-RESTX splits your app into reusable namespaces, much like blueprints, and describes them for Swagger through decorators.
Strawberry builds on dataclasses and type hints, and FastAPI's docs recommend it for GraphQL. Before going to production, disable GraphiQL and introspection, and turn on Strawberry's security extensions that limit query depth, aliases, and tokens.
Strawberry Django creates GraphQL types from your Django models. Add its DjangoOptimizerExtension, which calls select_related() and prefetch_related() for you to avoid N+1 queries.
Connexion flips the usual order: you write the OpenAPI spec first, then the code, and Connexion validates requests against the spec. Each operationId in the spec names the Python function that handles it. Start new projects on AsyncApp, or on FlaskApp to use the Flask ecosystem.
gRPC lets you define a service once in a .proto file and generate clients and servers in any language it supports. For asyncio code, gRPC has grpc.aio.
Contribute
Know a project that belongs here?
Tell us what it does and why it stands out.