Passive music witness client for wzrd-listen. Observe playback locally, report checkpoints, finalize portable session receipts.
Project description
wzrd-listen
Passive witness client for music playback. Observes what you're listening to locally, reports checkpoints to the TWZRD listen API, and finalizes sessions with a Merkle root.
No API keys. No Spotify login. Just proof.
Install
pip install wzrd-listen
Quick start
# Check setup
wzrd-listen doctor
# Witness live playback
wzrd-listen watch --summary
# Run a synthetic demo session
wzrd-listen demo --source spotify --track "Nujabes - Feather" --checkpoints 3 --summary
On first run, a device identity is created at ~/.config/wzrd-listen/device.json. This key is your identity - no account required.
Supported platforms
- macOS: Spotify, Music.app (via osascript)
- Linux: Any MPRIS player via playerctl (
apt install playerctl)
What happens
wzrd-listen doctorchecks your player and API reachabilitywzrd-listen watchpolls your active player, sends checkpoints to the listen API- Session finalizes with a Merkle root - a cryptographic proof of your listening
- View your proof profile at
https://twzrd.xyz/listen/{your-device-key}
Environment variables
| Variable | Purpose |
|---|---|
WZRD_LISTEN_API_BASE_URL |
Override API base URL (default: https://api.twzrd.xyz/v1/listen) |
WZRD_LISTEN_CONFIG_DIR |
Override config dir for device identity |
WZRD_LISTEN_TIMEOUT_SECONDS |
HTTP timeout override |
Trust model
- Witness proof = trust anchor (local observation, Merkle tree)
- AI summary = product value (co-listener arc)
- Verifier verdict = fraud resistance
- On-chain mint = deferred until the event model stabilizes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wzrd_listen-0.1.1.tar.gz.
File metadata
- Download URL: wzrd_listen-0.1.1.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fbca28ad4be264b5af7dcf46902a72a9cee6c4b433639b51ee1c9c9432e7b8d
|
|
| MD5 |
2a727d51aeec38adb46c983ad6fa4443
|
|
| BLAKE2b-256 |
ebc090037c15fceca9403f11be3d75e58e5b2a909e5b2c9fe4a2330be568cc1d
|
File details
Details for the file wzrd_listen-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wzrd_listen-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0763c0d4e791df21f0faeef0f9b811c171ba54e5f963da01e2a7dcc809d8286c
|
|
| MD5 |
a13bbc041ff8abbdfc51880c29346b87
|
|
| BLAKE2b-256 |
281171210a8a51ad6cdd9832261870c6b42ed682fb055a707a90f10823a00529
|