This release is a pre-release and may not be stable for production use.
FastAPI REST Framework
A batteries-included REST framework for FastAPI.
This project aims to provide a Django-like experience (class-based endpoints, built-in pagination, security helpers, etc.) on top of FastAPI’s asynchronous capabilities.
Status: Alpha (Under Active Development)
Features
- Class-Based Endpoints
Define your API routes in classes rather than large function-based modules. - Single or Bulk Registration
Include endpoints with minimal boilerplate. - Extendable
Built to be extended with future components, such as database integrations, pagination, security layers, etc.
Quick Start
Installation
pip install fastapi-rf
Requires Python 3.12+ and FastAPI 0.115.6+.
Usage Example
-
Assuming you have a FastAPI project:
# project/main.py from fastapi import FastAPI from frf.routers.base_router import BaseAPIRouter from frf.endpoints.base_endpoint import BaseEndpoint app = FastAPI() router = BaseAPIRouter() class MyEndpoint(BaseEndpoint): prefix = "/items" tags = ["Items"] @BaseEndpoint.route("/list", "GET") async def get_items(self): return {"message": "List of items"} @BaseEndpoint.route("/create", "POST") async def create_item(self, data: dict): return {"message": "Item created", "data": data} # Register the endpoint router.include_endpoints(MyEndpoint) app.include_router(router)
-
Run the application:
uvicorn project.main:app --reload
-
Open http://127.0.0.1:8000/docs to see the automatically generated API documentation and test your new endpoints.
Roadmap
- ORM Integration
Seamless database handling, migrations, and a Django-like “model” layer. - Pagination, Security, & Schemas
Built-in solutions for typical REST concerns.
Contributing
Contributions, feature requests, and bug reports are welcome. Feel free to open an issue or submit a PR. Please follow typical open-source etiquette (fork, branch, test, PR).
License
This project is licensed under the MIT License.
Thank you for using fastapi-rf! If you have any questions, suggestions, or feedback, feel free to open an issue.
Metadata
Release files for fastapi-rf 0.1.0a3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastapi_rf-0.1.0a3.tar.gz | 4.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastapi_rf-0.1.0a3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.2 kB
Release files / fastapi_rf-0.1.0a3.tar.gz
| Download URL | fastapi_rf-0.1.0a3.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd136ce2244ccf598467ee6fb832f421f5cf8fb2854adbe758ff57929f64e655
|
|
BLAKE2b-256 checksum How to use checksums |
bea694f00fde0ca9475cb5355230fd4e4aa42e2b3f44757660106927081f1ec7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.22.0 CPython/3.13.1 Darwin/24.2.0
|
Release files / fastapi_rf-0.1.0a3-py3-none-any.whl
| Download URL | fastapi_rf-0.1.0a3-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2729d3b62f52d93abdaa18dd2459cc46a4e0bf9af96d315147b63ac4275040a4
|
|
BLAKE2b-256 checksum How to use checksums |
b85b95c14787e4385ced5b7e39db1aa33b8051e1790defdf74b8c16a1f3e06de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.22.0 CPython/3.13.1 Darwin/24.2.0
|