asgi-aws 2.0.0

Last updated:

0 purchases

asgi-aws 2.0.0 Image
asgi-aws 2.0.0 Images
Add to Cart

Description:

asgiaws 2.0.0

asgi-aws


















Build API with ASGI in AWS Lambda with API Gateway HTTP API or REST API, or with Function URL ✨
Installation
pip install asgi_aws

Example

Create a file main.py with:

from asgi_aws import Asgi
from typing import Optional
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"Hello": "World"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}

entry_point = Asgi.entry_point(app)

Deploy it

Let's create for example a yaml file with the following content:

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31

Resources:
ExFunctionUrlAPI:
Type: AWS::Serverless::Function
Properties:
Runtime: python3.10
CodeUri: src/
Handler: main.entry_point
MemorySize: 256
Timeout: 30
FunctionUrlConfig:
AuthType: NONE


Now, we can deploy the function with the following command:

# deploy HTTP API
sam build -t api.yaml --use-container
sam run deploy

Note: You can also deploy the function under Deployment for Rest API or with
a Function URL.
Development 🚧
Setup environment 📦
You should create a virtual environment and activate it:
python -m venv venv/

source venv/bin/activate

And then install the development dependencies:
# Install dependencies
pip install -e .[test,lint]

Run tests 🌝
You can run all the tests with:
bash scripts/test.sh

Format the code 🍂
Execute the following command to apply pre-commit formatting:
bash scripts/format.sh

Execute the following command to apply mypy type checking:
bash scripts/lint.sh

License
This project is licensed under the terms of the MIT license.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.