Skip to main content

No project description provided

Project description

🚀 AWS Serverless Development All In Python 🐍

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

😎 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()

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.
$ fluxional dev app.handler

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

fluxional-0.1.2.tar.gz (31.6 kB view hashes)

Uploaded Source

Built Distribution

fluxional-0.1.2-py3-none-any.whl (39.1 kB view hashes)

Uploaded Python 3

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