Repository navigation
Fullbleed 2.6.0a12 - Python component namespace and migration
Pre-releaseFullbleed 2.6.0a12 introduces fullbleed.components as the intended public namespace for the new Python authoring API. Its complete migration kit shows two complete implementations producing the same A5 portrait and Letter landscape reports, including styles, page geometry, metadata and explicit renderer settings.
Install this opt-in alpha with Python 3.10 or later in a virtual environment:
python -m pip install --pre "fullbleed==2.6.0a12"from fullbleed.components import Document, Paragraph
document = Document(Paragraph("Hello, Fullbleed."))
styled_html = document.to_html(include_styles=True)
plain_html = document.to_html(include_styles=False)Use include_styles=True for embedded component, theme and selector CSS. False preserves content and literal class names for a host stylesheet. The default to_html() keeps the separate-CSS form used with to_css(). The migration example now checks its actual saved HTML, including the embedded stylesheet; Chromium checks also verify the styled appearance and host styling of the unstyled export.
The earlier fullbleed.ui.experimental path exposes the same objects. Existing fullbleed.ui imports and its Document decorator remain supported. Static Bootstrap helpers are available at fullbleed.components.bootstrap; no Bootstrap JavaScript is added. Read the import and migration reference for ownership of styles, geometry, metadata and fonts.
The API remains alpha while kit-composition conventions and independent author feedback remain open. Ordinary pip install fullbleed still selects 2.5.34. The earlier alpha 11 showcase and styling tutorial retain their original package pins. Share a concrete editing experience in the component RFC.
Retained verification covers:
- 980 local Python tests, including 374 focused component tests; both import paths pass mypy/Pyright diagnostics and 24 real language-server completion checks each.
- The complete migration's four PDFs: three pages per report, exact text/pixel comparisons, metadata, repeat bytes and no missing glyphs. The source ZIP also renders in a fresh environment with Fullbleed alone.
- Final-source CI and release qualification. The release has 40 successful jobs; its dedicated PDF/VT validator job is skipped.
- All 15 public wheels and the source archive match the qualified release artifacts. A fresh PyPI installation reproduces the migration, native Flow/page-band output and generated HTML, and verifies stable default resolution.
The independent CSS corpus remains 1,623 PASS, 21 FAIL, and 18 REFERENCE-DISPUTED. Every verdict and all 7,437 saved PDF/PNG outputs match the qualified alpha 11 baseline. The full-corpus gate remains failing; references, comparator and thresholds are unchanged. These results do not establish complete CSS conformance, browser/PDF layout equivalence or accessibility for arbitrary documents.
Source commit: 2d594562704d4c1bf904d1edb45986f32d3016cf. The attached evidence and checksums retain the package and saved-output identities.