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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file fastapi_router-0.0.5.tar.gz.

File metadata

  • Download URL: fastapi_router-0.0.5.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.5 Windows/10

File hashes

Hashes for fastapi_router-0.0.5.tar.gz
Algorithm Hash digest
SHA256 71c8335dfa1e772278a6ba94c96a4a0419b6b8a2cdf8fc807ccdb7642cd6e564
MD5 2b67d25dc482e9324b1a04c972dccf5a
BLAKE2b-256 25aa45ada6b1d7b5b01eb62e396b3a60e9790213e5c63759c2005f20a894e09c

See more details on using hashes here.

File details

Details for the file fastapi_router-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: fastapi_router-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.5 Windows/10

File hashes

Hashes for fastapi_router-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 223f608046a83cc278ba1b1f20d4baabd2c86ca83242956fd070b4108f46dfaf
MD5 35b86b100c657b7221517a849404e1c2
BLAKE2b-256 a052d5900219e5e337a85bdec3405fb58fcd4400260bfe971d6a5e16d30edc0d

See more details on using hashes here.

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