Skip to main content

API monitoring for REST APIs built with FastAPI, Flask, Django, and Starlette.

Project description

Apitally logo

API monitoring made easy.

Apitally is a simple and affordable API monitoring solution with a focus on data privacy. It is easy to set up and use for new and existing API projects using Python or Node.js.

🔗 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, starlette, flask and django.

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.
}

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.5.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

apitally-0.5.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apitally-0.5.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.2.0-1019-azure

File hashes

Hashes for apitally-0.5.0.tar.gz
Algorithm Hash digest
SHA256 74515d5016735aa837b001ba9f921935250f90dfe1f1a8a575e3931c296039b2
MD5 094eb0bdc57528c953d193aadd2d3aa1
BLAKE2b-256 248995495ff1a31b3efb3ce1588819dd1fed26385a934a779447e1808a62b6f1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apitally-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94f42987943caf6d30a93a4c48fcd9360c4a5e9b38fdb4c72b8b53e84364cac6
MD5 571af94a4f4774c7d0eff3b6106c272b
BLAKE2b-256 c3034b39a0bd90dde5881fa592818563fc89743f8e4277a277b543a0c128c4cb

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