Official Python CLI for TrajectoryRL (Bittensor SN11) — live subnet state, validator analysis.
Project description
trajrl
The official Python CLI for TrajectoryRL — an open skill factory that uses Bittensor's distributed compute and incentive layer to produce state-of-the-art agent skills.
trajrl watches live SN11 state: winner, challenger, queue, validators, miners, packs, eval logs, and deep validator analysis.
CLI output is Rich tables in a TTY and JSON when piped.
For generic Bittensor on-chain queries (metagraph, hyperparams) use btcli — the official Bittensor CLI.
Install
pip install trajrl
Live SN11 state (v6 winner-challenger)
trajrl challenge # in-flight epoch — challenger pack + per-validator scores so far
trajrl winner # current seated winner + last 5 change events
trajrl winner --history 20 # show more history
trajrl queue # pending eval queue
trajrl queue --eligible-only # filter to submissions eligible right now
Validators / miners / packs
trajrl validators # roster table
trajrl validators --detail # adds stake / weightTargets / benchVersion
trajrl miner --uid 63 # miner detail by UID
trajrl miner HOTKEY
trajrl pack HOTKEY PACK_HASH # specific pack + eval results
trajrl submissions # recent submissions across the network
trajrl submissions --failed
Subnet analysis
trajrl analyze # last 24h, all reports
trajrl analyze --epochs 50 # explicit epoch window
trajrl analyze --last 6 # last 6 hours
trajrl analyze --scenario cancel-async-tasks # focus per-scenario report
trajrl analyze --no-compare # skip the validator-sync table
trajrl analyze --deep # drill into eval logs for top packs
analyze produces, in one report:
- Throughput — epochs in window, decisions submitted, decisions/hour, rejection rate
- Competition Health — distinct challenger packs/miners, outcomes (held/replaced), replace rate, current winner tenure, mean inter-replacement gap
- Score Distribution — N qualified, mean, p50/p75/p90/p99, histogram of consensus_score
- Per-Scenario — pass rate, mean score, eval count, top-scoring pack per scenario (filterable with
--scenario) - Top 10 Challenger Packs — best consensus_score in window, with outcome
- Rejection Breakdown — bucketed reasons (integrity:copy, eval_error, schema_validation, etc.) with sample details
- Miner Pool — distinct miners, distinct packs, top-10 most-active
- Validator Sync — per-validator mean Δ vs peer mean; outlier flag with adaptive threshold (1.5× network median)
- Recent Winner Changes — last 10 replacement events
- With
--deep: drill into eval logs for the top challenger packs in the window
Network state & feeds
trajrl stats # network totals (reports, cost USD, LLM calls, tokens)
trajrl epoch 12345 # full epoch detail + per-validator submissions
trajrl leaderboard # v6 leaderboard — winner + ranked miners
trajrl events --limit 20 # recent eval events (validator → miner reports)
trajrl events --since 2026-05-21T00:00:00Z
trajrl winners # winner takeover history + cumulative α emission
trajrl prices # TAO + SN11 alpha price strip + 30d stake APY
trajrl nodes # node heartbeat summary
trajrl nodes --type validator
Validator drill-downs
trajrl scores HOTKEY # one validator's recent per-miner reports (last 24h)
trajrl scores --uid 7
trajrl progress # per-validator progress through current cycle
trajrl activity HOTKEY --limit 50 # per-epoch participation history
Bench / scenario quality
trajrl bench # per-scenario quality leaderboard (latest spec)
trajrl bench --spec 7
trajrl bench-miner HOTKEY # one miner's per-scenario best scores
trajrl bench-miner HOTKEY --spec 7
Eval logs (debug + audit)
trajrl logs --validator HOTKEY --limit 20
trajrl logs --eval-id 20260329_1430_w42 --show
trajrl logs --eval-id 20260329_1430_w42 --dump-to ./debug/
A miner eval archive contains:
SKILL.md # miner's product
JUDGE.md # scoring rubric used
metadata.json # final_score, delta, episode qualities
world.json # scenario context + salt
episodes/episode_N/
testee_transcript.txt # agent's session log
judge_transcript.txt # judge agent's grading log
evaluation.json # per-criterion scores + summary
episode.json # fixtures + instruction
Global options
Every command accepts:
| Option | Description |
|---|---|
--json / -j |
Force JSON output (auto when piped) |
--base-url |
Override API base URL (env: TRAJRL_BASE_URL) |
--version / -v |
Print version and exit |
JSON output
Piped output is JSON for every command — handy with jq:
trajrl winner | jq '.current.winner.uid'
trajrl queue --eligible-only | jq '.queue | length'
trajrl validators | jq '.validators[] | {uid, name, version, weightTargets}'
Migration from v1.x
v1.x shipped three binaries: trajrl, trajectoryrl-inspector, bittensor-subnet-inspector. v2.0 collapses everything into one trajrl binary.
| v1.x | v2.0 |
|---|---|
trajectoryrl-inspector status |
trajrl validators |
trajectoryrl-inspector download HOTKEY HASH |
trajrl pack HOTKEY HASH |
trajectoryrl-inspector download --uid N |
trajrl miner --uid N |
trajectoryrl-inspector analyze HOTKEY |
trajrl analyze HOTKEY |
trajectoryrl-inspector logs ... |
trajrl logs ... |
trajectoryrl-inspector submissions |
trajrl submissions |
bittensor-subnet-inspector metagraph -u 11 |
btcli subnet metagraph --netuid 11 (no longer in trajrl) |
bittensor-subnet-inspector emission -u 11 |
btcli subnet hyperparameters --netuid 11 (no longer in trajrl) |
New v2.0 commands: trajrl challenge, trajrl winner, trajrl queue (v6 dual-seat winner-challenger).
v2.1 (this release): removed trajrl chain group — it was redundant with btcli and pulled in the heavy bittensor SDK as a hard dependency. v2.1 has no chain-query commands; use btcli subnet metagraph / btcli subnet hyperparameters instead. Result: much lighter install (no substrate-interface, scalecodec, websockets, etc.).
Links
- Subnet repo: https://github.com/trajectoryRL/trajectoryRL — incentive mechanism, evaluation framework
- Bench: https://github.com/trajectoryRL/trajrl-bench — eval sandbox
- Website: https://trajrl.com — leaderboard, live subnet data, skill hub
- Public API: PUBLIC_API.md — read-only, no auth, base URL
https://trajrl.com
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 trajrl-3.0.0.tar.gz.
File metadata
- Download URL: trajrl-3.0.0.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7aa77aba1a5240f46be84490d263ef419aa212517adeab870d5eea96dc85efb7
|
|
| MD5 |
fc25458553ef26e9af887603bead4170
|
|
| BLAKE2b-256 |
7cc451ac83861e934244bb16357b1389893b0fb8ca33be3f6e2d6c7875e41ea4
|
Provenance
The following attestation bundles were made for trajrl-3.0.0.tar.gz:
Publisher:
publish.yml on trajectoryRL/trajrl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trajrl-3.0.0.tar.gz -
Subject digest:
7aa77aba1a5240f46be84490d263ef419aa212517adeab870d5eea96dc85efb7 - Sigstore transparency entry: 1591766574
- Sigstore integration time:
-
Permalink:
trajectoryRL/trajrl@09a25fccea2b8b606c25d12f4df9d2dd44148e62 -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/trajectoryRL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09a25fccea2b8b606c25d12f4df9d2dd44148e62 -
Trigger Event:
push
-
Statement type:
File details
Details for the file trajrl-3.0.0-py3-none-any.whl.
File metadata
- Download URL: trajrl-3.0.0-py3-none-any.whl
- Upload date:
- Size: 26.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9099d06f8d742a22894828388efabb3fd4eeed1d83bbc3d93800ea0a608ddde
|
|
| MD5 |
18645ca125affa7d7ebb8acec306c151
|
|
| BLAKE2b-256 |
d5287deddf864d42e8ab594d46cbbca0bac6f05799296151d063f7a9c6fe39e6
|
Provenance
The following attestation bundles were made for trajrl-3.0.0-py3-none-any.whl:
Publisher:
publish.yml on trajectoryRL/trajrl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trajrl-3.0.0-py3-none-any.whl -
Subject digest:
f9099d06f8d742a22894828388efabb3fd4eeed1d83bbc3d93800ea0a608ddde - Sigstore transparency entry: 1591766738
- Sigstore integration time:
-
Permalink:
trajectoryRL/trajrl@09a25fccea2b8b606c25d12f4df9d2dd44148e62 -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/trajectoryRL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09a25fccea2b8b606c25d12f4df9d2dd44148e62 -
Trigger Event:
push
-
Statement type: