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.4

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.4
File Size Uploaded
fapix-0.1.4.tar.gz 47.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fapix 0.1.4
File Interpreter ABI Platform
fapix-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 107.0 kB

Release files / fapix-0.1.4.tar.gz

Download URL fapix-0.1.4.tar.gz
Size 47.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e2baa66c0bce8fe88b9a990e5e90266d59fbfc9b117fe8143ac47b8853c918cf
BLAKE2b-256 checksum
How to use checksums
3b8abd60767bccc6da3ca91762fe381a8b09f2536370aa1481ea78a9278ba97b
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.4-py3-none-any.whl

Download URL fapix-0.1.4-py3-none-any.whl
Size 59.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41117afe2637edcae07b3f75c29c2406d322ef7777ddf35134b17c24dc8b4312
BLAKE2b-256 checksum
How to use checksums
848ae938b443fc3b3ef7593ca3d26aa1599ef06d960eb22e5df4ca91d5143db8
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

0.1.5

2 release files

This release

0.1.4 This release

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