Compatibility and requirements for the Python agent

Before you install the New Relic Python agent, make sure your system meets these requirements.

Basic requirements

New Relic supports many of the most common Python web frameworks. Additional configuration may be required depending on your specific hosting mechanism, hosting service, web framework, or back-end services.

Resource Requirements
Operating systems UNIX-like operating systems including Linux, Solaris, FreeBSD, and macOS. The Python agent does not support Windows environments.
Python

Python (CPython/PyPy) versions supported: Versions 2.7, 3.4, 3.5, 3.6, 3.7

Python versions 2.6 and 3.3 supported only by Python agent versions 3.4.0.95 or lower.

Supported web frameworks

Supported WSGI web frameworks include:

Unsupported frameworks

Some WSGI servers, frameworks, and apps have special requirements. Although a specific Python WSGI web framework may not be supported, you can still use the agent. For unsupported frameworks, a breakout of time spent in key parts of the framework will not appear in web transaction performance breakdowns and transaction traces.

In addition, New Relic will not be able to meaningfully group any web transactions handled by specific handlers in your code that you use to make them more useful and targeted. In these situations you can use New Relic's Python agent API to name web transactions or add custom instrumentation.

Hosting Web hosting mechanisms compliant with WSGI 1.0 (PEP 333). For example, you can install the Python agent in a Google App Engine flexible environment.
Security requirements As a standard security measure for data collection, your app server must support SHA-2 (256-bit). SHA-1 is not supported.

Python package instrumentation

New Relic also provides instrumentation for a range of other Python packages and modules. Instrumentation includes database queries, memcache requests, external service requests, instance-level details, and more. The results will appear automatically in New Relic APM's user interface within web transaction performance breakdowns and transaction traces for slow transactions.

Connect the agent to other New Relic products

The Python agent integrates with other New Relic products to give you end-to-end visibility:

Product Integration
New Relic Browser The Python agent automatically injects the Browser JavaScript agent when you enable auto-instrumentation. After enabling Browser injection, you can view Browser data in the APM Overview page and quickly switch between the APM and Browser data for a particular app. For configuration options and manual instrumentation, see New Relic Browser and the Python agent.
New Relic Infrastructure When you install the Infrastructure and APM agents on the same host, they automatically detect one another. You can then view a list of hosts in the APM UI, and filter your Infrastructure hosts by APM app in the Infrastructure UI. For more information, see New Relic APM data in Infrastructure.
New Relic Insights The Python agent sends default events and attributes to Insights for NRQL queries. You can also record custom events for advanced analysis.
New Relic Synthetics Synthetic transaction traces connect requests from Synthetics monitors to the underlying APM transaction.

For more help

Recommendations for learning more: