feat: add optional CPU-only PyTorch extra and runtime guard #12
+89
−30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Description
torchout of coredependenciesinto optional extrastranslationandtranslation-cpuinpyproject.tomlwith pinned CPU wheel URLs for targeted Linux/Python combos and a fallback spec for other platforms._require_torchhelper insrc/scribae/translate/mt.pythat checks fortorchviaimportlib.util.find_specand raises a user-facingRuntimeErrorwith installation guidance if missing, and use the returned module for device detection.torchonce a translation pipeline is needed and avoid importing it at CLI startup.README.mdand update the Quick start to showuv sync --locked --dev --extra translationand--extra translation-cpuusage.Testing
uv run ruff check --fix, which failed due to inability to download the pinned CPUtorchwheel fromdownload.pytorch.orgduring environment sync.uv run mypy, which failed for the same reason related to dependency fetch errors for the pinnedtorchwheel.uv run pytest, which also failed because the environment sync attempted to fetch the pinned CPUtorchwheel and the download failed.Codex Task