Current collected state Current
Observed since 21 Oct, 09:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Agraffe, build API with ASGI in Serverless services (e.g AWS lambda, Google Cloud Functions and Azure Functions).
![]()
Agraffe, build API with ASGI in Serverless services (e.g AWS lambda, Google Cloud Functions and Azure Functions).
Python 3.7+
$ pip install agraffe
Create it
main.py with:import contextlib
from agraffe import Agraffe
from fastapi import FastAPI, Request
@contextlib.asynccontextmanager
async def lifespan(app):
yield {'message': 'hello'}
app = FastAPI(lifespan=lifespan)
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str | None = None):
return {"item_id": item_id, "q": q}
@app.get("/lifespan")
def lifespan_(request: Request):
return {"count": request.state.message}
entry_point = Agraffe.entry_point(app)
# or, for on GCP
from agraffe.services.google_cloud_functions import HttpCycle
def entry_point(request):
return Agraffe(app, HttpCycle)(request=request)
Deploy it
$ gcloud functions deploy {FUNCTION NAME} --entry-point entry_point --runtime python310 --trigger-http --allow-unauthenticated
See /example for other services.
This project is licensed under the terms of the MIT license.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.7.0 | 12 Mar 2023 | 11 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 09:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:fe48c1cf0b7e0ee5a69115ef95b5037a61a1a8d9aa84b586919f1867dbe99884