Fapix
Fapix is a high-productivity, Django-inspired web framework built on top of FastAPI, Tortoise-ORM, and Typer.
It brings the modular structure, built-in CLI automation, and seamless migration workflows of Django into the modern, asynchronous Python ecosystem.
🚀 Key Features
- Django-Style App Architecture: Modular project layout using
apps/with automatic model discovery and router registration. - DRF-Style ViewSets & Routers: Declarative
ModelViewSetclasses, dynamicDefaultRouter, fine-grained permissions, and custom@actiondecorators. - Declarative WebSockets: Non-DB custom action views (
WebSocketApiView) and ORM-backed real-time viewsets (WebSocketModelViewSet). - Built-in Authentication: Out-of-the-box user models, routes, and CLI user management.
- Smart Database Migrations: Powered by
aerich, featuring automated model detection and self-healing migration fallbacks. - Built-in Interactive API Tester: Integrated lightweight API and WebSocket tester hosted directly at
/tester.
📦 Installation
Install Fapix directly from PyPI:
pip install fapix
Or install locally in editable mode for core development:
git clone https://github.com/devHashim111/fapix
cd fapix
pip install -e .
📖 Quick Start
# 1. Start a new project & navigate into it
fapix startproject myproject
cd myproject
# 2. Initialize built-in auth app & run migrations
fapix startapp auth
fapix makemigrations
fapix migrate
# 3. Start local development server
fapix runserver
Access the interactive API & WebSocket tester at http://localhost:8000/tester.
📚 Documentation Index
Explore detailed documentation sections inside the [docs/] folder:
- 🛠️ [CLI & Database Migrations]: Project creation, user management commands, and migration workflows.
- 🌐 [HTTP ViewSets & Routing]: DRF-parity
ModelViewSet,DefaultRouter, function views, and permission setup. - ⚡ [WebSocket ViewSets]:
WebSocketApiView,WebSocketModelViewSet, frame routing, custom handlers, and method overrides. - 🔐 [Authentication & Permissions]: Built-in user models, CLI user creation, JWT authentication, and permission classes.
📄 License
Distributed under the MIT License.
Metadata
Release files for fapix 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fapix-0.1.5.tar.gz | 59.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fapix-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 131.3 kB
Release files / fapix-0.1.5.tar.gz
| Download URL | fapix-0.1.5.tar.gz |
|---|---|
| Size | 59.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd4454dfc62deef21c642579b365b251894efc33cfe9fd0d03e1734b8a8b99c1
|
|
BLAKE2b-256 checksum How to use checksums |
84345e413e87564bc18db5f71008d20432ac64a481b3532323aa32da48d4314b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|
Release files / fapix-0.1.5-py3-none-any.whl
| Download URL | fapix-0.1.5-py3-none-any.whl |
|---|---|
| Size | 72.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4094814e966930f30b90cfc1b6fdf8417409cbd2556cd90bfdc4221f949a34e
|
|
BLAKE2b-256 checksum How to use checksums |
c0f163d3967fc2ed7d40a547363465bc7960773bfefe05e54b5f4c1b5f5ce295
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|