Skip to main content

Simple API monitoring & analytics for REST APIs built with FastAPI, Flask, Django, Starlette and Litestar.

Project description

Apitally logo

API monitoring made easy.

Apitally is a simple API monitoring & analytics tool with a focus on data privacy.
It is super easy to use for API projects in Python or Node.js and never collects sensitive data.

🔗 apitally.io

Apitally screenshots


Apitally client library for Python

Tests Codecov PyPI

This client library for Apitally currently supports the following Python web frameworks:

Learn more about Apitally on our 🌎 website or check out the 📚 documentation.

Key features

  • Middleware for different frameworks to capture metadata about API endpoints, requests and responses (no sensitive data is captured)
  • Non-blocking clients that aggregate and send captured data to Apitally in regular intervals

Install

Use pip to install and provide your framework of choice as an extra, for example:

pip install apitally[fastapi]

The available extras are: fastapi, flask, django_rest_framework, django_ninja, starlette and litestar.

Usage

Our setup guides include all the details you need to get started.

FastAPI

This is an example of how to add the Apitally middleware to a FastAPI application. For further instructions, see our setup guide for FastAPI.

from fastapi import FastAPI
from apitally.fastapi import ApitallyMiddleware

app = FastAPI()
app.add_middleware(
    ApitallyMiddleware,
    client_id="your-client-id",
    env="dev",  # or "prod" etc.
)

Flask

This is an example of how to add the Apitally middleware to a Flask application. For further instructions, see our setup guide for Flask.

from flask import Flask
from apitally.flask import ApitallyMiddleware

app = Flask(__name__)
app.wsgi_app = ApitallyMiddleware(
    app,
    client_id="your-client-id",
    env="dev",  # or "prod" etc.
)

Django

This is an example of how to add the Apitally middleware to a Django Ninja or Django REST Framework application. For further instructions, see our setup guide for Django.

In your Django settings.py file:

MIDDLEWARE = [
    "apitally.django.ApitallyMiddleware",
    # Other middleware ...
]
APITALLY_MIDDLEWARE = {
    "client_id": "your-client-id",
    "env": "dev",  # or "prod" etc.
}

Litestar

This is an example of how to add the Apitally plugin to a Litestar application. For further instructions, see our setup guide for Litestar.

from litestar import Litestar
from apitally.litestar import ApitallyPlugin

app = Litestar(
    route_handlers=[...],
    plugins=[
        ApitallyPlugin(
            client_id="your-client-id",
            env="dev",  # or "prod" etc.
        ),
    ]
)

Getting help

If you need help please create a new discussion on GitHub or join our Slack workspace.

License

This library is licensed under the terms of the MIT license.

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

apitally-0.12.1.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

apitally-0.12.1-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file apitally-0.12.1.tar.gz.

File metadata

  • Download URL: apitally-0.12.1.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for apitally-0.12.1.tar.gz
Algorithm Hash digest
SHA256 59677f5b0052053c5514b4bb320572b99b6f02ff692822e32f361a52aab5d115
MD5 fdfd0d25c2822d1cf6e2f7ebd74aa1e5
BLAKE2b-256 63af044f5e0bc4c01070d1a8a272f466a21db6be5960842289667a9ed20a584d

See more details on using hashes here.

File details

Details for the file apitally-0.12.1-py3-none-any.whl.

File metadata

  • Download URL: apitally-0.12.1-py3-none-any.whl
  • Upload date:
  • Size: 23.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for apitally-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba490f9816ab9e2b808eefaf6597e3ca67be63887aaa3ec6e102576d7f36c69d
MD5 0ea0a0d25f3790c03d6a093e984f0586
BLAKE2b-256 0a8f94f4cad1fe2d3ceb00d50e6084b98838e8969adc0286050b5b4bda14e35a

See more details on using hashes here.

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