--- id: elastic-apm version: "6.26.2" license: BSD license_treatment: permissive maintenance: active --- # elastic-apm — The official Python module for Elastic APM License: permissive · Maintenance: active · Downloads: 1.8M/mo ## What it is and what it does Elastic APM is the official Python agent for Elastic's Application Performance Monitoring platform. It automatically instruments web frameworks like Django and Flask to capture request metrics, errors, and distributed traces, sending them to a central Elastic APM Server for visualization and analysis. The agent works out-of-the-box with popular frameworks and can be adapted to any WSGI-compatible application through custom integrations. The package is designed for developers and system administrators who need visibility into application performance and error rates. It depends on urllib3, certifi, wrapt, and ecs_logging to handle HTTP communication, certificate validation, function wrapping for instrumentation, and structured logging. The agent supports Python 3.6 through 3.13 and both CPython and PyPy implementations. Use it for: - Monitor request latency and throughput in Django or Flask applications to identify performance bottlenecks. - Capture and centralize error traces across distributed microservices for root-cause analysis. - Track database query performance and external API call latencies within your application. - Instrument custom Python applications or WSGI servers to send performance data to Elastic Stack. - Correlate application metrics with infrastructure monitoring in a unified Elastic dashboard. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Elastic APM is the official Python agent for Elastic Application Performance Monitoring, instrumenting web frameworks like Django and Flask to capture performance metrics, errors, and traces for centralized monitoring. Yes. Elastic APM is actively maintained, has low install friction, carries no known vulnerabilities, and is the official agent for a widely-used monitoring platform. Install it if you run applications on Elastic APM Server or plan to adopt centralized performance monitoring; skip it if you have no APM infrastructure or use a different monitoring vendor. ## Install pip install elastic-apm uv add elastic-apm poetry add elastic-apm ## Installing elastic-apm Before you install: Low install friction with a pure-Python wheel and four lightweight runtime dependencies. Actively maintained with recent release activity. License in practice: BSD license is permissive; you can use, modify, and distribute this package freely in commercial and private projects. Quickstart: pip install elastic-apm import elasticapm client = elasticapm.Client({'SERVICE_NAME': 'my-app'}) # Automatically instruments supported frameworks; manual capture available via client methods Requires a running Elastic APM Server to send data to; without it, the agent will not report metrics or traces. Verify before relying: - Exact scope of framework auto-instrumentation support beyond Django and Flask. - Whether WSGI custom integration requires code changes or configuration only. - Performance overhead and memory footprint in production deployments. - Specific APM Server version compatibility requirements. ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 1.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags application performance monitoring python, apm agent django flask, elastic apm instrumentation, distributed tracing python, performance metrics collection, error tracking monitoring, wsgi application monitoring, apm, observability, instrumentation [View on SkillFed](https://skillfed.io/packages/elastic-apm) · [View on PyPI](https://pypi.org/project/elastic-apm/)