Skip to main content
╔════════════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                            ║
║               ██████╗ ██╗     ██╗   ██╗███╗   ███╗██╗  ██╗██╗   ██╗██████╗                 ║
║               ██╔══██╗██║     ██║   ██║████╗ ████║██║  ██║██║   ██║██╔══██╗                ║
║               ██████╔╝██║     ██║   ██║██╔████╔██║███████║██║   ██║██║  ██║                ║
║               ██╔═══╝ ██║     ██║   ██║██║╚██╔╝██║██╔══██║██║   ██║██║  ██║                ║
║               ██║     ███████╗╚██████╔╝██║ ╚═╝ ██║██║  ██║╚██████╔╝██████╔╝                ║
║               ╚═╝     ╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝                 ║
║                                                                                            ║
║                              watch the fleet, not the screen                               ║
║                                                                                            ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝

PyPI Python License

Miner fleet monitor — a borderless overlay HUD that sits on top of whatever you're doing, with alerts and history.

pip install plumhud
plumhud
plumhud          the overlay HUD and command center
plumhud check    poll once, print, exit — no window needed
plumhud where    where your config and history live

What v4 changed, and why

Nothing is invented any more. v3 filled missing readings with random.randint(), so a miner that answered without a hashrate displayed a believable number you had no way to identify as fake. A field the miner did not send is now None, renders as a dash, and is stored as NULL. "We did not measure it" and "it is zero" are different facts and the display says which.

Alert rules require a real measurement. Removing the fabrication exposed that the rules had never been written to survive a missing value — they would have raised on the first None. A rule now stays quiet when the number never arrived, and still fires on genuine problems.

Your config stopped moving. v3 wrote plumhud_config.json relative to the working directory, so launching from two folders gave you two fleets — and dropped a file containing your Discord webhook and Telegram token wherever you happened to be, including repositories. Everything now lives in one per-user directory (plumhud where), created owner-only. A v3 config found in the current directory is adopted automatically.

One poller, two faces. Polling moved to moonbeam-miner, which the terminal tool already used. That removed the private asyncio event loop, the aiohttp session and its fallback path with no loss of speed — and means the CLI and the HUD can never disagree about what a miner said.

Zero required dependencies beyond the shared core. aiohttp and requests are gone; webhooks post through the standard library. Charts and the logo are optional extras:

pip install "plumhud[charts]"

What it does

Overlay HUD in four display modes (ring, bar, spark, grid) with an opacity slider and five skins. A five-tab command center for miners, analytics, alerts, skin and settings. Alert rules for offline, hashrate below, temperature above and reject spikes, delivered to Discord or Telegram with a per-rule cooldown. Every poll is written to a local SQLite database with 30-day retention.

Talks to ESP-Miner and AxeOS devices — NerdMiner, Bitaxe and relatives — on http://<ip>/api/system/info. Use moonbeam scan to find them.

Requirements

Python 3.8+, and Tk for the window (bundled with Python on Windows and macOS; apt install python3-tk on Debian and Ubuntu). plumhud check needs no display at all.


╔════════════════════════════════════════════════════════════╗
║                                                            ║
║      ███████╗      ██╗  ██╗███████╗██╗   ██╗███████╗       ║
║      ██╔════╝      ██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝       ║
║      █████╗  █████╗█████╔╝ █████╗   ╚████╔╝ ███████╗       ║
║      ██╔══╝  ╚════╝██╔═██╗ ██╔══╝    ╚██╔╝  ╚════██║       ║
║      ██║           ██║  ██╗███████╗   ██║   ███████║       ║
║      ╚═╝           ╚═╝  ╚═╝╚══════╝   ╚═╝   ╚══════╝       ║
║                                                            ║
║               ·   C  R  E  A  T  I  V  E   ·               ║
║                                                            ║
║          ────────────────────────────────────────          ║
║                                                            ║
║                      Vincent Gonzalez                      ║
║                         f-keys.com                         ║
║                 ORCID 0009-0005-3640-014X                  ║
║                                                            ║
╚════════════════════════════════════════════════════════════╝

Part of F-Keys — independent hardware, software and internet products. See the working log and live status.

Download files

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

Source Distribution

plumhud-4.1.2.tar.gz (91.5 kB view details)

Uploaded Source

Built Distribution

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

plumhud-4.1.2-py3-none-any.whl (88.3 kB view details)

Uploaded Python 3

File details

Details for the file plumhud-4.1.2.tar.gz.

File metadata

  • Download URL: plumhud-4.1.2.tar.gz
  • Upload date:
  • Size: 91.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for plumhud-4.1.2.tar.gz
Algorithm Hash digest
SHA256 7b9d4e4c018524e1ce9d53e34fcc47d2c28ce41ed668206e40af2f97a98bfe16
MD5 ad3e43870b69f9353b47ed2caf69d37f
BLAKE2b-256 8c483cd367a15cea831a6b2d92a8b21adb62b38ba5ac5697a53beec4b8cec86b

See more details on using hashes here.

File details

Details for the file plumhud-4.1.2-py3-none-any.whl.

File metadata

  • Download URL: plumhud-4.1.2-py3-none-any.whl
  • Upload date:
  • Size: 88.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for plumhud-4.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ff369c909763e0a9f112dec795aa45d55d3079a65ec4120cc90c915844afb08
MD5 d9979083d9e2131bd75aab4e5937fc9d
BLAKE2b-256 9466993de1c4b32ddf500e20102044df663efbde8f2e90343f9b938827e8d44e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.1.2 This release

2 files

4.1.1

2 files

4.1.0

2 files

4.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page