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 (CPython/PyPy) versions supported: Versions 2.7, 3.5, 3.6, 3.7, 3.8

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

Supported web frameworks

Supported web frameworks include:

  • Aiohttp
  • Bottle
  • CherryPy
  • Django
  • Falcon
  • Flask
  • gRPC
  • Pylons
  • Pyramid
  • Sanic
  • Tornado 6
  • Web2Py
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.
Other monitoring software

If your application uses other monitoring software besides ours, we cannot guarantee that our agent will work correctly and we cannot offer technical support. For more information, see Errors while using other monitoring software.

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.

Python version support

The New Relic Python agent in general will support all released and active Python branches. However, to keep up with upcoming changes, the agent will also follow this Python version support schedule. The version support policy does not replace the general New Relic agent and plugin end-of-life (EOL) policy.

Support for new Python releases

The following are proposed time ranges. The actual release date may vary.

Python version Active long term support (LTS) start date Initial release date of Python agent
with support
3.8 October 21, 2019 November-December 2019

End of support for Python releases reaching EOL

The following are proposed time ranges. The actual release date may vary.

Python version End of life (EOL) date Initial release date of Python agent dropping support
3.5 September 13, 2020 TBD
2.7 January 1, 2020 TBD

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: