Skip to content

refactor: make base install registry-only, move benchmark stack to [gpu] extra#124

Merged
dylanuys merged 2 commits into
mainfrom
dev
Jul 15, 2026
Merged

refactor: make base install registry-only, move benchmark stack to [gpu] extra#124
dylanuys merged 2 commits into
mainfrom
dev

Conversation

@dylanuys

Copy link
Copy Markdown
Contributor

Consumers that only need dataset definitions (bitmind-subnet's validator cache imports gasbench.dataset.config and nothing else) currently drag in the entire inference stack — onnxruntime-gpu, torch, timm, fvcore, decord, modelscope, etc. Invert the packaging:

  • Base deps are now just pyyaml; the full benchmark stack moves to the gpu extra (the name bitmind-subnet already requests). The dev extra includes gasbench[gpu].
  • gasbench/init.py and gasbench/dataset/init.py resolve their benchmark-stack exports lazily (PEP 562) so importing the registry never touches torch/onnxruntime. Missing-dep access raises a guided ImportError pointing at gasbench[gpu]; the CLI prints the same hint.
  • New base-install CI job asserts the contract: registry importable with only pyyaml installed, and no heavy dist leaks into base.
  • README install section updated (also removes the reference to the long-gone [cpu] extra).

No behavior change for gasbench[gpu] installs — all public exports resolve to the same objects.

dylanuys and others added 2 commits July 14, 2026 02:09
…pu] extra

Consumers that only need dataset definitions (bitmind-subnet's
validator cache imports gasbench.dataset.config and nothing else)
currently drag in the entire inference stack — onnxruntime-gpu, torch,
timm, fvcore, decord, modelscope, etc. Invert the packaging:

- Base deps are now just pyyaml; the full benchmark stack moves to the
  gpu extra (the name bitmind-subnet already requests). The dev extra
  includes gasbench[gpu].
- gasbench/__init__.py and gasbench/dataset/__init__.py resolve their
  benchmark-stack exports lazily (PEP 562) so importing the registry
  never touches torch/onnxruntime. Missing-dep access raises a guided
  ImportError pointing at gasbench[gpu]; the CLI prints the same hint.
- New base-install CI job asserts the contract: registry importable
  with only pyyaml installed, and no heavy dist leaks into base.
- README install section updated (also removes the reference to the
  long-gone [cpu] extra).

No behavior change for gasbench[gpu] installs — all public exports
resolve to the same objects.
refactor: make base install registry-only, move benchmark stack to [gpu] extra
@dylanuys
dylanuys merged commit 2e3ee30 into main Jul 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant