Supported Libraries

This document is automatically generated from the SkyWalking Python testing matrix.

The column of versions only indicates the set of library versions tested in a best-effort manner.

If you find newer major versions that are missing from the following table, and it’s not documented as a limitation, please PR to update the test matrix in the plugin.

Versions marked as NOT SUPPORTED may be due to an incompatible version with Python in the original library or a limitation of SkyWalking auto-instrumentation (welcome to contribute!)

Plugin Support Table

Library Python Version - Lib Version Plugin Name
aiohttp Python >=3.10 - NOT SUPPORTED YET; Python >=3.6 - [‘3.7.4’]; sw_aiohttp
aioredis Python >=3.6 - [‘2.0.1’]; sw_aioredis
aiormq Python >=3.6 - [‘3.3.1’, ‘6.4.1’]; sw_aiormq
amqp Python >=3.6 - [‘2.6.1’]; sw_amqp
asyncpg Python >=3.6 - [‘0.25.0’]; sw_asyncpg
bottle Python >=3.6 - [‘0.12.21’]; sw_bottle
celery Python >=3.6 - [‘5.1’]; sw_celery
confluent_kafka Python >=3.6 - [‘1.5.0’, ‘1.7.0’, ‘1.8.2’]; sw_confluent_kafka
django Python >=3.6 - [‘3.2’]; sw_django
elasticsearch Python >=3.6 - [‘7.13’, ‘7.14’, ‘7.15’]; sw_elasticsearch
hug Python >=3.10 - [‘2.5’, ‘2.6’]; Python >=3.6 - [‘2.4.1’, ‘2.5’, ‘2.6’]; sw_falcon
fastapi Python >=3.6 - [‘0.70.1’]; sw_fastapi
flask Python >=3.6 - [‘2.0’]; sw_flask
http_server Python >=3.6 - ['*']; sw_http_server
werkzeug Python >=3.6 - [‘1.0.1’, ‘2.0’]; sw_http_server
kafka-python Python >=3.6 - [‘2.0’]; sw_kafka
mysqlclient Python >=3.6 - [‘2.1.0’]; sw_mysqlclient
psycopg[binary] Python >=3.6 - [‘3.0’]; sw_psycopg
psycopg2-binary Python >=3.10 - NOT SUPPORTED YET; Python >=3.6 - [‘2.9’]; sw_psycopg2
pymongo Python >=3.6 - [‘3.11’]; sw_pymongo
pymysql Python >=3.6 - [‘1.0’]; sw_pymysql
pyramid Python >=3.6 - [‘1.10’, ‘2.0’]; sw_pyramid
pika Python >=3.6 - [‘1.2’]; sw_rabbitmq
redis Python >=3.6 - [‘3.5’]; sw_redis
requests Python >=3.6 - [‘2.26’, ‘2.25’]; sw_requests
sanic Python >=3.10 - NOT SUPPORTED YET; Python >=3.7 - [‘20.12’]; Python >=3.6 - [‘20.12’]; sw_sanic
tornado Python >=3.6 - [‘6.0’, ‘6.1’]; sw_tornado
urllib3 Python >=3.6 - [‘1.26’, ‘1.25’]; sw_urllib3
urllib_request Python >=3.6 - ['*']; sw_urllib_request

Notes

  • The celery server running with “celery -A …” should be run with the HTTP protocol as it uses multiprocessing by default which is not compatible with the gRPC protocol implementation in SkyWalking currently. Celery clients can use whatever protocol they want.