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

Using uv tool (Recommended for CLI usage)

For users who want the cpu-loader command available system-wide, use uv tool install:

uv tool install cpu-loader

This installs cpu-loader as a standalone tool that can be run from anywhere:

cpu-loader --help
cpu-loader --host 0.0.0.0 --port 8000

From Pre-built Wheels

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

Running as a Systemd Service

You can run CPU Loader as a systemd service to start automatically on boot and run in the background.

Create Systemd Service File

Create /etc/systemd/system/cpu-loader.service:

[Unit]
Description=CPU Loader Service
After=network.target

[Service]
Type=simple
User=your-username
WorkingDirectory=/home/your-username
ExecStart=/home/your-username/.local/bin/cpu-loader --host 0.0.0.0 --port 8000
Restart=on-failure
RestartSec=5

# Optional: Set environment variables for MQTT
#Environment="MQTT_BROKER_HOST=mqtt.example.com"
#Environment="MQTT_BROKER_PORT=1883"
#Environment="MQTT_USERNAME=myuser"
#Environment="MQTT_PASSWORD=mypassword"
#Environment="MQTT_TOPIC_PREFIX=cpu-loader"
#Environment="MQTT_CLIENT_ID=cpu-loader-001"

# Optional: Disable temperature monitoring
#Environment="DISABLE_TEMPERATURE=1"

[Install]
WantedBy=multi-user.target

Important: Replace your-username with your actual username, and adjust the ExecStart path to point to where cpu-loader is installed:

  • If installed with uv tool install: Usually ~/.local/bin/cpu-loader
  • If installed with pip install --user: Usually ~/.local/bin/cpu-loader
  • If installed system-wide: Usually /usr/local/bin/cpu-loader

Enable and Start the Service

# Reload systemd to recognize the new service
sudo systemctl daemon-reload

# Enable the service to start on boot
sudo systemctl enable cpu-loader

# Start the service now
sudo systemctl start cpu-loader

# Check service status
sudo systemctl status cpu-loader

# View service logs
sudo journalctl -u cpu-loader -f

Manage the Service

# Stop the service
sudo systemctl stop cpu-loader

# Restart the service
sudo systemctl restart cpu-loader

# Disable auto-start on boot
sudo systemctl disable cpu-loader

Example Service Configurations

Basic Service (no MQTT):

[Unit]
Description=CPU Loader Service
After=network.target

[Service]
Type=simple
User=cpuloader
ExecStart=/home/cpuloader/.local/bin/cpu-loader --host 0.0.0.0 --port 8000
Restart=on-failure

[Install]
WantedBy=multi-user.target

Service with MQTT Integration:

[Unit]
Description=CPU Loader Service with MQTT
After=network.target

[Service]
Type=simple
User=cpuloader
ExecStart=/home/cpuloader/.local/bin/cpu-loader --host 0.0.0.0 --port 8000
Environment="MQTT_BROKER_HOST=192.168.1.100"
Environment="MQTT_BROKER_PORT=1883"
Environment="MQTT_USERNAME=cpuloader"
Environment="MQTT_PASSWORD=secretpassword"
Environment="MQTT_TOPIC_PREFIX=home/sensors/cpu-loader"
Restart=on-failure

[Install]
WantedBy=multi-user.target

Service with Custom Computation Type:

[Unit]
Description=CPU Loader Service (Matrix Computation)
After=network.target

[Service]
Type=simple
User=cpuloader
ExecStart=/home/cpuloader/.local/bin/cpu-loader --host 0.0.0.0 --port 8080 --computation-type matrix
Restart=on-failure

[Install]
WantedBy=multi-user.target

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.6.1.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.6.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (43.8 kB view details)

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

cpu_loader-0.6.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (45.1 kB view details)

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

cpu_loader-0.6.1-cp312-cp312-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cpu_loader-0.6.1-cp312-cp312-macosx_10_13_x86_64.whl (31.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

cpu_loader-0.6.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (43.8 kB view details)

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

cpu_loader-0.6.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (45.1 kB view details)

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

cpu_loader-0.6.1-cp311-cp311-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cpu_loader-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl (31.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cpu_loader-0.6.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (43.7 kB view details)

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

cpu_loader-0.6.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (45.1 kB view details)

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

cpu_loader-0.6.1-cp310-cp310-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cpu_loader-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl (31.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cpu_loader-0.6.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (43.5 kB view details)

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

cpu_loader-0.6.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (44.9 kB view details)

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

cpu_loader-0.6.1-cp39-cp39-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cpu_loader-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl (31.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: cpu_loader-0.6.1.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.6.1.tar.gz
Algorithm Hash digest
SHA256 1360184148eb5737cfb80a212a7493b4ce0d2b855f4f032ca41110ff4e513a50
MD5 dd66bb87b60656b922076ee21ef84c89
BLAKE2b-256 9d9c84f6bedcb45c2109eb1d8f9fc090f61054f65027a29185e7c91fc510ea62

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1.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.6.1-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.6.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 655e73bc0c56a30c886e117db2b4dc36dbca71f9949cdbca5b011f27e8326930
MD5 f279f10cdeecb85847ea90215c6b5038
BLAKE2b-256 23bc839ec703e480df894704165e000b352b2d05f86d7d04d5590435835a43b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 82ee8bc408b48ea6aaa50b535ee28bd844a896cd30ff5b4ef216ed2d68dc23ed
MD5 287ea8475ffc5470a4bd1437ea30427d
BLAKE2b-256 644dc39b2ca70b9f12c37d472ab6861b9d25530882625eaa67ccb2085a25d45c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59c204eb2e0748e1220a7752569f5f863263759eb9118fdb2bf81cc4d02c38e2
MD5 438616129f021fb2649cc00ed41f2acd
BLAKE2b-256 e7bfde331f6f2fccefd50516f659245048fe1526a3bedfc4de058f6fe9c10649

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c5281a20e33579a220679a713a8148fea33e9d6a27e05efae400dc062cf3f3b0
MD5 ae42ac6d69b2548eb1b34ac33b70a9ee
BLAKE2b-256 bca16b4e910451a760c250f38a94a338ac658f49080c1fd43b11c0de462d0a06

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-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.6.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5707ff6d741b3ffda1b97d57a0eaef3bf4649f8811e2b81b49c5c94c6bda87bc
MD5 0b96656a83cd68b86aee05cb3323c0ff
BLAKE2b-256 b44fae22b3ebaa264599792bc1032c90375dde22ea72b4679c3305c2d89036d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3391db3bbce0d51d525c01fdbe1458e16dba83212335f9a67882e56aa1f0fc37
MD5 97f1f87074ae9be16fd24e47a7b41fca
BLAKE2b-256 05ec9c97ccca1a7af138115f9cb408f02577d7a188939be3cf2bf04019565e44

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc497f58f00a009005009e41808ab35aac3df1504578b2ac55d082742531940e
MD5 8f3bd5dbbbea6f02ed7c0f3f77f753e5
BLAKE2b-256 ed959e7da5129da95f92d88403c5a8289f7e7f19957beee7deeebf052c41cdcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 917022df9a476d737a4d557ee56c6c2cb1de9f8a221d38b50f445443dc4032c0
MD5 c836c50bf25f8347fc4a7c0509b36b39
BLAKE2b-256 7cf4b9e2d1a24eba25c2650e68a80367157f3526635272c4eb4915235a80e5a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-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.6.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b6a14886408ff4532842e74652e9c8b2063501831e404163be6afff5f75cc9f
MD5 42ff931f4de5ed780c0f39e06571e9ce
BLAKE2b-256 f429101f7d84f2266f807dcc5b4de503ccfacbaec6707541ef5ecd486bf87bcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a77c9f0be5dddeffd45ed8dad8aac635f7a5ec3b9d272d126ec2271b8cb04c09
MD5 48c49b2d74adf2afcb778fc2c550e1f3
BLAKE2b-256 6221a64f17c6ebabd24e3f1f54a6a3072e73080089c10fd9891980716d07a795

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d7662dc960f2740ed1bdfca1dd914203d4e24114750da15bcf0d8c34df296eb
MD5 a4c938ab4ad15600259832b342262104
BLAKE2b-256 7b0fa99d49553ee420c0a33e96f68124d8ac77487737ba90483db489e281da37

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e3b1aad88e66d27d340235452ef939881a48f103c8b3512a04dead5f8ca59745
MD5 5141fe4e6d18f801ac1252b462bbba94
BLAKE2b-256 2a95c5290f05a48ff4d033ee1745ea178ac548563bcba40730db2d5664ddfeab

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-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.6.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6fc6e32d2a6b67ec1afe09de32f47bc654985c9b5ee303ebd377e3fe33fdc3d4
MD5 0b22ede5dbb0ee6e34ddf582d37f0daf
BLAKE2b-256 74b666da8da23a937aadd41dca49425be64ba9db0e83b37847a0c1b4902b4d90

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1006ca8129eb46feaf0b5bfcf3efde3eba173720a5212e7f3aaeac5fc614b54a
MD5 05c306cafeb4f9dbc7aa6c3a0d872b69
BLAKE2b-256 474b6665a91a15a2a8d16249062feda257085e05a5f4d125bbd50588f9c6aaa3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87ba464d22017265606977d2c689164329a2b6eb110800c2e3f06decec90f589
MD5 0c9164479914ce0656ed4fed8de3e62d
BLAKE2b-256 026ab37c8812278b411f60205a44b057c1962a1c09b21c9fa3ead111d8e3acdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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.6.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d0c180b99f5c461cf1a973b30edb12191b09bf01c55b43e03972c3dac7592cec
MD5 9dad996291897a22fb13d099df1af451
BLAKE2b-256 24f4f0b4929a92fc50c9084ac9a49f5d6cbe8a738dbad39b17f50a527963ba0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.6.1-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