Monitoring and analytics for Python API frameworks.
Project description
Python API Analytics
A lightweight API analytics solution, complete with a dashboard.
Getting Started
1. Generate a new API key
Head to https://my-api-analytics.vercel.app/generate to generate your unique API key with a single click. This key is used to monitor your specific API, so keep it secret! It's also required in order to view your APIs analytics dashboard.
2. Add middleware to your API
Add our lightweight middleware to your API. Almost all processing is handled by our servers so there should be virtually no impact on your APIs performance.
pip install api-analytics
Django
Set you API key as an environment variable.
In settings.py
:
from os import getenv
ANALYTICS_API_KEY = getenv("API_KEY")
MIDDLEWARE = [
'api_analytics.django.Analytics', # Add middleware
...
]
FastAPI
from fastapi import FastAPI
from api_analytics.fastapi import Analytics
app = FastAPI()
app.add_middleware(Analytics, <api_key>) # Add middleware
@app.get("/")
async def root():
return {"message": "Hello World"}
Flask
from flask import Flask
from api_analytics.flask import add_middleware
app = Flask(__name__)
add_middleware(app, <api_key>) # Add middleware
@app.get("/")
def root():
return {"message": "Hello World"}
Tornado
Modify your handler to inherit from Analytics
. Create a __init__()
method on your handler, passing along the application and response along with your unique API key.
import asyncio
from tornado.web import Application
from api_analytics.tornado import Analytics
# Inherit from middleware class
class MainHandler(Analytics):
def __init__(self, app, res):
super().__init__(app, res, <api_key>) # Pass api key to super
def get(self):
self.write({'message': 'Hello World!'})
def make_app():
return Application([
(r"/", MainHandler),
])
async def main():
app = make_app()
app.listen(8080)
await asyncio.Event().wait()
if __name__ == "__main__":
asyncio.run(main())
3. View your analytics
Your API will log requests on all valid routes. Head over to https://my-api-analytics.vercel.app/dashboard and paste in your API key to view your dashboard.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for api_analytics-1.0.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 774bcc701231b42b8d4db151fc7304a28158938b5d60adbd6d066faf90e8f675 |
|
MD5 | 497031ce3271d491d2f8a15e3a4ecd44 |
|
BLAKE2b-256 | d83260cd876ec1460d21515a13e25fcf2b6c724b721a8ea8e753f7a9394efaf3 |