The ARMS Python agent supports Python 3.8 through 3.13. This page lists all supported third-party components and frameworks with their compatible version ranges.
Dependency requirements
Protobuf
The Python agent uses Protobuf to encode data during reporting. If your application also uses Protobuf, make sure the versions are compatible:
protobuf>=3.20.0, < 7.0OpenTelemetry API
The Python agent follows the OpenTelemetry API specification. Supported version range:
opentelemetry-api <= 1.39.0Runtime-specific configuration
uvicorn
If your application starts with uvicorn, use one of the following methods to initialize the ARMS Python agent.
Method 1: Import the agent in the entry file
Add this import as the first line of your uvicorn entry file:
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomizeMethod 2: Switch to gunicorn with the aliyun-instrument prefix
Replace uvicorn with gunicorn and prepend aliyun-instrument to the startup command.
Before:
uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0After:
aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:appThe aliyun-instrument command handles initialization and non-intrusive instrumentation of the ARMS Python agent.uWSGI
If your application starts with uWSGI, see Install the Python agent for a Django or Flask project that starts with uWSGI.
gevent
If your application uses gevent coroutines, set the GEVENT_ENABLE=true environment variable.
For example, if your code includes:
from gevent import monkey
monkey.patch_all()Set the environment variable:
GEVENT_ENABLE=trueSupported plugins
The following tables list supported components by category. The version columns indicate the tested range:
| Column | Meaning |
|---|---|
| Earliest supported | Oldest version verified to work with the agent |
| Latest supported | Newest version verified to work with the agent |
Large language model (LLM) applications
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| AgentScope | PyPI | 1.0 | 1.0.10 |
| CrewAI | PyPI | 0.1.0 | 1.7.2 |
| Dashscope | PyPI | 1.0.0 | 1.2.1 |
| Dify | GitHub | 0.12.8 | 1.11.2 |
| Dify Plugin | GitHub | No restriction | No restriction |
| Google ADK | PyPI | 1.2.1 | 1.21.0 |
| LangChain | PyPI | 0.1.0 | 1.2.0 |
| LangGraph | PyPI | No restriction | 1.0.5 |
| LiteLLM | PyPI | 1.0.0 | 1.79.0 |
| Llama-index | PyPI | 0.10.5 | 0.10.43 |
| MCP | PyPI | 1.3.0 | 1.12.4 |
| OpenAI | PyPI | 1.0.0 | 2.14.0 |
| OpenAI Agent | PyPI | 0.3.3 | 0.6.6 |
| RagFlow | GitHub | 0.14.0 | 0.21.1 |
LLM services
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| SGLang | PyPI | 0.4.6 | 0.4.9.post6 |
| vLLM V0 | PyPI | 0.5.0 | 0.8.4 |
| vLLM V1 | PyPI | 0.8.2 | 0.10.0 |
HTTP and RPC frameworks
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| aiohttp | PyPI | 3.0 | No restriction |
| asgiref | PyPI | 3.0 | No restriction |
| BlackSheep | PyPI | 1.2.0 | No restriction |
| Click | PyPI | 8.1.3 | < 9.0.0 |
| Django | PyPI | 1.10 | No restriction |
| FastAPI | PyPI | 0.58 | No restriction |
| Flask | PyPI | 1.0 | No restriction |
| gRPC | PyPI | 1.42.0 | No restriction |
| Jinja2 | PyPI | 2.7 | < 4.0 |
| Requests | PyPI | 2.0 | No restriction |
| Tornado | PyPI | 5.1.1 | No restriction |
| WSGI | Built-in | No restriction | No restriction |
Vector databases
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| Milvus | PyPI | 2.4.1 | No restriction |
Memory frameworks
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| mem0 | GitHub | 1.0.0 | 1.0.2 |
Database frameworks
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| aiopg | PyPI | 0.13.0 | < 2.0.0 |
| AsyncPG | PyPI | 0.12.0 | No restriction |
| DBAPI | Built-in | No restriction | No restriction |
| MySQL | PyPI | 8.0 | < 10.0 |
| MySQLClient | PyPI | No restriction | < 3 |
| psycopg | PyPI | 3.1.0 | No restriction |
| psycopg2 | PyPI | 2.7.3.1 | No restriction |
| Pydantic | PyPI | 1.10.2 | No restriction |
| PyMongo | PyPI | 3.1 | < 5.0 |
| PyMSSQL | PyPI | 2.1.5 | < 3 |
| PyMySQL | PyPI | No restriction | < 2 |
| SQLAlchemy | PyPI | 1.0.0 | < 2.1.0 |
| SQLite3 | Built-in | No restriction | No restriction |
| TortoiseORM | PyPI | 0.17.0 | No restriction |
Caches and search engines
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| Cassandra | PyPI | 3.25 | No restriction |
| Elasticsearch | PyPI | 6.0 | No restriction |
| PyMemcache | PyPI | 1.3.5 | < 5 |
| Redis | PyPI | 2.6 | No restriction |
| Scylla | PyPI | 3.25 | No restriction |
Message queues
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| aio-pika | PyPI | No restriction | No restriction |
| aiokafka | PyPI | No restriction | No restriction |
| Celery | PyPI | 4.0 | < 6.0 |
| Confluent Kafka | PyPI | 1.8.2 | 2.7.0 |
| Kafka Python | PyPI | No restriction | No restriction |
| Pika | PyPI | No restriction | No restriction |
| Remoulade | PyPI | 0.50 | No restriction |
Logging and async
| Component | Repository | Earliest supported | Latest supported |
|---|---|---|---|
| asyncio | Built-in | No restriction | No restriction |
| Logging | Built-in | No restriction | No restriction |
| Loguru | PyPI | 0.5.0 | 1.0 |
| Threading | Built-in | No restriction | No restriction |