Python components and frameworks supported by ARMS Application Monitoring

Updated at:
Copy as MD

This topic lists the Python versions, third-party components, and frameworks that the Python agent supports.

Supported Python versions

Required Python version: 3.9 to 3.14

Supported Protobuf versions

The Python agent uses Protobuf for data encoding and reporting. This may conflict with the Protobuf version that your application uses. The Python agent is compatible with the following Protobuf versions:

"protobuf>=3.20.0, < 7.0"
Important
  • Integrating the agent may change the versions of some of your dependencies, such as Protobuf. To prevent unexpected errors caused by dependency version changes, use one of the following methods:

  1. If you have already installed a dependency, such as Protobuf, run the following command to increase its priority:

# View the package installation path
python3 -m site
# The output is similar to the following
sys.path = [
    '/app',
    '/usr/local/lib/python3.9',
    '/usr/local/lib/python3.9/site-packages'
]
# Set the PYTHONPATH environment variable to prioritize your dependency version
# Use colons (:) to separate different paths
export PYTHONPATH=/app:/usr/local/lib/python3.9:/usr/local/lib/python3.9/site-packages
  1. If Method 1 does not resolve the issue, manually install the Python agent. After you integrate the agent, run the following command to force a specific dependency version:

pip3 install xx==${your_original_dependency_version} --force-reinstall

Supported OpenTelemetry API versions

The Python agent is implemented based on the OpenTelemetry API specification. Because different versions of the OpenTelemetry API may have minor differences, the Python agent supports the following range of OpenTelemetry API versions:

"opentelemetry-api <= 1.40.0"

Python framework compatibility

Review these framework-specific requirements before you proceed.

uvicorn

If your application starts with uvicorn, choose one of the following approaches:

Approach A: Import the agent in code. Add this import statement to the first line of your uvicorn entry file:

from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize

Approach B: Switch to gunicorn with the aliyun-instrument prefix. Replace your uvicorn command:

# Before
uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0

# After
aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
Note

The aliyun-instrument prefix 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 you use gevent coroutines, set the GEVENT_ENABLE environment variable to true.

For example, if your code contains:

from gevent import monkey
monkey.patch_all()

Set the following environment variable in your deployment:

GEVENT_ENABLE=true

Database frameworks

Supported plug-in versions

LLM (large language model) applications

Component

PyPI/GitHub repository address

Minimum version

Later versions

AgentScope

https://pypi.org/project/agentscope/

v1.0

v1.0.10

Anthropic SDK

https://pypi.org/project/anthropic/

v0.16.0

v0.111.0

Claude Agent SDK

https://pypi.org/project/claude-agent-sdk/

v0.1.0

No limit

CrewAI

https://pypi.org/project/crewai/

v0.1.0

v1.7.2

Dashscope

https://pypi.org/project/dashscope/

v1.0.0

v1.2.1

Dify

https://github.com/langgenius/dify/

v0.12.8

v1.11.2

Dify Plugin

https://github.com/langgenius/dify/

No limit

No limit

Dify React

https://github.com/langgenius/dify-official-plugins

v0.1.0

v0.1.0

Google ADK

https://pypi.org/project/google-adk/

v1.2.1

v1.21.0

Hermes Agent

https://github.com/NousResearch/hermes-agent

v0.12.0

v0.16.0

LangChain

https://pypi.org/project/langchain/

v0.1.0

v1.2.0

LangGraph

https://pypi.org/project/langgraph/

No limit

v1.0.5

LiteLLM

https://pypi.org/project/litellm/

v1.0.0

v1.79.0

Llama-index

https://pypi.org/project/llama-index/

v0.10.5

v0.10.43

MCP

https://pypi.org/project/mcp/

v1.3.0

v1.25.0

OpenAI

https://pypi.org/project/openai/

v1.0.0

v2.14.0

OpenAI Agent

https://pypi.org/project/openai-agents/

v0.3.3

v0.6.6

Qwen-Agent

https://pypi.org/project/qwen-agent/

v0.0.20

v0.0.34

QwenPaw

https://github.com/agentscope-ai/QwenPaw

v1.1.0

v1.1.11

RagFlow

https://github.com/infiniflow/ragflow/

v0.14.0

v0.21.1

LLM (large language model) services

Component

PyPI/GitHub repository address

Previous versions

Later versions

SGLang

https://pypi.org/project/sglang/

v0.4.6

v0.4.9.post6

vLLM V0

https://pypi.org/project/vllm/

v0.5.0

v0.8.4

vLLM V1

V0.8.2

V0.16.0

HTTP/RPC frameworks

Component

PyPI/GitHub repository address

Earlier versions

Later versions

aiohttp

https://pypi.org/project/aiohttp/

v3.0

No limit

asgiref

https://pypi.org/project/asgiref/

v3.0

No limit

BlackSheep

https://pypi.org/project/blacksheep/

v1.2.0

No limit

Click

https://pypi.org/project/click/

v8.1.3

< 9.0.0

Django

https://pypi.org/project/Django/

v1.10

No limit

Falcon

https://pypi.org/project/falcon/

v1.4.1

< 5.0.0

FastAPI

https://pypi.org/project/fastapi/

v0.92

No limit

Flask

https://pypi.org/project/Flask/

v1.0

No limit

gRPC

https://pypi.org/project/grpcio/

v1.42.0

No limit

HTTPX

https://pypi.org/project/httpx/

v0.18.0

No limit

Jinja2

https://pypi.org/project/jinja2/

v2.7

< 4.0

Pyramid

https://pypi.org/project/pyramid/

v1.7

No limit

Requests

https://pypi.org/project/requests/

v2.0

No limit

Starlette

https://pypi.org/project/starlette/

v0.13

No limit

Tornado

https://pypi.org/project/tornado/

v5.1.1

No limit

urllib

No specific dependency

No specific version requirement

No limit

urllib3

https://pypi.org/project/urllib3/

v1.0.0

< 3.0.0

WSGI

None

No limit

No limit

Vector databases

Component

PyPI/GitHub repository address

Minimum version

Later versions

milvus

https://pypi.org/project/milvus/

v2.4.1

No limit

Memory frameworks

Component

PyPI/GitHub repository address

Minimum version

Later versions

mem0

https://github.com/mem0ai/mem0

v1.0.0

v1.0.2

Database frameworks

Component

PyPI/GitHub repository address

Previous version

Later versions

aiopg

https://pypi.org/project/aiopg/

v0.13.0

< 2.0.0

AsyncPG

https://pypi.org/project/asyncpg/

v0.12.0

No limit

DBAPI

No specific dependency

No specific version requirement

No limit

MySQL

https://pypi.org/project/mysql-connector-python/

v8.0

< 10.0

MySQLClient

https://pypi.org/project/mysqlclient/

No specific version requirement

< 3

psycopg

https://pypi.org/project/psycopg/

v3.1.0

No limit

psycopg2

https://pypi.org/project/psycopg2/

v2.7.3.1

No limit

Pydantic

https://pypi.org/project/pydantic/

v1.10.2

No limit

PyMongo

https://pypi.org/project/pymongo/

v3.1

< 5.0

PyMSSQL

https://pypi.org/project/pymssql/

v2.1.5

< 3

PyMySQL

https://pypi.org/project/pymysql/

No specific version requirement

< 2

SQLAlchemy

https://pypi.org/project/sqlalchemy/

v1.0.0

< 2.1.0

SQLite3

No specific dependency

No specific version requirement

No limit

TortoiseORM

https://pypi.org/project/tortoise-orm/

v0.17.0

No limit

Cache plug-ins

Component

PyPI/GitHub repository address

Older version

Later versions

Cassandra

https://pypi.org/project/cassandra-driver/

v3.25

No limit

Elasticsearch

https://pypi.org/project/elasticsearch/

v6.0

No limit

PyMemcache

https://pypi.org/project/pymemcache/

v1.3.5

< 5

Redis

https://pypi.org/project/redis/

v2.6

No limit

Scylla

https://pypi.org/project/scylla-driver/

v3.25

No limit

Message Queue Plugin

Component

PyPI/GitHub repository address

Older versions

Later versions

aio-pika

https://pypi.org/project/aio-pika/

No specific version requirement

No limit

aiokafka

https://pypi.org/project/aiokafka/

No specific version requirement

No limit

Celery

https://pypi.org/project/celery/

v4.0

< 6.0

Confluent Kafka

https://pypi.org/project/confluent-kafka/

v1.8.2

v2.7.0

Kafka Python

https://pypi.org/project/kafka-python/

No specific version requirement

No limit

Pika

https://pypi.org/project/pika/

No specific version requirement

No limit

Remoulade

https://pypi.org/project/remoulade/

v0.50

No limit

Other plug-ins

Component

PyPI/GitHub repository address

Earlier versions

Later versions

asyncio

No specific dependency

No specific version requirement

No limit

Logging

No specific dependency

No specific version requirement

No limit

Loguru

https://pypi.org/project/loguru/

v0.5.0

v1.0

Threading

No specific dependency

No specific version requirement

No limit