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
  • 📊 Real-Time Monitoring: Live WebSocket updates showing actual CPU usage 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
  • 📡 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)
  • --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)

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}'

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

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
  • Stress Testing: Validate system stability under high CPU utilization
  • Thermal Testing: Check cooling system effectiveness
  • Power Consumption Analysis: Measure power usage at different load levels
  • Benchmarking: Create reproducible load scenarios
  • IoT Integration: Integrate with Home Assistant, Node-RED, or other MQTT-based systems
  • Monitoring: Feed CPU metrics into monitoring dashboards via MQTT

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

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

cpu_loader-0.4.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (37.3 kB view details)

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

cpu_loader-0.4.8-cp312-cp312-macosx_11_0_arm64.whl (26.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cpu_loader-0.4.8-cp312-cp312-macosx_10_13_x86_64.whl (26.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

cpu_loader-0.4.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (36.1 kB view details)

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

cpu_loader-0.4.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (37.4 kB view details)

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

cpu_loader-0.4.8-cp311-cp311-macosx_11_0_arm64.whl (26.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cpu_loader-0.4.8-cp311-cp311-macosx_10_9_x86_64.whl (26.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cpu_loader-0.4.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (36.1 kB view details)

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

cpu_loader-0.4.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (37.4 kB view details)

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

cpu_loader-0.4.8-cp310-cp310-macosx_11_0_arm64.whl (26.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cpu_loader-0.4.8-cp310-cp310-macosx_10_9_x86_64.whl (26.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cpu_loader-0.4.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (35.9 kB view details)

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

cpu_loader-0.4.8-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (37.1 kB view details)

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

cpu_loader-0.4.8-cp39-cp39-macosx_11_0_arm64.whl (26.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cpu_loader-0.4.8-cp39-cp39-macosx_10_9_x86_64.whl (26.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: cpu_loader-0.4.8.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.4.8.tar.gz
Algorithm Hash digest
SHA256 487ff723adca6b18ed6e119505465143d9a3ab6b16fee0d16adf5bcbc090d66e
MD5 a67b28adbfd7678b4802a6650a3c553c
BLAKE2b-256 f4aa8f8662ea8af55a52db94c527d5dfb3d4df4d7cfef5dce136545d90ba7dbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.4.8.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.4.8-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.4.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d69ebe89370388cc76de9d76b402030e6a629a224be47e85aed70e0a7469e9d
MD5 1511d70f08da5a31c0fde3eb49d57da8
BLAKE2b-256 6b799a10dcd18b7db132b058164ac23b20cefc91fbd333f3785d538bb9fc700c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9bd65ef43d6bad5a5d97170a7d78df8a7b3dc973bc0523b612c26d2d3edf9900
MD5 50fe1d605f2cd13f0b0199cc2b748115
BLAKE2b-256 0b1ff712031024872fa48ce3f1e7b74ed3dae8d261101069cbf43a0f22cd3a87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff9ccde03a0bf184bf2113fb1675623844dc7fd52681d84bc04fd7f2e915bc0f
MD5 4f2a714b6b934cd40dec68f19d9a17f0
BLAKE2b-256 64f69e4483eea00250db71ba58e6559b456f481bc8b535cdf9dd173b4194c824

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 045010a785e64336a01c3602cb0e2fd53afdb4e00e052b8f03dcd30ead6b71af
MD5 775263ef2d25b35303bf7317362854c7
BLAKE2b-256 4227a2873b790012f7e05b213c2fc884264c25591482cac0e04b35535b980c1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.4.8-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.4.8-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.4.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e37f8c45cfe170826efda48152ff423c9c289a1d414c424deac5e40aa97ad295
MD5 1577cc2cdbf248d456ead546a2864947
BLAKE2b-256 1d700ff9d7e39ae8ee52b5bb8fd31ee01a1f8dc15d30c6d43f329ae971bfbb75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 21330e1cafb6a48a78d296bbf95a9e37d4732ea47601f9e77d385858ed027644
MD5 ae2ef300b76b8952c5671becea2839ac
BLAKE2b-256 a4345b6f5498100e396a1956cc0130eb71be1eff9aa761d3c0a1cd5abd9263ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 668d11eb858fed513ebfa7eb8344098a3dec085866ad5d5dff8439adf75f09fa
MD5 26d9e34d4b761fb5a1bd28a77363c1f0
BLAKE2b-256 a7ffd906d6f620b3f3ec40e2b910ef319444940c32daf19aa35653b9db50e473

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 15ce1710d55a35c222b1fcdf31558c275433d98f2c09ff856e73a133a5a459c5
MD5 5cd935265305ee95e49326f7eb9d3062
BLAKE2b-256 10911df0c07cb727fb0e0e849089d5db1252a3f6a311d2f35ddee22e701fa2ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.4.8-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.4.8-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.4.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 678502acaf8fd064839ff747481c95d3fb6c14b85ec280564e11d0916a6f8a22
MD5 74a54db477641abe4d9e91206ae497a4
BLAKE2b-256 a089b304002ad7abfb45a8cb7c0ffa2903bc81dc3494c624dba1d712eac72c34

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a086c9b197a57dab29933b691df689187b360b4dcaf5647b5618c9f03b3a01e3
MD5 95a8fc6f6378fb61d3e5fe5922fd3ff2
BLAKE2b-256 5dbd3f5cdaad48ca0ddb5b6bfa78aecd7e361f7a3d01ba10871193896ab3d447

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 288d9fbe53a7e3c99c6d86e3faeff9aafb17691c2034bc0a09b57d5b893b12f7
MD5 648178e007f1abdae920cefa6e55e756
BLAKE2b-256 7106e5cf47a2fbe31d12b27fe73d72c4675a90fcd9b3aaa4f671e4136a6883f8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 31c51a213b03e85a2f0249e48184dab820113a39979d33f1d788bf635230bd85
MD5 52b9c7912afeff21feea8fdf7dc623e7
BLAKE2b-256 2a252f6aa6c8f9b9fb4f0c8d2f859111f80bfb3934b409637fac342b5430c57f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cpu_loader-0.4.8-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.4.8-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.4.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f91e3b731a8b88e3eb4ceb06a7bd9b1fa00d7e40fefdd956bfa5f9ca1cab20e
MD5 73cad2c454973fffd83fda74bf1afd90
BLAKE2b-256 66123c96eda2ea115ed9ed7f3c296c10189ac0cfcecf8a9e4821e26a420c3ace

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0d0737b6f8debba66368383fc764fd76c9a593bc62747532a3f9747ea460d1d
MD5 a8ec84b0ff2f0e90d69f05d0724c5138
BLAKE2b-256 d1211e8a49f102ce3b4f66800639d9543bf07fff27bc822f4edcd03b6898ff9e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94c7ac353a404ee897faf17353c99ff75f745c7059b3b51d89f93e519a766d6c
MD5 cb2e16b45a4b3c8304eccc496725dff4
BLAKE2b-256 5d70b72715e65157f233ff0bc5edf814aff4d5af80a6c5d1275d41be09f63a9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cpu_loader-0.4.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 89d2073c41655d3b688fcc49affc441065056232327f22f21cc80c84483e39e9
MD5 c03effc5f38730c163166ba5e75ae00b
BLAKE2b-256 3707da270c2283006e87be69aebf4bb16900c7927c2f5e2a878e902381159a19

See more details on using hashes here.

Provenance

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