Skip to main content

rust-py-monitor

PyPI Python License GitHub

🌐 rust-py-monitor.vercel.app

High-performance Python monitoring library with a Rust core.

Collects CPU, memory, threads, and HTTP request metrics from Django and FastAPI applications with minimal overhead. Exports metrics to logs, JSON, and Prometheus.


Features

  • Process snapshot — CPU %, RSS memory, virtual memory, thread count, PID
  • FastAPI middleware — per-request latency, method, path, status code (errors recorded even when a handler raises)
  • Django middleware — same, for WSGI and ASGI Django apps
  • Aggregator — total requests, error count, error rate, avg/min/max/p50/p95/p99 latency
  • Bounded store — request history is a capped ring buffer (default 10k) — constant memory under any traffic
  • Multi-worker aggregation — opt-in shared store merges metrics across gunicorn/uvicorn workers (RPY_MULTIPROC_DIR)
  • Prometheus exporter/metrics endpoint compatible with Prometheus scraper
  • Rust core — collection and aggregation happen in Rust via PyO3; Python API stays simple

Requirements

  • Python 3.10+
  • No mandatory runtime dependencies

Optional, installed separately:

  • fastapi + starlette — for MonitorMiddleware and make_fastapi_router()
  • django — for MonitorMiddleware and django_metrics_view

Installation

pip install rust-py-monitor

With optional extras:

pip install "rust-py-monitor[fastapi]"
pip install "rust-py-monitor[django]"
pip install "rust-py-monitor[fastapi,django,prometheus]"

Quick Start

import rust_py_monitor

# Process snapshot
m = rust_py_monitor.snapshot()
print(m)
# Snapshot(pid=1234, cpu=0.3%, rss=45.2MB, virt=512.0MB, threads=4, ts=1718000000)

print(m.pid)            # 1234
print(m.memory_rss_mb)  # 45.2
print(m.to_dict())      # {"pid": 1234, "cpu_percent": 0.3, ...}

# Aggregated request metrics
stats = rust_py_monitor.aggregate()
print(stats.total_requests)  # 0 (no middleware active yet)
print(stats.p95_latency_ms)  # 0.0

FastAPI

Middleware

from fastapi import FastAPI
from rust_py_monitor.fastapi import MonitorMiddleware

app = FastAPI()
app.add_middleware(MonitorMiddleware)


@app.get("/")
async def root():
    return {"status": "ok"}

Prometheus endpoint

from fastapi import FastAPI
from rust_py_monitor.fastapi import MonitorMiddleware
from rust_py_monitor.prometheus import make_fastapi_router

app = FastAPI()
app.add_middleware(MonitorMiddleware)
app.include_router(make_fastapi_router())          # GET /metrics
# app.include_router(make_fastapi_router("/prom")) # custom path

Inspect metrics programmatically

import rust_py_monitor

stats = rust_py_monitor.aggregate()
print(f"Requests: {stats.total_requests}")
print(f"Errors:   {stats.total_errors} ({stats.error_rate:.1f}%)")
print(f"p95:      {stats.p95_latency_ms:.1f}ms")
print(f"p99:      {stats.p99_latency_ms:.1f}ms")

for req in rust_py_monitor.get_requests()[-5:]:
    print(req)
    # RequestMetric(GET /api/users 200 12.34ms)

Django

Middleware

# settings.py
MIDDLEWARE = [
    "rust_py_monitor.django.MonitorMiddleware",
    # ... other middlewares ...
]

Prometheus endpoint

# urls.py
from django.urls import path
from rust_py_monitor.prometheus import django_metrics_view

urlpatterns = [
    path("metrics/", django_metrics_view),
    # ...
]

The middleware supports both WSGI and ASGI Django applications automatically.


Prometheus Output

GET /metrics returns:

# HELP rpy_requests_total Total HTTP requests recorded
# TYPE rpy_requests_total counter
rpy_requests_total 1024

# HELP rpy_errors_total Total HTTP errors (status >= 400)
# TYPE rpy_errors_total counter
rpy_errors_total 12

# HELP rpy_error_rate_percent HTTP error rate as a percentage
# TYPE rpy_error_rate_percent gauge
rpy_error_rate_percent 1.171875

# HELP rpy_latency_p95_ms P95 request latency in milliseconds
# TYPE rpy_latency_p95_ms gauge
rpy_latency_p95_ms 47.3

# HELP rpy_process_memory_rss_bytes Process RSS memory in bytes
# TYPE rpy_process_memory_rss_bytes gauge
rpy_process_memory_rss_bytes 52428800

# ... (13 metrics total)

Content-Type: text/plain; version=0.0.4; charset=utf-8


API Reference

rust_py_monitor.snapshot() → Snapshot

Captures a point-in-time snapshot of the current process.

Property Type Description
pid int Process ID
cpu_percent float CPU usage (0–100 × cores). First call may return 0.0.
memory_rss int Resident Set Size in bytes
memory_rss_mb float RSS in megabytes (convenience)
memory_virtual int Virtual memory in bytes
threads int Thread count (0 on macOS/Windows)
timestamp int Unix timestamp in seconds
to_dict() dict All fields as a plain dict

rust_py_monitor.aggregate() → AggregatedMetrics

Computes statistics over all requests recorded since startup (or last clear_requests()).

Property Type Description
total_requests int Total request count
total_errors int Requests with status ≥ 400
error_rate float total_errors / total_requests × 100
avg_latency_ms float Mean latency
min_latency_ms float Minimum latency
max_latency_ms float Maximum latency
p50_latency_ms float Median latency
p95_latency_ms float 95th percentile latency
p99_latency_ms float 99th percentile latency
to_dict() dict All fields as a plain dict

rust_py_monitor.get_requests() → list[RequestMetric]

Returns all recorded requests. Each RequestMetric has:

Property Type
method str
path str
status_code int
duration_ms float
timestamp int
to_dict() dict

rust_py_monitor.metrics_text() → str

Returns all metrics in Prometheus text exposition format (v0.0.4).


rust_py_monitor.clear_requests()

Clears the request store. Useful for testing and periodic resets.


rust_py_monitor.set_max_requests(n) / get_max_requests() → int

The request store is a bounded ring buffer (default capacity 10 000). Once full, the oldest entries are evicted first, so memory never grows without bound. Use these to tune the retention window.


Multi-worker deployments (gunicorn / uvicorn)

By default each worker process keeps its own in-memory store. A Prometheus scrape of /metrics reaches only one worker, so the numbers would reflect just that worker's traffic.

Set the RPY_MULTIPROC_DIR environment variable to a writable directory to enable shared aggregation. Each worker writes a small fixed-size shard file (rpy-<pid>.shard); aggregate() and metrics_text() then merge all live workers' shards at read time. Shards of dead workers are pruned automatically.

export RPY_MULTIPROC_DIR=/tmp/rpy-metrics
gunicorn -w 4 myapp:app

You can also configure it at runtime:

import rust_py_monitor
rust_py_monitor.set_multiproc_dir("/tmp/rpy-metrics")
rust_py_monitor.multiproc_enabled()   # True
rust_py_monitor.get_multiproc_dir()   # "/tmp/rpy-metrics"

Notes:

  • Counters (total_requests, total_errors) and latency histogram buckets are summed across workers. Latency percentiles (p50/p95/p99) are therefore approximated from the merged histogram rather than computed exactly.
  • get_requests() always returns the local process's recent requests only.
  • Process metrics (CPU/memory/threads) reflect the worker that served the scrape.

Roadmap

rust-py-monitor is mature (v0.2.0): process snapshots, FastAPI/Django middlewares, the latency aggregator, the bounded ring-buffer store, multi-worker aggregation, and the Prometheus exporter are shipped. Directional ideas under consideration (simple CPU/memory alerts, GC metrics, per-route labeled metrics, more exporters/sinks, a Flask middleware) are tracked in ROADMAP.md.


Building from Source

Requires Rust and maturin.

pip install maturin
git clone https://github.com/robertolima-dev/rust-py-monitor
cd rust-py-monitor

# Development build (installs into current Python environment)
maturin develop

# Release wheel
maturin build --release

Running tests

# Rust unit tests
cargo test

# Python integration tests
pip install pytest pytest-asyncio httpx fastapi django
pytest tests/

Architecture

Python API (rust_py_monitor)
    ├── snapshot()          ──► src/snapshot.rs   (sysinfo crate)
    ├── aggregate()         ──► src/aggregator.rs (pure Rust math)
    ├── get_requests()      ──► src/request_metrics.rs (static Mutex<VecDeque>, bounded)
    ├── metrics_text()      ──► src/prometheus.rs (text formatter)
    ├── set_multiproc_dir() ──► src/multiproc.rs  (mmap shard per worker)
    │
    ├── fastapi.MonitorMiddleware  ──► record_request() ──► Rust store
    ├── django.MonitorMiddleware   ──► record_request() ──► Rust store
    └── prometheus.make_fastapi_router() / django_metrics_view

The Rust core is compiled to a native .so / .pyd extension module by maturin and PyO3. The Python layer is thin — it just routes calls and provides framework-specific adapters.


License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rust_py_monitor-0.2.1.tar.gz (45.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rust_py_monitor-0.2.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (595.3 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (559.7 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (383.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (595.5 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (560.0 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (384.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl (595.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl (558.4 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (382.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-cp314-cp314-win_amd64.whl (211.9 kB view details)

Uploaded CPython 3.14Windows x86-64

rust_py_monitor-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl (594.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-cp314-cp314-musllinux_1_2_aarch64.whl (559.1 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (383.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-cp314-cp314-macosx_11_0_arm64.whl (303.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rust_py_monitor-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl (306.7 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rust_py_monitor-0.2.1-cp313-cp313-win_amd64.whl (211.2 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_py_monitor-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl (594.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl (558.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (383.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (303.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_py_monitor-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl (306.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rust_py_monitor-0.2.1-cp312-cp312-win_amd64.whl (211.2 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_py_monitor-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl (595.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl (558.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (391.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (383.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (302.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_py_monitor-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl (306.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rust_py_monitor-0.2.1-cp311-cp311-win_amd64.whl (211.3 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_py_monitor-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl (595.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl (559.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (392.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (383.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (305.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rust_py_monitor-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl (308.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rust_py_monitor-0.2.1-cp310-cp310-win_amd64.whl (211.3 kB view details)

Uploaded CPython 3.10Windows x86-64

rust_py_monitor-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl (595.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

rust_py_monitor-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl (559.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rust_py_monitor-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (392.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (383.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file rust_py_monitor-0.2.1.tar.gz.

File metadata

  • Download URL: rust_py_monitor-0.2.1.tar.gz
  • Upload date:
  • Size: 45.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for rust_py_monitor-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2f3d5c19729bfe9f6c2fc012cedd885b14c55592690ad19ea98a6e3ff524ffee
MD5 27e612e35d83b45ccc4598e0a9a51498
BLAKE2b-256 4b4d00be4e78f6fe4527d125117b099df0ca87f394aecdaf9de549f495b37b7e

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5fbfd09fd8edd245e94ede4677d726805fe0ee69e6dfd59aa2eadea02cb9ef27
MD5 d893f32fa4f57cafc1c52879cb565837
BLAKE2b-256 5a8051aa49d0a1cef20827aadb1dfa3148330b1e4ee0c81caa90a3e8f4615ac5

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dbe0ed20451e0153c2997c0e935d7cd0bab18e37a4f5c41f09998143428af506
MD5 bc5d9369f0fc5e9191d893bd9a2941f9
BLAKE2b-256 3c9597e73985fae011cefaee11b52ad3227bfa2970a395eb3975d635fd298e1f

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f97c7ceeb16d14429aee8008bfb8b45fffec3e326a89a4953ae614ecd6a7c51
MD5 e2fad6ed26a5b6caf736758033199bdf
BLAKE2b-256 d74b6f58d5f346b5c1a49ea0e1ca84fda7a6aaddd936378e0151d266255c1660

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e474c17e1dafa502ae967386d82659fc9b890fb28dc464d8316015c819ae92c8
MD5 d53fbadf1865ff918983ef5c3eb8de6c
BLAKE2b-256 e6478902cc6100ed6129d273b5ca9d937e39f33642fe867ab9eb81e817037229

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b322de6bc997337e58e9cd79ae62603aa2833cea9b7ce94ea3eea26ac4127b2b
MD5 7da19ea8736d9bab08cea33ccfb6f448
BLAKE2b-256 e7db69ceaa4c40d0b6d12bd1401382aebbc8cbe2ac179b981accb80c6b073aba

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 29b36d7b0fbbfd584257d826e77eb14bab55621be2ec41309a2a8a6d8c2759d4
MD5 94e1808a585fc69b23807e273fc4f49a
BLAKE2b-256 399dcce8f12442b3b01ff7073ca7336db9b112e9fea903f30ceb650ad6511753

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 17c08845de152402aacfe7f6ecb858e5d7275515ecf178993465ce4b53be5e43
MD5 5a88139ad7ec2457b1d32857affa76c3
BLAKE2b-256 423f09432950ffc3ac9e9a38a30deae20edc9f6a8afb8fbd7548669e49cdca84

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8837178b0b92a6bf9bf4046ebc4c43b1ca9fe4d16629336b1e6ec4465705f514
MD5 ca89f5d9dac3fd16adfc1bb70c330ed6
BLAKE2b-256 7287101ef609cea65563a248aa647dd2e576dd28e017a9ed099b3e3a221e8cd2

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e35b8647383d5234d380df23032de20925df0a5a7b9aff1e4f51c47e1000115d
MD5 387b7dd0585ab757bc39402e5e50fa65
BLAKE2b-256 da83b949fdc5dde8e1ccfcc64eb5f0b9629e6b5dfe2902a8ab53518cde61ab9f

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3e12fcb87003e29043fe22e1fc5303848e4127dde07d5a601d11839817646dc
MD5 6369838d66ab756da7c619249029d58e
BLAKE2b-256 00e753e6daeb10facfa6825848852f827765ab33de6e4a939d866881b0369dde

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 318caa1a1f2181208204620201ba56718c283e8ce3c9c55681f64cb0b8ea0dc2
MD5 c6d18276daf8668ae7b8c3b85269cec0
BLAKE2b-256 90e5fabf328092fe11aeb8cfddfee00231fe9b7c39f244472cf09110c89be833

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f0219b03587d4a67f90da6f34e3382756d2910d318145efc15ea665d3b951428
MD5 71074d48e4913946f2f18331161d855c
BLAKE2b-256 0c3955b465739b500f57bfab85045431db4327502029586a0a1d846a8883ceaa

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b84b1cd86466fec84c5c44d40d64494318bdc386fbf3b2782f7710051d95a44a
MD5 8de54ecbdb8209c441c1672b47faa341
BLAKE2b-256 6d1aea3b3ca4b23f1f14572f9edc434592a2f71e1a63ff05c1ec8bc8ad71a50b

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 40e57a4f705c7ca8355bfda4b1ab566b253851dc8382cffa45fbc65a92d9f8be
MD5 4b38971afd50782c10d25f005ff50f41
BLAKE2b-256 6910fcb21d244919fcfc763e9e1c922692bbc22c0b245143f901a02092c12700

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5808cc28d3bcda796b7fe9ece2c12ee938147095f4e0271070e6e90cfefa175e
MD5 26db39d613b2d81fb819417fd78fa469
BLAKE2b-256 c9ff473b4ef59ea26473f57e907baac5c356bdc90744ae4080d47c1355a16454

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99a54036f99e85069028554d33a3ca83e5642b637b2024feba3624a21d6a1a79
MD5 5ad51d8b530b5aa8feabf8f72f299516
BLAKE2b-256 6758a0524e0691b5717ece651b11477bf493c596481f32cf888e7d1e0d2b8505

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cb79e74e43ca809557dec5187863b23283543bee545129da5bd87ea72757c95
MD5 3ce14d8d233038d1d2f2ca682e4bcf1a
BLAKE2b-256 19165cfca82f17d14fb63affc98837bd9e782cb88c288cc4c1a7f22296b3455c

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d47d04afa0af3b54ba8356172845618615c5db330efd7194588d9bedc2623eba
MD5 97c8b5d7734643c56bee09034501888a
BLAKE2b-256 ddf8e13a965f54adc72cb2bf3b6b53d6816d981515aa49ba9fa1bf0959179fcd

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 642deae4a2256b211eb1643f23f78b98be24ebeb6b6da0ae6e71f6fcfe26b600
MD5 2217c68134db7664caac56554646a5e8
BLAKE2b-256 396c7b676a0b2dfe3e9757f875f8d38e105039ec9a3defa72c030f7dce0fabae

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 24420fb38ff4ae8b733815c5f4347e542e0d66f7d07deb107c4a943c999153fa
MD5 d34b8429c92380935d1d373703760a47
BLAKE2b-256 c9fc5be786599b3f5613d39679da7aa422fc289d0c03ea8c25bff6fa9cfb8749

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 608b760c1f6edbddf530ff5b4efbc7019980c7ae8f0485e784f22f9a8cfb8745
MD5 a2fd718d75795c7185d12125cc35d386
BLAKE2b-256 165978602a64ca853146ce5cb03eb6caab8b0002bafa07477b4f40dd3fa449f8

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3baeb5c9fdfb0c5b4cf259d9f2ba2beccc7b85551a1234755c2731038da0aada
MD5 372b16c7953df7f2fe6427af789b9ee9
BLAKE2b-256 f8e3d9b17249a61b952374a73928321609a9877fca18a0cb13bf462b2fe2a6df

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff844a35a195a519a74ba53e88115f4159b80a17af13f08b7be4ceb0aded80c5
MD5 3c598287abef0fac7067e0b2252b9deb
BLAKE2b-256 ef9f837f7b191a7b2d348d09d9f35a746812904862ba1c6c29cadb778613cce7

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88cc4a1a5df7b1c4c4f5b27d6a388e87892b852900ca4791708eafc55916cc13
MD5 e4c5c1cd76331394d30c2b6fdc209548
BLAKE2b-256 3c39844b27d47a73addb8e2f83256abc5f14e8cafff47e0c080a4c1f4315ff92

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 50994f8958be446db694fcf20b6167c32c562943526070e97bd1382218d61df8
MD5 67790332601ee1b6f7fa6b78f5802a0a
BLAKE2b-256 24d1a90c7c5b19c6a76f9b48f9b9502349b4cd9cb7c4f77985ed18e3c10041c4

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c10a2663221b6dd3ed109d546cc88366909c7aa6547772e8f644a8a3c9f3224f
MD5 2c0587e76400dcc867e1eb0e76a5892e
BLAKE2b-256 abee69e69bcb6aa07311f5dcd5976a4904ca0045979a6aaec5a48a6773896ee1

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 877908a50174a6273c0882dc1dc8cc529f168d7a6f2311f651e0c64ea433322f
MD5 538c006618126ddef94e983991a655c5
BLAKE2b-256 c4367ee9201f278248d158ec900ebb47bcd1e827ab6763b2101733ee5ef94b19

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5775ebb5272ceadc7c839cb7a80999a65d382592714233571280f05594f03a96
MD5 bbf0f32eb0742a5673bdf8cde40ab967
BLAKE2b-256 f4b19ad64cd7671f53cb5677c3307369200677d13c4b82f6ab6a9ff155ce2b31

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02ce9c7c6a322f3e0dabd84306e23e23ccb0f98ac486a06bf017fa8b82777c3c
MD5 f31cfb3c37836045a4ca86c9d6c16b3c
BLAKE2b-256 2729abe229ad13bb791fe041dc32709bcc68c521197ebc3e042fa2b3eed24847

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aea870d7d2a0ebda964968549d2aef86675357d4f866d954e7d58dee45bee362
MD5 8e8eb1e6ecbec018ba15589f1d9f0133
BLAKE2b-256 f5bc23cf2656692727092f9575354b3825d7333174146923d6b411e209f4a09b

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98e3849d755a519beb5d0ad10f0ee8bdaeed19eb5faf1a836796d59ff8bc94e9
MD5 3614da502f80dd2cc0a20126e79ddfac
BLAKE2b-256 d14f18153d6668f552cd599f30cd5e30affe35f6545d1ba5641cba9f4f1484ae

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 67a60e3473dec5a162024f2873fe4c1cbe81a9e9fe774f92af042b1b9ee8992b
MD5 9d8ea99e94e20092a4953fde18364a6f
BLAKE2b-256 c19cdc217f8e7601c62ef49ac5ab41cb5453e6b58fd6139f84bd85e36c4282cd

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a4a7ff9dfdbadb4b97d378150434690176a0d1a5ed5a6e636b9bdb9dd2fa8fa8
MD5 dedce2f61ad2d13c9e16eda558561312
BLAKE2b-256 f8a27d5bb953d4f66165296afa45236d83d9779e1b7772d5cfdc59780992b7ae

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f1ec4334bc3e5c56e93403d4cf70cac1bbe98b3d0c77ea897b6db137bf86777
MD5 8092626a748e3da33c16addde6dae5e1
BLAKE2b-256 247e2613c1c6189891a0761adba3babeaf0d03c497e06a572c120630027382e5

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 adc2dcce706f3cae8af8f2b90bffb78ace1d4ca713d2107e6bef38b7047988ea
MD5 ab78524c53c3da1e559b4cfacdc7238f
BLAKE2b-256 a8c5a13e1a62fbceea7ce9b4837dcaa70d460d07480ff3d2a9955713845733c8

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 348a544cc0ecd15c09646af7ae639a89b5ac4833e545ee5112a83d87a20af562
MD5 2dc6185bac733e372fb45ff7df35ba32
BLAKE2b-256 9e3c446e253ca786d8dbd732c08a47ab6e2c7dd36a4cf7146e0d5657fd30a9f9

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c092ab95d351a042f190902d9b5ad7c8c3b1d5a919b190527aefb5214169df85
MD5 dcbd39f9f6ce2897eb4598c69c72f7d3
BLAKE2b-256 682949af39ed87c2ae39705060569e614328371a2796a4e40c3499f2629ee7fa

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35b5cbe24b1f2bd707356b84ebdaf895d956ef90949c4964e74f3c4a8412f77a
MD5 7ed717c49dcd1b525264cb556d71ee4f
BLAKE2b-256 bc84e132dd48748a4f4a08c79b25c117ca2078ffe905eb698a7f83f472d21276

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9d3907b031754002690332358882a9216945efccb38fce14ed07bdfea26d86a7
MD5 25ad45ce088e1fe560426c172aaee6f9
BLAKE2b-256 0655f5b0431d40500494decf06650a8c324dcdad32f8eac2bb088c0283910a97

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2c54860867af775fc36e05e3f6a6fe7745fbb498087108651e4cf0115ba18e1b
MD5 7dc34cceab42ee5a89725fa0adf04a32
BLAKE2b-256 cef61db1aa4d18b76d6a0609c2c6f515f2eaeae7a6a49545135783719ff14537

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 68f867b81b85ba4c0c41f105aadc76754dd3d0ead437cc59ca1eafe967fcb46b
MD5 4581ae632ce743ea730cd8473c7795d8
BLAKE2b-256 53e5de29a9d21f568bfe4d42f641fae1245a3b8c37e74aa1609236eb5bb40855

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bceee03d32f21ee845eeeef12cda0990424044b1e8ca0beb35e637b55fd004ad
MD5 441ac708afe2f54a7c06108dbc484a87
BLAKE2b-256 d423abb83d121f7bc076813ace939d8429585bc16d55b058782a5d37c39f0e97

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e496c61697259b61370552bcd727318c70c3ff17d46ce27f41fdcbacd2ad3182
MD5 66b5757dd732fd12a79c556b43537462
BLAKE2b-256 f2793d7dd0469a5423d0ba4947c5bc05a148139a6fc9575e2c5382fdbc8e34be

See more details on using hashes here.

File details

Details for the file rust_py_monitor-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_py_monitor-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8b1612c6f0321c0d52fac7f9542a4cd9a8c9e5095c879d0f1d37b3e162031450
MD5 2dd853417f1a1cbb44fec2e6ce83e5a6
BLAKE2b-256 bea7801467b07ef922e81397b4d32f30ad647fa4b225135c6b945fea735d4919

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page