graphyte
Python 3 compatible library to send data to a Graphite metrics server (Carbon)
What it is and what it does
graphyte is a minimal Python library for sending metrics to a Graphite/Carbon server. It was created as a Python 3-compatible alternative to graphitesend, replacing gevent with the standard library's threading module for asynchronous operation. The library supports both synchronous sends and background-thread batching at a configurable interval, TCP and UDP protocols, tagged metrics, and direct command-line invocation.
You initialize a default sender with a server hostname and optional prefix, then call send() to submit metric values. For advanced use cases, you can instantiate multiple Sender instances targeting different servers, subclass Sender to customize message formatting or error handling, or configure whether send errors are logged or raised. The library has no external runtime dependencies.
Use it for:
- Submit application metrics to a Graphite server from a Python service or web application
- Batch metric sends on a background thread to avoid blocking request handlers in production systems
- Send custom application instrumentation (latency, counters, gauges) to a centralized metrics store
- Integrate metrics collection into a monitoring pipeline that uses Graphite as its backend
- Send metrics via UDP for low-overhead fire-and-forget submission in high-throughput scenarios
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
graphyte sends metrics to a Graphite/Carbon server over TCP or UDP, with support for synchronous sends or background-thread batching via the standard library's threading module.
No. The package is abandoned (last release 2022-01-23, 1664 days ago) with no indication of maintenance for modern Python versions. While it has no known vulnerabilities and carries a permissive MIT license, the lack of active support and uncertain compatibility with Python 3.10+ makes it a poor choice for new projects. Consider an actively maintained alternative if you need to send metrics to Graphite.
Install
graphyte on PyPI
pip
pip install graphyteuv
uv add graphytepoetry
poetry add graphyteInstalling graphyte
Before you install
High install friction: no runtime dependencies, but the package has been abandoned since January 2022 (1664 days without a release). The last commit was 2022-01-23 and the repository is not archived, leaving maintenance status uncertain for modern Python versions.
License in practice
MIT License (permissive) — you can use, modify, and distribute graphyte freely in commercial and private projects with minimal restrictions, requiring only attribution and inclusion of the license notice.
Quickstart
pip install graphyte
import graphyte
graphyte.init('graphite.example.com', prefix='system.sync')
graphyte.send('foo.bar', 42)
Verify before relying
- Whether the package works reliably with Python versions released after the last commit (2022-01-23), particularly 3.10+
- Current stability and any breaking changes in modern Graphite/Carbon server versions
- Whether background thread batching (interval parameter) is production-ready for high-volume metric submission
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,664 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 140,553/month — #11,268 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: graphyte-1.7.1.tar.gz
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
codecarbonMeasures and tracks carbon emissions from local…
permissive · top 15,000 on PyPI
graphitesendSends metrics to Graphite's Carbon backend over…
unclear · top 15,000 on PyPI
whisperWhisper is a fixed-size time-series database…
permissive · top 15,000 on PyPI
statsdA Python client library that sends metrics to a…
permissive · top 5,000 on PyPI
statsd-tagsA Python client for sending metrics to…
permissive · top 15,000 on PyPI
python-statsdA client library for sending metrics to Etsy's…
permissive · top 15,000 on PyPI
awsmeSends AWS CloudWatch metrics asynchronously and…
permissive · top 15,000 on PyPI
datadogProvides a Python client library to send…
permissive · top 1,000 on PyPI
questdbA Python client library for QuestDB that sends…
permissive · top 15,000 on PyPI
zabbix-utilsProvides Python bindings for Zabbix API,…
permissive · top 15,000 on PyPI