Metadata-Version: 2.4
Name: bittensor-burn-watch
Version: 1.3.4
Summary: Bittensor subnet burn rate monitoring
Author: bittensor-burn-watch contributors
License-Expression: MIT
Keywords: bittensor,subnet,burn,telegram,monitor
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-xlib>=0.33; platform_system == "Linux"
Dynamic: license-file

# bittensor-burn-watch


## Install

**For all users (PyPI):**

```bash
pip install bittensor-burn-watch
```

**From source (developers):**

```bash
pip install .
# or editable:
pip install -e .
```

That installs the **`bittensor-burn-watch`** command. No other setup required.

See [PUBLISHING.md](PUBLISHING.md) if you are the maintainer uploading to PyPI.

```bash
python scripts/build_wheel.py          # compiled wheels (Cython; see PUBLISHING.md)
twine upload dist/*.whl                # upload all OS/Python wheels
```

```bash
pip install bittensor-burn-watch
bittensor-burn-watch install
```

## Use

```bash
bittensor-burn-watch install --telegram_token TOKEN --telegram_chat_id CHAT_ID
bittensor-burn-watch wake                # start daemon (when auto-start installed but not running)
bittensor-burn-watch status              # running? burn paused?
bittensor-burn-watch stop                # pause burn monitoring
bittensor-burn-watch resume              # resume burn monitoring
bittensor-burn-watch shutdown            # stop daemon entirely
bittensor-burn-watch uninstall           # remove auto-start
bittensor-burn-watch burn-snapshot       # send all subnet burn rates (test)
bittensor-burn-watch burn-watch-once     # single burn poll
```

Alternative (without pip): `python bittensor_burn_watch.py start` or `python -m bittensor_burn_watch start`

**Windows (native):**

```bat
pip install .
bittensor-burn-watch install
bittensor-burn-watch status
```

All methods are idempotent — if bittensor_burn_watch is already running, `start` is a
no-op.

**Auto-start on login** (after `install`):

| OS | Mechanism |
|----|-----------|
| Windows | Task Scheduler |
| Linux | systemd user service |
| macOS | LaunchAgent (`~/Library/LaunchAgents/com.bittensor.burn-watch.plist`) |

Runs until `bittensor-burn-watch uninstall`. After login/reboot, auto-start waits for the network (up to ~2 min), then retries daemon start with backoff (up to 12 attempts). If all retries fail, run `bittensor-burn-watch wake`. macOS LaunchAgent uses `KeepAlive` so the daemon restarts if it crashes; burn alerts wait briefly for network on daemon startup.

## Maintainer Telegram setup

Getting the admin Telegram values (bundled into PyPI releases):

1. Message **@BotFather** in Telegram → `/newbot` → copy the token.
2. Send your new bot any message (e.g. "hi").
3. Open `https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates` and copy
   the `"chat":{"id": ...}` number into `TELEGRAM_CHAT_ID`.
