Skip to main content

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.

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.8.5.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.8.5-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.8.5-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.8.5-cp312-cp312-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

cpu_loader-0.8.5-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.8.5-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.8.5-cp311-cp311-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

cpu_loader-0.8.5-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.8.5-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.8.5-cp310-cp310-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

cpu_loader-0.8.5-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.8.5-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.8.5-cp39-cp39-macosx_11_0_arm64.whl (31.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cpu_loader-0.8.5-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.8.5.tar.gz.

File metadata

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

File hashes

Hashes for cpu_loader-0.8.5.tar.gz
Algorithm Hash digest
SHA256 615eba36838b7991ae87279877ee7e064953ac30fc1fcb2fc84f8ee46a4962c5
MD5 da4621182cd0c6bf36dfd414c310de85
BLAKE2b-256 21e044648d190df2283cb2d85f1aa0050211bd1702962162467a93e3a740c95c

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-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.8.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98735c176e258f38025a7d68979ea28e586b38a7128be97c9ee822c156dac0bb
MD5 4cfe890a2cc08a27fc7fab7d7166205b
BLAKE2b-256 b9dd924df655d9082943882e7b6c333a7c33869e5c82ab842b9fc7dc76df2d20

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1282fa7a42a0f42ff84c98854493b1779893a818af7e51404c1a33cb3ec67480
MD5 126276b63c44c73d0ab9fb49ffe94932
BLAKE2b-256 3268604e28b509c1491ddc82d71d59d2b5824eb2d7dbf57bcc6b5bbcf1f9fa14

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 361df067cf2c71fcef5bbc8e7652b697793e120751771ffe710a99d037f03713
MD5 25dcd0752bb2f95bc31a26f61771a5f1
BLAKE2b-256 436f62818c2bf4fd5ff2216c8d54638ffcbd66a42f849c782164bceb60266d32

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2e835e68530f203b938f5cfbd3cc268d97cf35ed08ad6a9e055910704e87f663
MD5 c9455cf190212ef205f0e5667249f5e7
BLAKE2b-256 99c13223a27a9e04ed3681ac77f3171c492be39ef908c8c1f9a5020212d68c12

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-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.8.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fbeb6e0b311a5f7f630f58563a9c82d7b70dd1f0b385678e0b07e026b3ff109
MD5 1f05ab3ab4c32d1f668758e21f2c504d
BLAKE2b-256 c00e5519234470783bc5d4929a7e8800046d9eb9bace25054c944d8f2e0f3978

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c94bd9e48863a52ec309cb52980dba9bc9a42f5135e9e3bdb1f37065fb739deb
MD5 57cb18d2cdfd3c0e647019658ffd800e
BLAKE2b-256 72803867d8a27b6f0731461e10c09b58fda94282b06eb32a5ff6b90732a8d5e3

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22c0f22b57bc3b0c734aa9a0c328088a3e5ac676fca653c79f07088de075e30b
MD5 0eb689258ebb4bc196d4e9db58a0408d
BLAKE2b-256 62b602433691bcf44d8c0104b6da6665780422d0756439f68c00b06ea026d4f3

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 16efa44d8b3ba64af3655f28592e32f251fca3de0e5a41dcd90d874e00c379f9
MD5 0e34ea47b7abe18d22322f3fc1144763
BLAKE2b-256 6faad63db2b6a6edfb13361801275be4631f77319ed10a5fb901525b32218e3e

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-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.8.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab1aa0db3562a1f1b90c0fd97237a3f70e26b3f2ef9ecd719c589bca941fda6c
MD5 b1ee2a407a2877a8d6b5e5d134c0e5cd
BLAKE2b-256 7265944c4036a876b3ab705080555c9385438ad1d14df320fa2bf65fae28d51c

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fbfb0bcd267f9da6b54872ae06f054ceb0363c74bc7cc6648ea95b9a4029f3b1
MD5 ad770ab507461648ab50655c8d3dc3b0
BLAKE2b-256 fa9498888533a80f4f4e6767fae45e202a1c78b59a84dd417cd208b961ed53a9

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7af5ed18f689a255de4cafb8a9810753fbd3c93b839a194d69218dfba208b3c
MD5 24cfc1bd64d4b9f078647306749d7169
BLAKE2b-256 69d3d11196c23876188c1406c93cb01b36f5099fbc3fadbb31341cefb6b0daef

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f02d534f43470091ee7ea7b453896657ab0d482fe6a484e0074425f1b24e96da
MD5 d9d911b3cda752e8008e7667ed3d1a14
BLAKE2b-256 ab8bc747ae99237f62868790a577bcdd52af39fe80c285d95a389e1c708909e1

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-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.8.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0d6c1204f4677c64702b79cb37ab16d46edf16489fad5b47e099ac0bf887a10
MD5 c6d938df0c2ed9bbe85a31770d799da3
BLAKE2b-256 879ecdb3e94af5a34ffd7aade576b9b58f9c821042ca17de6ba5984e3d36b896

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d3e42c3744cbc33c75cc1acbd75a1738aae1aabe101e992dd7109cce9630e34b
MD5 23f44c52e1c372aa44b6d47adb28c69e
BLAKE2b-256 32ef36d147dc99a8374e3b8ad259cb27fa8313e3f2becf03f9c31c44942f3104

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6eb990860663f10f1ce6e1e8c395fa3b96df32eb6773fe12d711e82dd93918c
MD5 80b1158e9e91367e8254f7e778e2f82b
BLAKE2b-256 d9eebd22c2ece29b9e460782e5fefe6851481b126ac8099e2125fe00664aa25d

See more details on using hashes here.

Provenance

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

Publisher: build-all.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.8.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cpu_loader-0.8.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 78d2d98aa098e9d9dafecdb684ddb6010c51039b004cee217c3f952a93d8207d
MD5 d3b2a0e7bdd35b093d229a109ba8f886
BLAKE2b-256 383be414dec9cc78e3834e4993d17acf1a0a8352ce700ea53ca2c5cc0f0fbf8b

See more details on using hashes here.

Provenance

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

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

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

Release history Release notifications | RSS feed

This release

0.8.5 This release

17 files

0.8.4

17 files

0.8.3

17 files

0.8.2

17 files

0.8.1

17 files

0.8.0

17 files

0.6.1

17 files

0.6.0

17 files

0.5.10

17 files

0.5.9

17 files

0.5.8

17 files

0.5.7

17 files

0.5.6

17 files

0.5.4

17 files

0.4.9

17 files

0.4.8

17 files

0.4.7

17 files

0.4.5

17 files

0.4.3

21 files

0.4.2

21 files

0.3.0

21 files

0.2.8

21 files

0.2.6

21 files

0.2.5

21 files

0.2.4

21 files

0.2.3

21 files

0.1.3

11 files

0.1.2

11 files

0.0.3

11 files

0.0.2

11 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page