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
  • Threshold alertscheck_alerts(...) flags high CPU / memory against your limits
  • 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.check_alerts(cpu_percent=None, memory_rss_mb=None, memory_virtual_mb=None) → list[dict]

Simple, stateless threshold alerts over the current process snapshot. Pass the thresholds you want to watch; it returns the alerts that fired (a metric exceeds its threshold). Memory thresholds are in megabytes. Only the thresholds you provide are evaluated.

import rust_py_monitor

fired = rust_py_monitor.check_alerts(cpu_percent=80, memory_rss_mb=500)
# [{"metric": "memory_rss_mb", "value": 612.4, "threshold": 500, "severity": "warning"}]

for alert in fired:
    print(f"[alert] {alert['metric']}={alert['value']} > {alert['threshold']}")

Each alert is a dict {"metric", "value", "threshold", "severity"}, where metric is one of "cpu_percent", "memory_rss_mb", "memory_virtual_mb". Being stateless, you decide when to call it (in a /health handler, a periodic task, etc.) and what to do with the result.


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.3.0.tar.gz (48.5 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.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (598.3 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (562.3 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (386.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (598.5 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (562.6 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (386.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (598.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl (561.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (385.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-cp314-cp314-win_amd64.whl (215.1 kB view details)

Uploaded CPython 3.14Windows x86-64

rust_py_monitor-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (597.8 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl (561.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (385.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-cp314-cp314-macosx_11_0_arm64.whl (305.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rust_py_monitor-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl (308.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rust_py_monitor-0.3.0-cp313-cp313-win_amd64.whl (214.4 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_py_monitor-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (597.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl (561.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (393.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (385.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (305.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_py_monitor-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl (308.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rust_py_monitor-0.3.0-cp312-cp312-win_amd64.whl (214.4 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_py_monitor-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (597.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl (561.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (386.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (304.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_py_monitor-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl (308.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rust_py_monitor-0.3.0-cp311-cp311-win_amd64.whl (214.5 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_py_monitor-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (598.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl (562.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (386.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rust_py_monitor-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (308.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rust_py_monitor-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl (310.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rust_py_monitor-0.3.0-cp310-cp310-win_amd64.whl (214.5 kB view details)

Uploaded CPython 3.10Windows x86-64

rust_py_monitor-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (598.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

rust_py_monitor-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl (562.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rust_py_monitor-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rust_py_monitor-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (386.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for rust_py_monitor-0.3.0.tar.gz
Algorithm Hash digest
SHA256 dc3c5daff45d79fa333ce7446eff5f18f4582f893800a588b1be26675f17bb8a
MD5 1a478b9939941d0bafdcdfed6f0c3d98
BLAKE2b-256 800c0497f2be7e7232d6f137b14434eb59016dedcfe543a09bb597ce82b1914d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 236adc7ec76d403dbaf09cb39f4fbc1f68bce2dbd521270f13c663784d2c07a5
MD5 b7acc7ada18de14454b1d2dbdf62ab12
BLAKE2b-256 a5eecb097f202d06eea0293024f9a51957fb9ed6653b62aed63a3440273e122b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 32b9f85e68c52c98825954f158aca3441a2fe69a63000cdd13a5370c9b5d85ad
MD5 ba4f438d441335321064c6684160218d
BLAKE2b-256 e7294175dccb79be598e2fd517a4cf9be1ecc0833ac4d648c7949569628f9acb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb166cdd651bf4c143991004c0cef9342c2db4396b8537528a67a00e84d64e5d
MD5 4ab86a8d53444056a4155743a29e11e4
BLAKE2b-256 07f0857db54dea3731d9ac39edc735ddf1cb94b87c875be2fe2c3c3cb508ad48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99af6e3863e8f2243985be7c71220a81e6e5d4803109cec552c7b80768c2ab61
MD5 9ec00b07df43d16cf215a2695d652b16
BLAKE2b-256 cf5f2b3aacf5510fae1d1161747e6f715b7ad8a520c9c1a48f71b7376f24c8b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a6bede5ec7fe0b63b3b7034a806b16f611aedda6e8dd742dd124195280ad7e2e
MD5 4719848c4f76b2be5d85378deef2c13a
BLAKE2b-256 d39830045816b772abeef7ae425f72c0afe68c710bd6140db90a68b94b23bd03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 62dbf6ab548529f9e2e13362ad0b92466ddb671a5c3855067193ddf30c5c3277
MD5 9cc35604b4a6e2f03ae5707b5a1a8c5d
BLAKE2b-256 91ab33e811cc516226c793119b4e9376a0d1b1f76a444f63667eba02d9c2152b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0612ee7da3dd1279fd3e152acc8f12a4e36ef57c1f2eff23503f2ecd098fb77c
MD5 22f936a3b20f1b2251a2dc3cc5aec19b
BLAKE2b-256 810aa48e2984126c9d9b7a49836e19ce0bdb497da0b4c6177986ead1ed4ea318

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 77a4f14aa0188af8bb82391d763f03f66861c647d6d75a4883819ee904d83e09
MD5 b1b6a1ccb0eda3bb77626429e91fcac1
BLAKE2b-256 73ad11d6e38117347621566b3722581da652d7b1a052897c02a91a7c73608108

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9dc18a7db1afc211f8fbf5c92d95a80bc12d82bc4e56c3b3d9b3b854a11613e8
MD5 b4c636ffe70ee410374c66e4fea3a921
BLAKE2b-256 9aa3cc6550e8b3baa84b09c8cfb29133c6d70cc034c22e71827f0708e9c0297b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d4b3851f9f3144769f84f171526365430629d5d7a4a02c1f6a6f5f5e101cec3
MD5 ee33afe938566cd8c335e6a5d117d622
BLAKE2b-256 8cc7e9d40b9dded81322e2478158b0524bfa51f7bfa7508cec99db9fbfda8948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd1606ae201b386256371d63627eacbe7582e6af25bb1ed4274cffa195c20816
MD5 3237938b6ce52ba3d21e6a191df126ad
BLAKE2b-256 801a8a927c84f484d90d9cd3f85b9b4f4e5dbf7738061db431d1127cbf0b3362

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4584aa31893e0ee072b4d21487501c23afbfcfecfd8f8e048e89333872a0aed9
MD5 b290643eeaa1393702db548b41c0ef61
BLAKE2b-256 55caeeb50f0671ffa180bf798b9ccf05a0a318e1e398ed473f51991df41129cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a600e5f9bc9659b9e60a17fc2b9346cd31a8fddd31285152660659bc676a7564
MD5 953c03e891d067a1404461c4c58a9010
BLAKE2b-256 82eadba03d861601570e20256338f3390a776413bde1fdd9169cf095a244e6c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5b3ff21ef55f95ba792646badde05b45e8cf35d02d16dd5fdedf6532cf4200c1
MD5 caaeaa0a8f363d19790c075166568713
BLAKE2b-256 558959b89991e333ee8b202c3c9123e2cbc14676001583d15b84793dd5a0c942

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75d9bcad89ac6a18fe6683e8ca79350256e0b03b3a9772377add0d49f357ee24
MD5 2ae9f1cf9f64bf04dcf282b643ea8f2e
BLAKE2b-256 2fb7496a57baa6f7540978533382f9a190dae4c8d473d057a4b46009ca8ca055

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5dd891d17e0b444d7a15f4b4e40ecc7d3ebfaa120c75c6b9d7a0ab191e688557
MD5 494c34f8a96646baecf231a2dfb048a7
BLAKE2b-256 a18f98a21c851c41c049d6e6ed7079f715c16f54b74d5fe1fe01e2dd23b539cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cb81e1a82853a568896c3e866cd3eaf51903924dc7d1113ce3bacdd601ae3ec
MD5 fff843351a605e26d1a3167ac8822c2e
BLAKE2b-256 280477e351fa5002b653132fb8e5ec058fc8df4e4ae82d03c3e01e4ad49d2754

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d5d1d05648f2a8c2fddb0d69b1440a82e6493eee5d06a4c5d28a2b639a2b7a9
MD5 8a8fe14321ec1ec5b6f02e4d036b1974
BLAKE2b-256 7e4f1705827dc1d1f617cb431fef5d213a3a789427b77fdb5133afaafbf43670

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1f8784278f13bf518f052d4b64c2373275f0a38ab28e9f022d3aef08d3a9a03f
MD5 40e9ee0aac4b6e517e89c662adcb2caa
BLAKE2b-256 fba96cb412b68a28b9a0775b4293685c42e0682ff9d3af1de6e8331d03891f7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2fb494fbe76b3d011077dc0bf13c9b19a9e4b1387adbf32bbfe6c484afc1d36f
MD5 0e5a5edbb1631d7e3111e67179e2326e
BLAKE2b-256 b150b18b29e05b5e18865502eed08bb47ca6a0f86501df41393e9dc839c0e5b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 518c43a52f9f5854762884189667f1b7e858b1457b1caf99e69c31f944138e33
MD5 833bdcad76c5f4809739af70d5fc4a0b
BLAKE2b-256 d93411fe6bebb581500e19f2b15f036ee0e3e4513a0517dc7aa45b4d21ae5613

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70025373a0ed5e8133871d183dbcd85b36e4a40f98db2f73f4378de1ad9b24e1
MD5 c2a72e2151700d24a96f8e8315b8645b
BLAKE2b-256 be34f0d7dacad0df78ef9c86d51a9d90cdd1a5c86be8f68c4c069733135e292f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de81f6e08c54a468f9ac517ab1b5e44f60bf07ed27f1d5e80ab08eefdb993bfe
MD5 2b2ce495b53e7ee43c601556ad8c21fd
BLAKE2b-256 a37bd5ec686bdfa2b66d4342d4049fa80c70bba10f73915a59621c98feb61ad8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d9037c227faa2da1e506164a09d11207ed8077bf8e70823ba92eeff19785837
MD5 13d92313ec2b1f7b57c82131469e1ef8
BLAKE2b-256 0259136f85f8d9808e2cbd0eb5858718f9a44bc1eb0afe6c7aa982dfcea78430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2cb62c1ac068a3fe305e6e73e5d019823dafa475be1710d3fd8b61af5fd973be
MD5 b8559361633c011f6dd0e4fa12eb7895
BLAKE2b-256 b2f98a72967ccfb6349e27eec5461b3cdd015655925b3a08a17d6b386fc31bbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cbc19f3ad67bfbde241ab4b8743bdb15f2374a9cf985d795c4a6802201788dc8
MD5 69265290be6fe7039b4ee44b2e8d9365
BLAKE2b-256 fb66c570d73f48614f8a2a82a598fe0b01cf178db8f731cd06a6cacf684afa2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f437eb08dda87da4512efaafdb06b88ab5423fd87036a3e221ab8d553ef50f30
MD5 9b2de016fa986f7208308fdd8978cf5e
BLAKE2b-256 8085c1ce3bd40b6d1819c68e973566f0f8d71557b1fa4edaefa96bfed75f0686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a93ce1848413b6330f09f8ac0cce3097daf8236fe8e0afad69b4a3b0f42365a8
MD5 262b24993e63a73b953bfd275f2027a0
BLAKE2b-256 504fcd575426cc3b72ce72157a901056fb6f029d0f375ed7eb1ef482dbdd17ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ecbc9e2cadc048ef0beb7ac49d4967e58004463ebbbdd249f14cc79cb86c0f89
MD5 11b70f28d2be7968e2e89145198abfc6
BLAKE2b-256 8a157faf85783146a12c31e8579c8d835f57b5113142854d755c21c288ccb0c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 271117fc628c3e7000c5bdfa6bb9b26c0242c086077df67ea51f473ab0a1a035
MD5 404aff956c64ae02b8af56edf7eb2b94
BLAKE2b-256 62723c08d5bf684425c26b88135f1ac1605f63a0e2e2362339f635085b08aae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b79a2deed32b313c3700fb5ea52ca6a9efec9d0fc776440425c29663258aa62
MD5 abbe38ce26aee1b1a1f752608bf7f4b4
BLAKE2b-256 974e596f723d808e508eaf1042d52ab42c2bc0ff159a720498ef3af4850ee469

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 474ed40289ccbe37f2bb39a5087ac3917a4ae7f8af16f6c4be22df4be2b1bf46
MD5 ec0197ca4cfc3cbb1613b90157ce9bdf
BLAKE2b-256 1cf4b4fd98e2b903b7e57b182771f7f875b75e5be6adb606341e6141caa40b75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 00ac40dfff01d9befabe1f41938671d73765c63813ebfb25f57da1a350c32a79
MD5 3991de44df88cba63bbddb0606d9755c
BLAKE2b-256 fe21764de43220e33ebecdc9cc3debdadb7846372a01bbc93e04afb910434820

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a6d9229430ddbe0cfe61fc0126fcdd0788bf61deed58e12eac928514b129ff1b
MD5 c878088584e69f27e6c4f6d0fad634cd
BLAKE2b-256 8764028753d037ebc2eeef6da1943e43053882ea076a78247b311d143a852f51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7e465f98d57221ebe42440a61d3ab00b3bd577ea0fa44fd0917d4063cca3f575
MD5 f667f2582651deb8f6ebab0d47e262a6
BLAKE2b-256 175d0e6e013b63d618e119376ec0b6fd26fb4d2a93fd49e8c979047f19eed450

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 739e75581c2b5af92b05cd6faa0321cb0881a51c8cf38c76cd9d317dd1a5607c
MD5 b8fbf9c3b7e69d61cd5d8d2b0e1e3730
BLAKE2b-256 8e50741a2d4c4dc9eab30a0d7f7a3a8e720edbe05613ca1985e208a01ddd7a00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1c23fbfe821a8fd57577e12f9e1c571398aa7e84523114003e3a81718c707939
MD5 aa11e0d0347f3f22bd59cd1a53e98651
BLAKE2b-256 4866b3297823938247f8bf6261cf8abdebdf8fd32f5ad3276025437741f6cdb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9fca601aa13729a6a3828819c6d61f9ee01863706eead023ae35b2e79138054
MD5 1c0a7a35a48d7067f6bbc36bedb201aa
BLAKE2b-256 406812b3b5ddd40f33f486c10075c1a518a06f74bba6cd4e8fb256efd6d12d7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d45057393aaaf84f742248e070513efa7c567c539911456ee5e3339986e614c6
MD5 a20678e44dc0d296686a97bff36f4a1d
BLAKE2b-256 4b9e7891da6a70ec4f36f2051890402a96e4ddd9fab1ab5c4c0de972997d5019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 622f15cd34256fd29382a1c0aa2653ad4caf0db6287b028d5eac5344346a3893
MD5 3662634f03d81cec15331a20d3b065ed
BLAKE2b-256 be6a5f5fc4e51be71cc92a0922a95192a4c3e0ef0089ba7196b2cfdd5619ced2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dd789c83e089780225308e7b9fc80cc11b8b7ff9aba8a25da7b15f504d3f2013
MD5 b321e9ecbc92c1f86362b001a0ba2447
BLAKE2b-256 1a8fceb024e30ca00e2e0adba039b3309abd41e9ff63bc48ee437f639116fc03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f45f73c821856fbab05c9746312c49245dd23bfd7816dd34ebc0b0230b7cb71d
MD5 118c235021ac74ed4baaee25a3ffd525
BLAKE2b-256 d4aec7e52a213baa818375bb5695c56d1ee577a3cd2c005dd2e93dbb44ce4e6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c08d86693252328e3bc36d4df97fa9114b041e3bb4fe709ac9c256388e71313
MD5 761fc445f44f1785d2511a78a15a7e3d
BLAKE2b-256 6d7db7d8f2516c9f1f98da0559e08b7d58049230495c9729086bbd5dc8b855eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rust_py_monitor-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d4d8bc3bf1e1006f0695992f465acf4252a956e92ef15eef97cfedb642773f72
MD5 f9ded1889e076b4686aea1bc5500c6e8
BLAKE2b-256 7cd829a244bae548de752d810d286fcf6170e54c9eb89f888000aae1f251af59

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