Skip to main content

No project description provided

Project description

APItoolkit's Logo APItoolkit's Logo

FastAPI SDK

APItoolkit SDK PyPI - Version PyPI - Downloads Join Discord Server APItoolkit Docs

APIToolkit FastAPI SDK is a middleware that can be used to monitor incoming HTTP requests, errors and outgoing requests. It is provides additional functionalities on top of the open telemetry instrumentation which creates a custom span for each request capturing details about the request including request, response bodies, headers, status code, duration, etc.


Table of Contents


Installation

Kindly run the command below to install the apitoolkit pyramid sdks and necessary opentelemetry packages:

pip install apitoolkit-fastapi opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install

Setup Open Telemetry

Setting up open telemetry allows you to send traces, metrics and logs to the APIToolkit platform. To setup open telemetry, you need to configure the following environment variables:

OTEL_EXPORTER_OTLP_ENDPOINT="http://otelcol.apitoolkit.io:4317"
OTEL_SERVICE_NAME="my-service" # Specifies the name of the service.
OTEL_RESOURCE_ATTRIBUTES="at-project-key={ENTER_YOUR_API_KEY_HERE}" # Adds your API KEY to the resource.
OTEL_EXPORTER_OTLP_PROTOCOL="grpc" #Specifies the protocol to use for the OpenTelemetry exporter.

Then run the command below to start your server with opentelemetry instrumented:

opentelemetry-instrument python3 myapp.py

APIToolkit FastAPI Configuration

Next, initialize APItoolkit in your application's entry point (e.g., main.py), like so:

from fastapi import FastAPI
from apitoolkit_fastapi import APIToolkit

app = FastAPI()

# Initialize APItoolkit
apitoolkit = APIToolkit(service_name="my-service")
app.middleware('http')(apitoolkit.middleware)


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

[!NOTE]

The {ENTER_YOUR_API_KEY_HERE} demo string should be replaced with the API key generated from the APItoolkit dashboard.


[!IMPORTANT]

To learn more configuration options (redacting fields, error reporting, outgoing requests, etc.), please read this SDK documentation.

Contributing and Help

To contribute to the development of this SDK or request help from the community and our team, kindly do any of the following:

License

This repository is published under 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

apitoolkit_fastapi-2.0.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apitoolkit_fastapi-2.0.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file apitoolkit_fastapi-2.0.0.tar.gz.

File metadata

  • Download URL: apitoolkit_fastapi-2.0.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for apitoolkit_fastapi-2.0.0.tar.gz
Algorithm Hash digest
SHA256 081115981a739df1558acdc2cc337c1af2f707ac89cfca0c70a8a8ef28c5f93c
MD5 7fa898fae855efd7a35bfe2e8b5b12f0
BLAKE2b-256 e0b6374f420ebbf03170c08a20f49fd9d23b1a8386d24bcc67a4cbc1a6adf4c3

See more details on using hashes here.

File details

Details for the file apitoolkit_fastapi-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for apitoolkit_fastapi-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81f9de58d6ae7783387ea5c8087825eb3d2409ffe40ecbb8f73ccf1ab6a62ee4
MD5 f6957b82db163bdc64ff7d9241a885bf
BLAKE2b-256 4468bdd936be3146eca095d0cec0d7ad87a868b5bab1332b9e26a9247f3497b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page