Python Agent Support
Python Versions
The Python agent supports these Python versions:
- Linux: Python 3.6, 3.7, 3.8, 3.9, and 3.10
- Alpine Linux: Python 3.6, 3.7, 3.8, 3.9, and 3.10
Operating Systems
The Python agent operates on:
- Linux distribution based on glibc 2.12+ and x86 64-bit architecture
- Alpine Linux (3.13+) distribution based on musl 1.2.2+ and x86 64-bit architecture
The Python agent does not support Power Architecture.
Python Frameworks and Protocols
Python Agent supports:
- ASGI supported frameworks such as FastAPI
- WSGI supported frameworks such as Django, Flask, CherryPy, Bottle, and Pyramid
- Tornado
You can configure the agent to instrument any WSGI-based and ASGI-based application or framework as Python Web, including but not limited to those listed below.
At present, the Python agent fully supports exception detection in Django, Flask, CherryPy, Bottle, Pyramid, Tornado, and FastAPI frameworks. Other frameworks and custom applications may install exception handlers that effectively hide some exceptions from the agent. In such cases, the agent will only detect exceptions during exit calls, missed exceptions that are propagated to the WSGI or ASGI middleware, and exceptions reported via the custom business transaction API.
ASGI-Based Framework | Version | Notes |
---|
FastAPI | 0.72.0 - 0.82.0 | Only HTTP endpoints are supported |
WSGI-Based Frameworks | Version | Notes |
---|
WSGI | 1.0 | Entry point type: Python web Default transaction naming: the first two segments of the URI |
Bottle | 0.12.19 |
|
CherryPy | 18.6.1 |
|
Django | 3.1.6 |
|
Flask | 1.1.2 |
|
PasteDeploy | 2.1.0 |
|
Pyramid | 2.0 |
|
mod_wsgi | 4.7.1 |
|
Miscellaneous Frameworks | Version | Notes |
---|
Tornado | 3.2 - 4.5, 5.x (without asyncio), and 6.0 | Entry point type: Python web Default transaction naming: the first two segments of the URI |
Database Exit Points
Supported Database Exit Points | Version |
---|
cx_Oracle | 5.1.x |
MongoDB | 3.1+ |
MySQL-Python |
|
mysqlclient |
|
MySQL Connector/Python |
|
Psycopg 2 |
|
PyMySql |
|
TorMySql |
|
HTTP Exit Points
Supported HTTP Exit Points |
---|
httplib* |
httplib2 |
requests |
urllib |
urllib2 |
urllib3 |
tornado.httpclient |
* The agent detects calls to any external library built on top of httplib
. Therefore, backend calls to such services, such as, boto, dropbox, python-twitter are detected and displayed as HTTP exit calls.
Cache Exit Points
Supported Cache Exit Points |
---|
Memcache |
Redis-py |