Skip to main content

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 ModelViewSet classes, dynamic DefaultRouter, fine-grained permissions, and custom @action decorators.
  • 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)

Source distribution for fapix 0.1.5
File Size Uploaded
fapix-0.1.5.tar.gz 59.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fapix 0.1.5
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page