Skip to main content

A tool to generate CPU load on a system with runtime configuration through a WebUI and REST API

Project description

CPU Loader

CI Build Wheels Python Version License

A tool to generate CPU load on a system with runtime configuration through a WebUI and REST API.

✨ Key Features

  • 🎯 Precise Per-Thread Control: Set individual CPU load (0-100%) for each core independently
  • ⚡ High Performance: Native C implementation with pthreads ensures accurate load generation
  • 🧮 Configurable Algorithms: Choose between 5 different computation types (busy-wait, PI, primes, matrix, fibonacci)
  • ⏱️ Time-Controlled Execution: All algorithms respect precise timing for accurate load percentages
  • 📊 Real-Time Monitoring: Live WebSocket updates showing actual CPU usage and temperature via psutil
  • 🎛️ Interactive WebUI: Beautiful gradient interface with sliders and visual feedback
  • 🚀 REST API: Complete programmatic control for automation and testing
  • 📱 Responsive Design: Works seamlessly on desktop and mobile devices
  • 🔄 Instant Updates: Changes take effect immediately with sub-second response time
  • 🌡️ Temperature Monitoring: Optional CPU temperature tracking with sensor auto-detection
  • 📡 MQTT Integration: Publish metrics and settings to MQTT broker for IoT/monitoring systems

🖼️ Screenshots

Interface Screenshots

Initial view with zero load

Clean interface showing all CPU threads at idle

Mobile responsive view

Fully responsive mobile interface

Mixed load across threads

Different load levels: 50%, 75%, and 25% on individual threads

Live CPU metrics updating

Real-time metrics showing actual CPU usage with color-coded bars

Features Shown

  • Visual Load Bars: Green progress bars show target load, blue bars display actual CPU usage
  • Real-Time Updates: WebSocket connection provides live metrics every second
  • Preset Buttons: Quick-set options (0%, 25%, 50%, 75%, 100%) for all threads
  • Smooth Gradients: Modern UI with purple-to-blue gradient design

Installation

From Pre-built Wheels (Recommended)

Pre-compiled wheels are available for Linux (x86_64, ARM64) and macOS (x86_64, ARM64):

pip install cpu-loader

From Source

  1. Clone the repository:
git clone https://github.com/the78mole/cpu-loader.git
cd cpu-loader
  1. Install dependencies and build C extension:
uv pip install -e .

This will compile the high-performance C extension for efficient CPU load generation.

  1. (Optional) Set up pre-commit hooks for development:
pre-commit install
  1. (Optional) Set up commit message template for semantic versioning:
git config commit.template .gitmessage

See COMMIT_MESSAGE_FORMAT.md for commit message guidelines.

Usage

Starting the Server

uv run src/main.py

The server will start on http://localhost:8000

Command-Line Options

uv run src/main.py --help

Available Options:

  • --host HOST: Host to bind the server to (default: 0.0.0.0)
  • --port PORT: Port to bind the server to (default: 8000)
  • --disable-temperature: Disable CPU temperature monitoring
  • --computation-type TYPE: Set computation algorithm (busy-wait, pi, primes, matrix, fibonacci)
  • --mqtt-broker-host HOST: MQTT broker hostname
  • --mqtt-broker-port PORT: MQTT broker port (default: 1883)
  • --mqtt-username USER: MQTT username
  • --mqtt-password PASS: MQTT password
  • --mqtt-topic-prefix PREFIX: MQTT topic prefix (default: cpu-loader)
  • --mqtt-client-id ID: MQTT client ID (default: cpu-loader)

Computation Types

CPU Loader supports different computation algorithms for load generation with precise time control:

  • busy-wait (default): Simple busy loop - fastest execution, minimal overhead, most accurate timing
  • pi: PI calculation using Leibniz formula - moderate computational intensity, mathematical workload
  • primes: Prime number finding - variable computational load, cryptographic-style operations
  • matrix: 4x4 matrix multiplication - consistent computational patterns, linear algebra operations
  • fibonacci: Lightweight mathematical operations - balanced computational load with micro-pauses

All algorithms are time-controlled to ensure accurate load percentages. The system uses 10ms cycles with frequent timing checks to maintain precise CPU utilization.

Examples:

# Use PI calculation for CPU load
uv run cpu-loader --computation-type pi

# Use prime number calculation
uv run cpu-loader --computation-type primes --port 8001

# Use matrix multiplication
uv run cpu-loader --computation-type matrix

WebUI

Open your browser and navigate to http://localhost:8000

Features:

  • Individual Thread Control: Use sliders to set load for each thread (0-100%)
  • Preset Buttons: Quick-set all threads to 0%, 10%, 25%, 50%, 80%, 90%, or 100%
  • Live Stats: View active thread count and average load
  • Real-time Updates: Changes are applied instantly with visual feedback

REST API

Get Thread Status

curl http://localhost:8000/api/threads

Response:

{
  "num_threads": 4,
  "loads": {
    "0": 0.0,
    "1": 0.0,
    "2": 0.0,
    "3": 0.0
  }
}

Set Load for Specific Thread

curl -X PUT http://localhost:8000/api/threads/0/load \
  -H "Content-Type: application/json" \
  -d '{"load_percent": 50.0}'

Set Load for All Threads

curl -X POST http://localhost:8000/api/threads/load/all \
  -H "Content-Type: application/json" \
  -d '{"load_percent": 75.0}'

Change Number of Threads

curl -X POST http://localhost:8000/api/threads \
  -H "Content-Type: application/json" \
  -d '{"num_threads": 8}'

Get Computation Type

curl http://localhost:8000/api/computation-type

Response:

{
  "computation_type": "pi",
  "available_types": ["busy-wait", "pi", "primes", "matrix", "fibonacci"]
}

Set Computation Type

curl -X PUT http://localhost:8000/api/computation-type \
  -H "Content-Type: application/json" \
  -d '{"computation_type": "fibonacci"}'

API Documentation

Once the server is running, visit http://localhost:8000/docs for interactive API documentation powered by Swagger UI.

MQTT Publishing

CPU Loader can publish real-time CPU metrics and load control settings to an MQTT broker for integration with home automation systems, monitoring tools, or custom applications.

MQTT Topics

The application publishes to two topics:

  1. {prefix}/cpu_metrics: Published every second with current CPU utilization

    {
      "total_cpu_percent": 25.5,
      "per_cpu_percent": [25.0, 26.0, 25.3, 25.7]
    }
    
  2. {prefix}/load_settings: Published when load settings change (retained message)

    {
      "num_threads": 4,
      "loads": {"0": 25.0, "1": 25.0, "2": 25.0, "3": 25.0},
      "average_load": 25.0
    }
    

Configuration

MQTT can be configured using environment variables or command-line arguments. Command-line arguments take precedence over environment variables.

Using Environment Variables

export MQTT_BROKER_HOST=mqtt.example.com
export MQTT_BROKER_PORT=1883
export MQTT_USERNAME=myuser
export MQTT_PASSWORD=mypassword
export MQTT_TOPIC_PREFIX=cpu-loader
export MQTT_CLIENT_ID=cpu-loader-001

uv run src/main.py

Using Command-Line Arguments

uv run src/main.py \
  --mqtt-broker-host mqtt.example.com \
  --mqtt-broker-port 1883 \
  --mqtt-username myuser \
  --mqtt-password mypassword \
  --mqtt-topic-prefix cpu-loader \
  --mqtt-client-id cpu-loader-001

Testing with Mosquitto

To test MQTT publishing locally:

# Install mosquitto
sudo apt-get install mosquitto mosquitto-clients

# Start CPU Loader with MQTT
uv run src/main.py --mqtt-broker-host localhost

# Subscribe to all topics (in another terminal)
mosquitto_sub -h localhost -t "cpu-loader/#" -v

MQTT Settings

Setting Environment Variable CLI Argument Default Description
Broker Host MQTT_BROKER_HOST --mqtt-broker-host None MQTT broker hostname or IP
Broker Port MQTT_BROKER_PORT --mqtt-broker-port 1883 MQTT broker port
Username MQTT_USERNAME --mqtt-username None MQTT authentication username
Password MQTT_PASSWORD --mqtt-password None MQTT authentication password
Topic Prefix MQTT_TOPIC_PREFIX --mqtt-topic-prefix cpu-loader Prefix for all MQTT topics
Client ID MQTT_CLIENT_ID --mqtt-client-id cpu-loader MQTT client identifier

Note: If no MQTT broker host is configured, MQTT publishing will be disabled and the application will function normally without it.

Example Script

An example script (src/example.py) is provided to demonstrate programmatic control:

# Start the server first
uv run src/main.py

# In another terminal, run the example
uv run src/example.py

The example demonstrates:

  • Getting current status
  • Setting all threads to a specific load
  • Gradually increasing load
  • Individual thread control
  • Resetting to idle

Computation Types Demo

A comprehensive demo script is available in examples/computation_types_demo.py to test all computation algorithms:

# Start the server
uv run cpu-loader

# In another terminal, run the demo (tests all computation types)
python examples/computation_types_demo.py

# Test specific computation types only
python examples/computation_types_demo.py --types pi fibonacci

# Custom load and duration
python examples/computation_types_demo.py --load 50 --duration 15

The demo script:

  • Tests each computation type systematically
  • Monitors actual CPU usage vs. target load
  • Provides performance comparisons between algorithms
  • Shows timing accuracy for each computation method

Architecture

  • src/cpu_loader_core.c: High-performance C implementation using pthreads for CPU load generation
  • src/cpu_loader.py: Python wrapper providing a clean API to the C extension
  • src/main.py: FastAPI application with REST API and embedded WebUI
  • src/mqtt_publisher.py: MQTT client for publishing metrics and settings
  • Threading Model: Native pthreads for maximum efficiency and precise timing
  • Load Algorithm: High-resolution busy-wait loops with nanosecond precision

Requirements

  • Python 3.8+
  • FastAPI 0.115.0+
  • Uvicorn 0.32.0+
  • Pydantic 2.10.0+
  • paho-mqtt 2.1.0+ (for MQTT publishing)
  • C compiler (gcc or clang) for building the extension

Use Cases

  • Performance Testing: Test application behavior under various CPU loads and computation types
  • Stress Testing: Validate system stability under high CPU utilization with different algorithms
  • Thermal Testing: Use fibonacci or matrix computations for maximum heat generation
  • Power Consumption Analysis: Compare power usage across different computation algorithms
  • Benchmarking: Create reproducible load scenarios with specific computation patterns
  • Algorithm Testing: Test cache performance (matrix), mathematical units (pi), or crypto operations (primes)
  • IoT Integration: Integrate with Home Assistant, Node-RED, or other MQTT-based systems
  • Monitoring: Feed CPU metrics and temperature data into monitoring dashboards via MQTT

Computation Algorithm Use Cases

  • busy-wait: Baseline testing, pure timing validation, minimal computational overhead
  • pi: Mathematical processing benchmarks, floating-point unit testing
  • primes: Cryptographic algorithm simulation, integer arithmetic testing
  • matrix: Linear algebra workloads, cache hierarchy testing, SIMD instruction testing
  • fibonacci: Balanced computational load for general stress testing

Development

Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality. The hooks include:

  • Code Formatting: Black and isort for consistent Python formatting
  • Linting: Flake8 for code quality checks
  • Type Checking: Mypy for static type analysis
  • General Checks: Trailing whitespace, end-of-file fixes, YAML/JSON/TOML validation

To run pre-commit manually on all files:

pre-commit run --all-files

The hooks will run automatically on git commit after installation.

Building and Publishing Releases

The project uses automatic semantic versioning with GitHub Actions:

Versioning Rules

Versions are automatically determined based on commit messages:

  • Patch bump (0.0.X): Every commit to main

  • Minor bump (0.X.0): Commits prefixed with feat:

    git commit -m "feat: add new CPU monitoring feature"
    
  • Major bump (X.0.0): Commits with major:, breaking:, or BREAKING CHANGE:

    git commit -m "major: redesign API interface"
    git commit -m "breaking: remove deprecated endpoints"
    

Release Process

  1. Commit and push to main:

    git add .
    git commit -m "feat: add WebSocket support"
    git push origin main
    
  2. Automated workflow:

    • Version is automatically calculated using semantic versioning
    • Wheels are built for Linux (x86_64, ARM64) and macOS (x86_64, ARM64)
    • Python versions: 3.8, 3.9, 3.10, 3.11, 3.12
    • Source distribution (sdist) is created
    • All artifacts are published to PyPI
    • A GitHub Release is created with version tag and artifacts

License

MIT License - see LICENSE file for details.

Project details


Download files

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

Source Distribution

cpu_loader-0.5.6.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

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

cpu_loader-0.5.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (43.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cpu_loader-0.5.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (44.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cpu_loader-0.5.6-cp312-cp312-macosx_11_0_arm64.whl (30.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cpu_loader-0.5.6-cp312-cp312-macosx_10_13_x86_64.whl (30.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

cpu_loader-0.5.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (42.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cpu_loader-0.5.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (44.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cpu_loader-0.5.6-cp311-cp311-macosx_11_0_arm64.whl (30.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cpu_loader-0.5.6-cp311-cp311-macosx_10_9_x86_64.whl (30.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cpu_loader-0.5.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (42.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cpu_loader-0.5.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (44.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cpu_loader-0.5.6-cp310-cp310-macosx_11_0_arm64.whl (30.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cpu_loader-0.5.6-cp310-cp310-macosx_10_9_x86_64.whl (30.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cpu_loader-0.5.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (42.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cpu_loader-0.5.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (44.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cpu_loader-0.5.6-cp39-cp39-macosx_11_0_arm64.whl (30.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cpu_loader-0.5.6-cp39-cp39-macosx_10_9_x86_64.whl (30.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file cpu_loader-0.5.6.tar.gz.

File metadata

  • Download URL: cpu_loader-0.5.6.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cpu_loader-0.5.6.tar.gz
Algorithm Hash digest
SHA256 eb3d0af382ac47167ff4ad77862b6a269ee6e2358f6566b35216daba814fa642
MD5 5ee10d3bffddeb2c1c702c02d01d2fd9
BLAKE2b-256 67f42ece58cb52aeaa589d91b79fb7c5f36edcd48f6884e81dfb1dff12f2a50d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6.tar.gz:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7efab3c313ab2b64c9d0ea695a181b94d2a6102a23cab9d6b007c5be3ec7b9f2
MD5 cde7fd07381cec300017ba8ecedc015b
BLAKE2b-256 1bb2395e336e7544d64fa5ad2212569181d34270b7dc58442194755f3a0510e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15a7cde4cd538d301c630965711b12892020dc77fc6a2b1b76d03d6b1af6d557
MD5 a5e426636d0d8ea1e4a7a74963e880ef
BLAKE2b-256 955593b63670940dcd479e799c2c53e33212ce5a76a91fa22cd57599161ce8c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 748695bd8b73108d6700185fc4851a69bdaaac928f085a41724416dc0b0e13a9
MD5 bac44c6c64f65aa8269d00ad0d57ff33
BLAKE2b-256 87f0494de0c20e040a1d2345a57c52e9e50bb7c76a39eed8bae778eec5d099a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f5c2c61a7ab84e997e77a5e2cb83bc4a6606c025a7b7c4dd01c2f9a86959bbed
MD5 74c785814b57ed27a966d4f34d9b4a91
BLAKE2b-256 4937f537bb8700b71e27b4427ac5fb716ddd33a7bb01fa2bb1e0778611d0dabe

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8645178fb3a02022bff25b2c47a5b3c9fb7951c14d3c931587e420a062ccace6
MD5 f3dcdb9b33f79f7222c8aa497be42778
BLAKE2b-256 fdf7f9cb10d89a93861bb70c6e92127240ceae20ee12a334a1c81394e473e38f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24e4dad37172d81cb93e609721f5efa5de0e208aafb5c693b098daf1a645a02f
MD5 2a11b8cc73f3970625539c6659fafaa7
BLAKE2b-256 a5e500b8177794cfb4bc4428b97dae52773d98d343c5f30384434b8d059a4c42

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97a0de3a194124a22ca4fec3632db257c08ccd8619e03840a57c75fd207fa5c1
MD5 b6c01c409260a4220db71f351950809d
BLAKE2b-256 153a012b108686076fc852832a53db0fd429a641bc3e852102031ee48e95eea9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d0a8a6e1ed1cd7d85f1ce11779c672f29a2d84e23d2e67e050c39c74f436c061
MD5 853b4e8200942cca7f8969439666acf2
BLAKE2b-256 c171a77ee425de57007e8cf06f5b86fbd526f9ba1d203f9e63e9290b63a54474

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b83270b3749ebd33e8a7a8b27daad981cfe77b0449c191256efaa3ff2fd27838
MD5 97d493224c8c624876809db9da931208
BLAKE2b-256 c3135b2cfd395513b7ef833fcce9313fe0f6508547bd076159cef491dc2c84ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e8237a2a53d980c54110caf8b71112463de235133b4d0312ec2b71d69e2caa26
MD5 ef599ce4c09a4e11d9a6fd48aa3d5960
BLAKE2b-256 ec1033439634b9b45c61560d6cdb8f49051fa6b5d45c53b8a6e914a9f5810e8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f34e513babaf5362f979469a651fcf059448aa58421eff726e58b156a6f15868
MD5 5c76fd15fe06d420a49ccacf7f5554a5
BLAKE2b-256 9d16d1c7454bff83bcf2d6a224ea2ac92c1020a8571845e3f2e34ba611e8f4cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 819bb98c8c645e03ef73c0aa697a5aff9d68403d0fd1b21769a125f353bfd37c
MD5 7985ba22236eab93df1790fbde954144
BLAKE2b-256 4da9cfdfcb79057f466edf41760175f5979d51bcfb0bcfe5af3d4ac3d347b8b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7ec6020c743b2d6fc2e599668e6d1390b8a7704d55d9626f71c1191ce5c053f2
MD5 a52b1642773311cd8da7a1a222a6e508
BLAKE2b-256 153cd3532cf9b5f94ae67c43dc991a7f2a3bd2af0d32e379b7c362d541ab78bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b7ce52edd85db728f90e1792947ca5cb56163f9c5890d522db123c4a061cf8f3
MD5 06d952b036823954e3c153f73ebc6e80
BLAKE2b-256 483e57ffee10c22a9b7983f9ec518fbf589fdb8a89588233350142c7558674f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8bd3b67d91dffcdfae61a3b3dd1a51bf567e193504e45e643f11b67718a239d4
MD5 3b7b6a6508799f8cf6c793a83dc26abc
BLAKE2b-256 f95baee89b69a41ae9b970e1b9eda4ab656f0eb03a86bdf0a5397d62369999e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cpu_loader-0.5.6-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.5.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 829940cd9e4ea4de1d07424501af76a7d0fcdc677a1a57367df92ac918228218
MD5 016ab4bedd77bfdea8cb7b897740bf7d
BLAKE2b-256 cf2e9508790b03b5ceaf16e9baa4d250b8fe0375a69782cf1e2440ca087364bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.5.6-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: build-wheels.yml on the78mole/cpu-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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