This release is a pre-release and may not be stable for production use.
Routerfy is an easy, fast and modern framework for building AWS Serverless applications with python 3.7+ using FastAPI for development and a lighter lambda layer on AWS Lambda execution.
Documentation: Docs
Source Code: GitHub
Key features are:
- Light: Routerfy's lambda layer it's extremely light since it does not need any additional library to redirect routes.
- Fast to test: Increase the speed to test new features by about 500%.
- Fast to build templates: Building AWS templates never been that easy. Routerfy create all AWS templates with necessary properties but still customizable.
- Familiar Syntax: Routerfy use same syntax of FastAPI for routes creation turning the experience of migration a lot easier.
- Body Validation: Routerfy have an own route body validation like pydantic but lighter using no dependencies.
Requirements
Python 3.7+
For development serving, Routerfy uses the amazing ones:
Installation
For development:
pip install routerfy[dev]
For AWS Lambda layer:
pip install routerfy
Getting Started
To create your first Routerfy project you only need to use create command. Open CMD in the folder you want to create your project and insert:
routerfy create MyAwesomeRouterfyProject
If everything go well the project folder created will look like this:
.
├─ routes/
│ ├─ hello_world/
│ │ ├─ app.py
│ │ ├─ route.py
└─ routerfy.config.yaml
Example
Our first example file is the route.py inside the lambda folder hello_world. All lambda folders must have a route.py. this way routerfy can identify routers and make the magic happens.
from routerfy import APIRouter, Response
router = APIRouter(prefix="/hello")
@router.get("/")
def hello_world_get_request():
return "Hello World!"
As you can see, the syntax is very similar to FastAPI.
Testing application
To test application you only need to use the dev command on your project terminal:
routerfy dev
The server will start and you will have your routerfy application served locally!
Metadata
Release files for routerfy 1.0.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| routerfy-1.0.0b1.tar.gz | 18.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| routerfy-1.0.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.9 kB
Release files / routerfy-1.0.0b1.tar.gz
| Download URL | routerfy-1.0.0b1.tar.gz |
|---|---|
| Size | 18.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
16816486cb4f0215211532d98f9295d3e11d4395daa22896ea1d370676448887
|
|
BLAKE2b-256 checksum How to use checksums |
34b6980f0599cead8d960693e94bb3ad3f7e087e763f8918e2aa1e4952ed0e53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / routerfy-1.0.0b1-py3-none-any.whl
| Download URL | routerfy-1.0.0b1-py3-none-any.whl |
|---|---|
| Size | 27.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eae77a1dd781a991488e135231bf3e17334d2ea37910967fcfcd0c4ddca2a69c
|
|
BLAKE2b-256 checksum How to use checksums |
1623dd0989b28cf2753d6d10b58f4175b73bd89450c867362caa8122eea838f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|