🚀 AWS Serverless Development All In Python 🐍
This is a work in progress. If you have any questions or need help, please reach out to us.
Join our discord community and give us feedback or ask questions:
Fluxional is designed to simplify the development and deployment of serverless applications on AWS with minimal configuration.
Key features:
- Simplified infrastructure syntax
- Deployment only require credentials and docker
- Live interaction with your cloud application as you code
- Focused on developer experience with intuitive syntax and editor / type support
Get started with:
pip install fluxional
😎 Rest API
from fluxional import Fluxional, ApiEvent, LambdaContext
flux = Fluxional("Backend")
@flux.api
def my_api(event: ApiEvent, context: LambdaContext):
return {"statusCode": 200, "body": "ok"}
handler = flux.handler()
📲 Websockets
from fluxional import Fluxional, WsEvent, LambdaContext, Websocket
flux = Fluxional("Backend")
@flux.websocket.on_connect
def connect(event: WsEvent, context: LambdaContext):
return {"statusCode": 200}
@flux.websocket.on("some_action")
def on_action(event: WsEvent, context: LambdaContext):
# Reply to the sender
Websocket.post_to_connection(event, "Hello World!")
handler = flux.handler()
🔐 Databases
from fluxional import Fluxional
flux = Fluxional("Backend")
flux.add_dynamodb() # 👈 This will create a dynamodb
🪣 Storage (S3)
from fluxional import Fluxional, StorageEvent, LambdaContext
flux = Fluxional("Backend")
@flux.storage.on_upload
def on_upload(event: StorageEvent, context: LambdaContext):
# Do something when a file is uploaded
handler = flux.handler()
🚶 Async Events
from fluxional import Fluxional, LambdaContext, Event
flux = Fluxional("Backend")
event = Event[str]()
@flux.event
def on_event(payload: str, context: LambdaContext):
# Do something when an event is triggered
def trigger_event():
# Trigger on_event with str payload
event.trigger("on_event", "Hello World!")
handler = flux.handler()
🕵️ Tasks
from fluxional import Fluxional, TaskEvent, LambdaContext
flux = Fluxional("Backend")
@flux.run.every(1, "days")
def task_1(event: TaskEvent, context: LambdaContext):
# Do something every day from now
handler = flux.handler()
-
Fluxional provides a containarized deployment flow. No need to install and Manage versions of Node, AWS Cli or CDK on your machine ⛔. Provide your credentials in a .env and you are good to go 😊.
-
Your AWS Lambda functions are containerized and dockerfiles are auto-generated 😎 based on the runtime, requirements and dependencies you need.
To deploy 🚀 your application:
$ fluxional deploy app.handler
$ fluxional destroy app.handler
- Invoke your microservice locally 💻 and make live changes 🕘 without the need to mock your services or re-deploy.
- Your code will be ran in a local container with the exact ✨ environment and behaviors your application will have in the cloud.
** Setting must be enabled and deployed before executing below
$ fluxional dev app.handler
Metadata
Release files for fluxional 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fluxional-0.1.11.tar.gz | 32.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fluxional-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.0 kB
Release files / fluxional-0.1.11.tar.gz
| Download URL | fluxional-0.1.11.tar.gz |
|---|---|
| Size | 32.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2a0aedb92df8a233d317feeab3804b75e434750d04aa17f8e37af5c0498837d
|
|
BLAKE2b-256 checksum How to use checksums |
d84e158a0e2d98416cd5b14c5f06d908e8fb52b6118025c76cf0859d7d053215
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.10.12 Linux/5.15.146.1-microsoft-standard-WSL2
|
Release files / fluxional-0.1.11-py3-none-any.whl
| Download URL | fluxional-0.1.11-py3-none-any.whl |
|---|---|
| Size | 40.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
289c2e0e0bbd7b2ae2af0f8fc8ae3cfd9d728499959d3de9fc83d7cde697cb6d
|
|
BLAKE2b-256 checksum How to use checksums |
27235ed5d3530ceee24e44dcbe366d94d98fa213442120b7ad99bac97e1e5fb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.10.12 Linux/5.15.146.1-microsoft-standard-WSL2
|