Commit History
-
docs+test: the 6.x call site does not fail silently — withdraw the "dead CSS" finding
Annie Voigt +1: Claude Opus 5This package was built on the premise that gradio 6.x silently drops `Blocks(theme=…, css=…)`, that no call site works on both majors, and that `pdac-genomics-agent` is shipping dead CSS because of it. All three are wrong. gradio 6.0 DEPRECATED the two arguments on `Blocks`; it did not remove them. `__init__` stashes the value in `_deprecated_theme` / `_deprecated_css` and warns, and `launch()` back-fills it (`css = css if css is not None else self._deprecated_css`, 6.18 `blocks.py:2728`). Measured against both pins: Blocks(theme=, css=) launch(theme=, css=) gradio 5.50 accepted, warns TypeError — declares neither gradio 6.18 accepted, warns, SERVED accepted So `Blocks()` is the form that works on BOTH majors and `launch()` is the 6.x-only one — the reverse of what every file here said. Nothing can lose a stylesheet without raising or warning. The guidance does not change: still `launch()` on 6.x. Only the reason does — forward p…4c64950 -
feat: bcc-ui-theme 0.1.0 — shared Gradio theme + stylesheet for the fleet
Annie Voigt +1: Claude Opus 5A behaviour-free package: a gr.themes.Base subclass and a stylesheet, so the six customer-facing apps read as one product. Created out of the fleet UI inventory (pdac-analysis-orchestrator/docs/design/fleet-ui-inventory.md). Verified on gradio 5.50.0 (py3.11) AND 6.18.0 (py3.13): 46 tests green on both, plus a real served-page check that the stylesheet is actually delivered. The theme uses only Base.set() keywords present in both — 5.50's 262 are a strict subset of 6.18's 267, so 5.50 binds, and the portable-keyword test checks against the INSTALLED gradio so `make test-both` is the proof. Two facts measured rather than assumed, both load-bearing: - The theme/css call site is version-dependent and there is NO line that works on both majors. gradio 5.50: Blocks() only (launch() has no **kwargs, so the 6.x form raises). gradio 6.18: launch() only — Blocks() silently absorbs the argument into **kwargs, warns into a build log, and stores css=None. - That silent drop is live in the…89e8390