diff --git a/CHANGELOG.md b/CHANGELOG.md index bf5887ec..a1b19657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,23 @@ All notable changes to SciTeX will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Changed +- **scitex.media re-export points at `scitex_etc.media`** — ADR-0001 + executed. `scitex.media` is media-reference detection/display for + chat-pane / terminal / markdown targets (`render.classify` / + `render.detect` / `render.show`, plus a CLI and an MCP server); it ships + in `scitex-etc >=0.3.0` alongside `count_grids` / `yield_grids` / + `search`. + - `scitex-etc>=0.3.0` is required at all three pin sites (top-level core + deps, the `[etc]` extra, the `[all,dev]` aggregate). + - Replaces an earlier draft that had attempted a different routing — + semantically wrong: media is chat/terminal/markdown handling, not + figure rendering. + - `_DEFAULT_BRANDED` and the lazy-module loader both now point `media` + at `scitex_etc.media`. + ## [2.30.0] - 2026-05-31 ### Changed diff --git a/docs/adr/0001-relocate-media-to-scitex-etc.md b/docs/adr/0001-relocate-media-to-scitex-etc.md index e085a166..7462be74 100644 --- a/docs/adr/0001-relocate-media-to-scitex-etc.md +++ b/docs/adr/0001-relocate-media-to-scitex-etc.md @@ -1,8 +1,17 @@ -# 0001 — Relocate `scitex.media` out of the umbrella (future work) +# 0001 — Relocate `scitex.media` out of the umbrella ## Status -Proposed (deferred) — 2026-05-30. +**Executed — 2026-06-07.** `scitex.media` now re-exports +`scitex_etc.media` (shipped in scitex-etc >=0.3.0). The in-tree +`src/scitex/media/` directory was deleted in an earlier umbrella-thinning +pass; the umbrella holds only the lazy alias. Confirmed semantic fit: +`scitex.media` is chat-pane / terminal / markdown media-reference +detection & display (`render.classify`, `render.detect`, `render.show`, +plus a CLI and an MCP server), which is the cross-cutting kind of helper +`scitex-etc` is for. + +Original status: Proposed (deferred) — 2026-05-30. ## Context diff --git a/pyproject.toml b/pyproject.toml index fd9a2ef1..459984d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -82,7 +82,9 @@ dependencies = [ "scitex-path==0.1.7", "scitex-repro==0.1.6", "scitex-compat==0.1.8", - "scitex-etc==0.2.0", # media shipped here; scitex.media re-exports scitex_etc.media + # scitex-etc owns count_grids/yield_grids/search and the media submodule + # (ADR-0001 executed): scitex.media re-exports scitex_etc.media. + "scitex-etc>=0.3.0", "scitex-genai==0.1.0", "scitex-gists==0.1.7", "scitex-audit==0.1.7", @@ -98,7 +100,6 @@ dependencies = [ "scitex-os==0.1.7", "scitex-security==0.1.4", "scitex-tex==0.1.7", - "figrecipe==0.28.20", "scitex-ui==0.5.1", ] @@ -353,11 +354,10 @@ gen = [ # "torch", ] -# Etc Module - Miscellaneous utilities +# Etc Module - Miscellaneous utilities (count_grids, yield_grids, search, media) # Use: pip install scitex[etc] etc = [ - "readchar", - "scitex-etc==0.2.0", + "scitex-etc>=0.3.0", ] # Events Module - Event system @@ -439,8 +439,9 @@ logging = [ "scitex-logging==0.1.7", ] -# Media Module - Media display utilities (always available: scitex-etc is a -# core dep). scitex.media re-exports scitex_etc.media (shipped in >=0.2.0). +# Media Module - Media display utilities. scitex.media re-exports +# scitex_etc.media (shipped in scitex-etc >=0.3.0) — ADR-0001 executed. +# scitex-etc is already a core dep so this extra is a no-op shortcut. media = [] # ML Module - Machine learning @@ -533,7 +534,7 @@ plt = [ "pyyaml", "joblib", "ruamel.yaml", - "figrecipe==0.28.20", + "figrecipe>=0.16.0", ] # Project Module - Project management (OPTIONAL peer: scitex-hub.project) @@ -834,7 +835,7 @@ dev = [ "crossref-local", "csv2latex", "feedparser", - "figrecipe==0.28.20", + "figrecipe>=0.16.0", "flask>=2.0.0", "geom_median", "GitPython", @@ -925,7 +926,7 @@ dev = [ "scitex-container==0.2.1", "scitex-dataset==0.3.10", "scitex-dev==0.17.4", - "scitex-etc==0.2.0", + "scitex-etc>=0.3.0", "scitex-genai==0.1.0", "scitex-io==0.2.20", "scitex-notification==0.2.8", diff --git a/src/scitex/__init__.py b/src/scitex/__init__.py index 8e5afa0f..2293e4f8 100755 --- a/src/scitex/__init__.py +++ b/src/scitex/__init__.py @@ -162,7 +162,7 @@ events = _LazyModule("events", external="scitex_events") # Event system media = _LazyModule( "media", external="scitex_etc.media" -) # in-tree dir removed; shipped in scitex-etc (>=0.2.0) +) # in-tree dir removed; shipped in scitex-etc (>=0.3.0) — ADR-0001 executed. # `project` is an OPTIONAL peer proxying scitex_hub.project (scitex-hub is NOT a # hard dep). A missing scitex-hub raises a friendly install hint on first access. project = _LazyModule("project", external="scitex_hub.project") diff --git a/src/scitex/re_export.py b/src/scitex/re_export.py index 6e313af8..a24f1cbf 100755 --- a/src/scitex/re_export.py +++ b/src/scitex/re_export.py @@ -245,7 +245,7 @@ def __repr__(self): "ml": "scitex_ml", "genai": "scitex_genai", "etc": "scitex_etc", - "media": "scitex_etc.media", # in-tree dir removed; shipped in scitex-etc (>=0.2.0) + "media": "scitex_etc.media", # in-tree dir removed; shipped in scitex-etc (>=0.3.0) — ADR-0001 executed. "gists": "scitex_gists", "audit": "scitex_audit", "compat": "scitex_compat",