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

LibraryPython Version - Lib VersionPlugin Name
aiohttpPython >=3.7 - [‘3.7.*’];sw_aiohttp
aioredisPython >=3.7 - [‘2.0.*’];sw_aioredis
aiormqPython >=3.7 - [‘6.3’, ‘6.4’];sw_aiormq
amqpPython >=3.7 - [‘2.6.1’];sw_amqp
asyncpgPython >=3.7 - [‘0.25.0’];sw_asyncpg
bottlePython >=3.7 - [‘0.12.23’];sw_bottle
celeryPython >=3.7 - [‘5.1’];sw_celery
confluent_kafkaPython >=3.7 - [‘1.5.0’, ‘1.7.0’, ‘1.8.2’];sw_confluent_kafka
djangoPython >=3.7 - [‘3.2’];sw_django
elasticsearchPython >=3.7 - [‘7.13’, ‘7.14’, ‘7.15’];sw_elasticsearch
hugPython >=3.11 - NOT SUPPORTED YET; Python >=3.10 - [‘2.5’, ‘2.6’]; Python >=3.7 - [‘2.4.1’, ‘2.5’, ‘2.6’];sw_falcon
fastapiPython >=3.7 - [‘0.89.*’, ‘0.88.*’];sw_fastapi
flaskPython >=3.7 - [‘2.0’];sw_flask
happybasePython >=3.7 - [‘1.2.0’];sw_happybase
http_serverPython >=3.7 - [‘*’];sw_http_server
werkzeugPython >=3.7 - [‘1.0.1’, ‘2.0’];sw_http_server
httpxPython >=3.7 - [‘0.23.*’, ‘0.22.*’];sw_httpx
kafka-pythonPython >=3.7 - [‘2.0’];sw_kafka
loguruPython >=3.7 - [‘0.6.0’, ‘0.7.0’];sw_loguru
mysqlclientPython >=3.7 - [‘2.1.*’];sw_mysqlclient
psycopg[binary]Python >=3.11 - [‘3.1.*’]; Python >=3.7 - [‘3.0.18’, ‘3.1.*’];sw_psycopg
psycopg2-binaryPython >=3.10 - NOT SUPPORTED YET; Python >=3.7 - [‘2.9’];sw_psycopg2
pymongoPython >=3.7 - [‘3.11.*’];sw_pymongo
pymysqlPython >=3.7 - [‘1.0’];sw_pymysql
pyramidPython >=3.7 - [‘1.10’, ‘2.0’];sw_pyramid
pikaPython >=3.7 - [‘1.2’];sw_rabbitmq
redisPython >=3.7 - [‘3.5.*’, ‘4.5.1’];sw_redis
requestsPython >=3.7 - [‘2.26’, ‘2.25’];sw_requests
sanicPython >=3.10 - NOT SUPPORTED YET; Python >=3.7 - [‘20.12’];sw_sanic
tornadoPython >=3.7 - [‘6.0’, ‘6.1’];sw_tornado
urllib3Python >=3.7 - [‘1.26’, ‘1.25’];sw_urllib3
urllib_requestPython >=3.7 - [‘*’];sw_urllib_request
websocketsPython >=3.7 - [‘10.3’, ‘10.4’];sw_websockets

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.
  • While Falcon is instrumented, only Hug is tested. Hug is believed to be abandoned project, use this plugin with a bit more caution. Instead of Hug, plugin test should move to test actual Falcon.
  • The websocket instrumentation only traces client side connection handshake, the actual message exchange (send/recv) is not traced since injecting headers to socket message body is the only way to propagate the trace context, which requires customization of message structure and extreme care. (Feel free to add this feature by instrumenting the send/recv methods commented out in the code by either injecting sw8 headers or propagate the trace context in a separate message)