py-grpc-prometheus
Python gRPC Prometheus Interceptors
Decision gist · record as of 2026-08-14
Yes, if you are already running gRPC services with Prometheus and need standard metrics instrumentation. The library is stable, has low install friction, and aligns with ecosystem conventions. However, verify the unclear license before use in proprietary contexts, and be aware that dormant maintenance means no active support for future gRPC or Prometheus incompatibilities—suitable for mature, stable deployments rather than greenfield projects expecting active updates.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a pure Python wheel and three straightforward runtime dependencies (setuptools, grpcio, prometheus-client).
- Maintenance is dormant—last release was 2024-02-29, last commit 2024-05-20, and no updates in 897 days—so expect no active support for new gRPC or Prometheus versions.
License · maintenance · safety
(unclear) — License status is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or GPL-sensitive contexts.
last release 2024-02-29 (897 days) · last repo commit 2024-05-20 · 54 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 961,295 downloads/mo, #4,632 on PyPI
Alternatives
Verify before relying
pip install py-grpc-prometheus
# Server side
import grpc
from concurrent import futures
from py_grpc_prometheus.prometheus_server_interceptor import PromServerInterceptor
from prometheus_client import start_http_server
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10),
interceptors=(PromServerInterceptor(),))
start_http_server(metrics_port)- Python version compatibility is unspecified; verify support for your target Python version.
- Whether dormant status means the library is stable or at risk of incompatibility with newer gRPC/Prometheus releases.
What it is and what it does
py-grpc-prometheus is an instrumentation library that exposes Prometheus metrics from gRPC services. It provides interceptors for both client and server sides that automatically track standard metrics: request counts (grpc_server_started_total, grpc_client_started_total), completion status (grpc_server_handled_total, grpc_client_handled_total), message volumes (grpc_server_msg_received_total, grpc_server_msg_sent_total, and client equivalents), and optionally request handling latencies via histograms (grpc_server_handling_seconds, grpc_client_handling_seconds).
The library mirrors the metric set from the Java and Go gRPC Prometheus libraries, making it a standard choice for Python gRPC observability. It integrates by wrapping gRPC channels on the client side and adding interceptors to the server at startup. Histograms and legacy metric names are opt-in to avoid high-cardinality label issues. With three runtime dependencies and a pure-Python wheel, it has low install friction, but its dormant maintenance status means it may lag behind new gRPC or Prometheus releases.
Use it for
- Monitor gRPC service request rates, error rates, and completion status in production Prometheus instances.
- Track per-method latency distributions and SLA compliance using Prometheus histograms on gRPC handlers.
- Instrument gRPC client code to observe outbound request metrics and detect slow or failing downstream services.
- Migrate existing gRPC observability from Java or Go services to Python while reusing the same metric names and Prometheus dashboards.
- Diagnose gRPC performance issues by correlating message send/receive counts with latency histograms.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already running gRPC services with Prometheus and need standard metrics instrumentation.
The library is stable, has low install friction, and aligns with ecosystem conventions. However, verify the unclear license before use in proprietary contexts, and be aware that dormant maintenance means no active support for future gRPC or Prometheus incompatibilities—suitable for mature, stable deployments rather than greenfield projects expecting active updates.
Install
py-grpc-prometheus on PyPI
Before you install
Low install friction with a pure Python wheel and three straightforward runtime dependencies (setuptools, grpcio, prometheus-client). Maintenance is dormant—last release was 2024-02-29, last commit 2024-05-20, and no updates in 897 days—so expect no active support for new gRPC or Prometheus versions.
License in practice
License status is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or GPL-sensitive contexts.
Quickstart
pip install py-grpc-prometheus
# Server side
import grpc
from concurrent import futures
from py_grpc_prometheus.prometheus_server_interceptor import PromServerInterceptor
from prometheus_client import start_http_server
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10),
interceptors=(PromServerInterceptor(),))
start_http_server(metrics_port)
Verify before relying
- Python version compatibility is unspecified; verify support for your target Python version.
- Whether dormant status means the library is stable or at risk of incompatibility with newer gRPC/Prometheus releases.
Package facts
| License | Not declared unclear |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagessetuptoolsgrpcioprometheus-client |
| Maintenance | Dormant 897 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 961,295 / month, #4,632 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: py_grpc_prometheus-0.8.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “grpc prometheus metrics”
- py-grpc-prometheusAdds Prometheus metrics collection to gRPC services via interceptors,…
- grpcio-observabilityAdds observability instrumentation to gRPC Python applications,…
- opentelemetry-instrumentation-grpcAdds automatic tracing and monitoring to gRPC Python client and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also grpc-interceptor · opentelemetry-instrumentation-grpc · prometheus-api-client · prometheus-client · grpcio-admin · prometheus-async · prometheus-fastapi-instrumentator · django-prometheus · starlink-grpc-core · grpcio-csds