Supported Python libraries and frameworks

Validated libraries and frameworks

The following libraries and frameworks are supported by Observe by Snowflake APM and work with all Observe by Snowflake APM features.

Database client

Observe by Snowflake supports the following Python database client libraries and services for APM instrumentation:

Library nameSupported versionsTrace ExplorerCatalogService InspectorRED MetricsDatabase StatementsService Maps
asyncpg>= 0.12.0✅✅✅✅✅✅
mysqlclient< 3✅✅✅✅✅✅
psycopg2>= 2.7.3.1✅✅✅✅✅✅
PyMongo>= 3.1, < 5.0✅✅✅✅✅✅
PyMySQL< 2✅✅✅✅✅✅

ORM

Observe by Snowflake supports the following Python ORM libraries and services for APM instrumentation:

Library nameSupported versionsTrace ExplorerCatalogService InspectorRED MetricsDatabase StatementsService Maps
SQLAlchemy>= 1.0.0, < 2.1.0✅✅✅✅✅✅

Web / HTTP Server

Observe by Snowflake supports the following Python HTTP server libraries and services for APM instrumentation:

Library nameSupported versionsTrace ExplorerCatalogService InspectorRED MetricsDeploymentsService MapsError & Exception Tracking
aiohttp~= 3.0✅✅✅✅✅✅✅
Django>= 2.0✅✅✅✅✅✅✅
FastAPI~= 0.92✅✅✅✅✅✅✅
Flask>= 1.0✅✅✅✅✅✅✅

Other libraries and frameworks supported by OpenTelemetry

The libraries and frameworks in this section are supported by OpenTelemetry but are not certified for compatibility with Observe by Snowflake APM.

Cache Client

Library nameSupported versionsTrace Explorer
pymemcache>= 1.3.5, < 5.0.0✅
redis>= 2.6.0✅
valkey 1️⃣>= 6.0.0, < 7.0.0✅

Cloud SDK

Library nameSupported versionsTrace Explorer
aiobotocore>= 2.0.0, < 4.0.0✅
boto3 (Amazon SQS)>= 1.0.0, < 2.0.0✅
botocore>= 1.0.0, < 2.0.0✅

Database Client

Library nameSupported versionsTrace Explorer
aiopg>= 0.13.0, < 2.0.0✅
cassandra-driver (and scylla-driver)>= 3.25.0, < 4.0.0✅
mysql-connector-python>= 8.0.0✅
psycopg (Psycopg 3)>= 3.1.0✅
pymssql>= 2.1.5, < 3.0.0✅

ORM

Library nameSupported versionsTrace Explorer
Tortoise ORM>= 0.17.0✅

GenAI

Library nameSupported versionsTrace Explorer
OpenAI>= 1.26.0✅
OpenAI Agents SDK 1️⃣>= 0.3.3✅
Vertex AI (google-cloud-aiplatform)>= 1.64.0✅

HTTP Client

Library nameSupported versionsTrace Explorer
HTTPX>= 0.18.0✅
requests>= 2.0.0, < 3.0.0✅
urllib3>= 1.0.0, < 3.0.0✅

Messaging and Task Queues

Library nameSupported versionsTrace Explorer
aio-pika>= 7.2.0, < 11.0.0✅
aiokafka>= 0.8.0, < 1.0.0✅
Celery>= 4.0.0, < 6.0.0✅
confluent-kafka>= 1.8.2, < 3.0.0✅
kafka-python>= 2.0.0, < 4.0.0✅
Pika (RabbitMQ)>= 0.12.0✅
Remoulade>= 0.50.0✅

Web / HTTP Server

Library nameSupported versionsTrace Explorer
Falcon>= 1.4.1, < 5.0.0✅
Pyramid>= 1.7.0✅
Starlette>= 0.13.0✅
Tornado>= 5.1.1✅

Web / RPC

Library nameSupported versionsTrace Explorer
gRPC (grpcio)>= 1.42.0✅

Other

Library nameSupported versionsTrace Explorer
asyncclick>= 8.0.0, < 9.0.0✅
Click>= 8.1.3, < 9.0.0✅
Jinja2>= 2.7.0, < 4.0.0✅
structlog>= 21.1.0✅

1️⃣ Not set up by zero-code auto-instrumentation. Install its instrumentation package (opentelemetry-instrumentation-valkey-py or opentelemetry-instrumentation-openai-agents-v2) and enable it in your code.

Check your application's libraries

☝️

Public preview feature

You may access and use this preview feature solely for internal evaluation purposes.  Previews are provided as-is. Your use of this preview is subject to the Snowflake Preview Terms located at https://www.snowflake.com/en/legal.


To check the package versions your application uses against these lists, run observe instrumentation audit in your project. See Check OpenTelemetry readiness with the Observe by Snowflake CLI.


Did this page help you?