Skip to main content

🚀 FastFSX

📁 Роутинг FastAPI на основе структуры файловой системы
Вдохновлён подходом Next.js — вы описываете маршруты через структуру папок и файлы route.py, а fastfsx автоматически подключает их в ваше FastAPI-приложение.


🔧 Установка

С помощью pip:

pip install fastfsx

Или через Poetry:

poetry add fastfsx

⚙️ Использование

from fastapi import FastAPI
from fastfsx import FileRouter

app = FastAPI()
app.include_router(FileRouter("pages").build())

📁 Пример структуры папок

pages/
├── users/
│   ├── [id]/              # динамический маршрут: /users/{id}
│   │   └── route.py
│   └── route.py           # маршрут: /users
├── (admin)/               # группирующая папка, игнорируется в маршруте
│   └── dashboard/
│       └── route.py       # маршрут: /dashboard
└── route.py               # корневой маршрут: /

Каждый файл route.py должен экспортировать FastAPI APIRouter:

# pages/users/route.py

from fastapi import APIRouter

router = APIRouter()

@router.get("/")
async def list_users():
    return [{"id": 1, "name": "Alice"}]

✨ Возможности

  • 📁 Построение маршрутов на основе структуры папок
  • 📌 Поддержка динамических сегментов маршрута ([id]{id})
  • 🚫 Игнорирование группирующих папок ((admin))
  • 🔀 Глубоко вложенные маршруты
  • ✅ Минимум конфигурации, максимум гибкости

📦 Устройство

Функциональность обернута в класс FileRouter, который строит дерево маршрутов и возвращает APIRouter, готовый для подключения к приложению FastAPI.


🛠 В планах

  • Поддержка маршрутов [[...slug]]{slug:path}
  • Хуки и расширения
  • Поддержка префиксов и middlewares на уровне папок

📄 Лицензия

Проект распространяется под лицензией MIT.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastfsx-1.0.5.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastfsx-1.0.5-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file fastfsx-1.0.5.tar.gz.

File metadata

  • Download URL: fastfsx-1.0.5.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.13 Linux/6.11.0-1015-azure

File hashes

Hashes for fastfsx-1.0.5.tar.gz
Algorithm Hash digest
SHA256 187d0e16c83263c75efbfb269041684914f1cc618049a92b55ed75a94e9dea4f
MD5 f44a421661fba54145132c4a9fc438f8
BLAKE2b-256 ade2d1025ffc2d4c30d70f4931a12fd2f976c4944657b71b2c19422d4c34c3d9

See more details on using hashes here.

File details

Details for the file fastfsx-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: fastfsx-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.13 Linux/6.11.0-1015-azure

File hashes

Hashes for fastfsx-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b731dc8e19486397955d011c750b1bcaeebfd2aaaecbd335864793f96bb1d1
MD5 95d3051b8183ecd26dba7551d98e4257
BLAKE2b-256 9efa3470191159a329126587ccbb30ee9fef2aa07d590d65fba85e8defdd4969

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 files

1.0.3

2 files

1.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page