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.3
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.3.tar.gz | 46.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fapix-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 105.9 kB
Release files / fapix-0.1.3.tar.gz
| Download URL | fapix-0.1.3.tar.gz |
|---|---|
| Size | 46.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57d593c2447d5e8055e3e886a937d220859aaf9a37c44bb392b5d1686861108f
|
|
BLAKE2b-256 checksum How to use checksums |
e54f0036894f14b06e985f9e493c2ed5c492e550707965b31c44700d1261346a
|
| 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.3-py3-none-any.whl
| Download URL | fapix-0.1.3-py3-none-any.whl |
|---|---|
| Size | 59.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df7b9cd17af881338f79be532d51256e739430cd0ec35680f4e7ce92dbeb0316
|
|
BLAKE2b-256 checksum How to use checksums |
7bde4aae9f797c916a6982f3361d0006f4682c9fb34c57787fa6c3d06118ce6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|