refactor(umbrella): thin to coordinator+namespace — media/cloud/module/project→owners, drop utils + umbrella linter (Phase B)#308
Merged
Conversation
…e/project→owners, drop utils + umbrella linter (Phase B) Reduce the umbrella to coordinate + namespace only by deleting in-tree logic dirs and aliasing to their released owners. - media: delete src/scitex/media/; alias to scitex_etc.media (hard dep, EXTERNAL_REEXPORTS); bump scitex-etc>=0.2.0 at all sites. - linter: delete _linter_plugin.py + linter.py; remove the linter lazy module + scitex_dev.linter.plugins / scitex_linter.plugins entry points. STX-I/STX-S rules now ship in scitex-dev>=0.16.0; the channel is scitex.dev.linter. Bump scitex-dev>=0.16.0 at all sites. - utils: delete src/scitex/utils/ (no real importers; was already a thin re-export aggregator over scitex-io/etc/notification). Drop the utils extra and its [all] self-ref. - cloud/module/project: delete in-tree dirs; register as OPTIONAL peers aliasing scitex_hub (+ .module / .project). scitex-hub stays out of [all] so CI's matrix skips them. _CallableModuleWrapper gains `external=` so scitex.module(...) callability is preserved while proxying scitex_hub.module; a missing scitex-hub raises a friendly install hint instead of crashing import. Add [cloud]/[hub]/[module]/ [project] extras pinning scitex-hub>=0.19.0. - skills: orphaned _skills/ under the deleted dirs go with them. - tests: delete tests/media/ (owned by scitex-etc); prune now-dead in-tree-only / scitex_cloud / scitex_linter entries from the cross-package import gate. Net: 52 files, +92 / -3871.
scitex-hub (>=0.19.0) is an unreleased optional peer (powers cloud/
module/project). Listing it in the [dev] bundle broke CI's
`uv pip install -e .[all,dev]` resolve (no PyPI candidate), which
silently fell through to plain `-e .` — leaving pytest uninstalled
("pytest: command not found"). Keep scitex-hub only in the opt-in
[cloud]/[hub]/[module]/[project] extras, never in [all] or [dev].
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Phase B — umbrella thinning
Reduce the umbrella to coordinate + namespace only by deleting in-tree logic dirs and aliasing to their released owners.
Changes
mediasrc/scitex/media/EXTERNAL_REEXPORTS["media"]="scitex_etc.media"+_LazyModule(external=...);scitex-etc>=0.2.0linter_linter_plugin.py+linter.py, drop lazy module + 2 entry-pointsscitex.dev.linter(→scitex_dev.linter); STX-I/STX-S ship inscitex-dev>=0.16.0utilssrc/scitex/utils/cloudsrc/scitex/cloud/scitex_hubvia_DEFAULT_BRANDED+_LazyModule(external="scitex_hub")modulesrc/scitex/module/scitex_hub.module;_CallableModuleWrappergainedexternal=soscitex.module(...)callability is preservedprojectsrc/scitex/project/scitex_hub.projectOptional-peer degradation (scitex-hub absent)
import scitexstays clean;scitex.cloud/.projectraise the friendly_make_missing_peer_stubinstall hint on attribute access;scitex.module(...)raises anImportErrorwith the same install hint. scitex-hub is kept out of[all]so CI's matrix skips cloud/module/project.Pins bumped
scitex-dev→>=0.16.0(core dep,devextra,linterextra)scitex-etc→>=0.2.0(core dep,etcextra,devextra)[cloud]/[hub]/[module]/[project]extras pinscitex-hub>=0.19.0devextra:scitex-cloud→scitex-hub>=0.19.0Verification
python -c "import scitex"clean.scitex.media→scitex_etc.media;scitex.dev.linterresolves;scitex.cloud/.module/.projectresolve to scitex_hub when present, give install hint when absent.tests/integration/test_cross_package_imports.py: 165 passed / 31 skipped.tests/test_integration.py+tests/test_skills_quality.py: 41 passed / 1 xfailed.DO NOT MERGE — open for review.