Skip to content

🚀 AWS Serverless Development All In Python 🐍

On-Going Documentation

This documentation is a work in progress. If you have any questions or need help, please reach out to us. Join our 👉 Discord

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



1) Infrastructure is simplified and part of your code
app.py
1
2
3
4
5
6
7
8
9
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()
app.py
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()
app.py
1
2
3
4
5
from fluxional import Fluxional

flux = Fluxional("Backend")

flux.add_dynamodb() # 👈 This will create a dynamodb
app.py
1
2
3
4
5
6
7
8
9
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()
app.py
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()
app.py
1
2
3
4
5
6
7
8
9
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()


2) Deploy without installing and managing Node, Aws Cli & CDK versions
  • 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

To remove 🔨 your application:

$ fluxional destroy app.handler


3) Live Development- Interact with your microservice as you code
  • 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