Skip to main content

Fastapi like Next.js. Efficient Backend, Agile Development.

Project description

FastAPI-Router

Efficient Backend, Agile Development.

installation from Test PyPI

pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.python.org/simple/ fastapi-router

FastAPI-Router is a plugin for applications built with FastAPI that enables the development of backend applications with a workflow similar to Next.js. This means you can create efficient and modern backend applications with FastAPI-Router, taking advantage of its capabilities in a manner akin to the workflow in Next.js.

Example:

from fastapi import FastAPI
from fastapi_router import init_main_route

# Init FastAPI application
app = FastAPI()

# Init fastapi-route
init_main_route(app)

API Folder organization

In the FastAPI-Router library, the organization of files within the directory mirrors the route structure, akin to the approach in Next.js.

Each nested folder signifies a route segment, aligning with a corresponding segment in the URL path.

However, the definition of a route doesn't become publicly accessible until a route.py file is added to the respective route segment. This file, acting as the handler, determines the behavior and functionality associated with the specific endpoint. FastAPI-Router leverages this file structure to seamlessly generate and map routes, providing an intuitive and efficient way to structure and manage API endpoints.

API Folder Structure

route.py

A route file enables the creation of customized request handlers for a specified route. It supports the following HTTP methods: GET, POST, PUT, PATCH, DELETE, HEAD, TRACE and OPTIONS.

def GET(): ...

def POST(): ...

def PUT(): ...

def PATH(): ...

def DELETE(): ...

def HEAD(): ...

def TRACE(): ...

def OPTIONS(): ...

By default, fastapi-router expects a folder named 'api' to exist. In case you need to change the name or have a project where you want to implement fastapi-router without that specific name, you can modify this by passing pathDir as an argument to the init_main_route function.

Example:

# For root folder
init_main_route(app, pathDir='app')

init_main_route(app2, pathDir='app/routes')

If the name 'route' doesn't suit you and you want to change it to another name to define the methods of the routes, you can pass nameRouteFile as an argument to the init_main_route function.

Example:

# Changing the route file name
init_main_route(app, nameRouteFile='methods')

Project details


Download files

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

Source Distribution

fastapi_router-0.0.5.tar.gz (2.6 kB view hashes)

Uploaded Source

Built Distribution

fastapi_router-0.0.5-py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page