File Based Routing for Flask Server
Project description
DISCLAIMER
This Library currently supports only static routing. The dynamic routing will be added in the future release
Usage
Basic Usage
- Create a folder with a name
homein the root dir of your project. You can renamehomefolder to custom name inrouter.config.jsonwhich should be created in the root dir. - The folder
homeis gonna be workspace directory of your all api routes. - e.g. for path
home/api.pythe route willhttp://localhost:<PORT>/api - create and open
app.pyin the root dir of your project.
app.py
# app.py
from flask import Flask
from flask.cors import CORS
from flask_file_router.router import Router
app = Flask(__name__)
CORS(app)
app.config['CORS_HEADERS'] = "Content-Type"
Router(app).run()
if __name__=="main":
app.run(host="0.0.0.0", port=4000, debug=True)
home/api.py
# home/api.py
from flask import request
methods = ["POST"] # put GET for GET request
def main(): # This function have to be named as main. This gets triggered Whenever it hits api
body = request['json']
return ""
Configurations
{
"root_dir": "./home", // name of the workspace home dir
"default_index": "__main__.py", // This is the default index route for the given folder
"ext_exclude_list": ["pyc"], // file with this extension will be ignored
"ext_include_list": ["py"] //file with this extension will be considered for api router and rest are ignored
}
Note:
ext_exclude_listandext_include_listare exclusive porps. e.g. ifext_include_listprovidedext_exclude_listwill be ignored.
File Structure examples
Consider the following file system structure
home/v1/api.pyhome/v1/__main__.pyhome/v1/get_user.py
The api router for the above file structure will be as follows
https://localhost:4000/v1/apihttps://localhost:4000/v1https://localhost:4000/v1/get_user
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flask_file_router-0.0.5.tar.gz.
File metadata
- Download URL: flask_file_router-0.0.5.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c26e96cc72296ea914ba44104f65b997ef6def1fd30278719554e474cff891c6
|
|
| MD5 |
18c9b9c9beb316ba31eb1ce92b1c55cd
|
|
| BLAKE2b-256 |
dd80ff4f62854f079974b45a6752f3fa21b00aa8a72d0445dc8012dcc23b7b59
|
File details
Details for the file flask_file_router-0.0.5-py3-none-any.whl.
File metadata
- Download URL: flask_file_router-0.0.5-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d46b32e4ae48760aaf5fa583c1af568c374e38c19eaba55604710e6d1213e402
|
|
| MD5 |
f81a45ec80642e58122fc815ded43a99
|
|
| BLAKE2b-256 |
40d71cb0577cfdd80f6a84e34fc8db6c7e0b03c11c831e0c2390fd0df3ce319b
|