Skip to content

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

Merged
dylanuys merged 1 commit into
devfrom
refactor/light-base-install
Jul 14, 2026
Merged

refactor: make base install registry-only, move benchmark stack to [gpu] extra#123
dylanuys merged 1 commit into
devfrom
refactor/light-base-install

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.

…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.
@dylanuys
dylanuys merged commit 313fa8a into dev Jul 14, 2026
3 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