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

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.3
File Size Uploaded
fapix-0.1.3.tar.gz 46.6 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

0.1.5

2 release files

0.1.4

2 release files

This release

0.1.3 This release

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