Releases: Mapika/inklet
Release list
Inklet 4.0.0.dev2 — clipping and rendering improvements
Inklet 4.0.0.dev2 improves the native plotting renderer and adds explicit painted windows. It also includes the compositing and vector-hatching improvements made since dev1.
- Curve clipping: open Bézier paths retain subdivided cubic segments at plot boundaries, including transformed curves and repeated exits/reentries.
- Painted windows:
inklet.window()crops images, text, markers, filled curves and rounded shapes consistently in SVG, PDF and PNG. Windows support nesting and transforms, survive document compilation, and carry visibility information into resolution and diagnostics. - Rendering quality: corrected PDF group opacity, PNG palette transparency and reusable vector hatching with independent borders and fill opacity.
- Performance evidence: about 2× faster clipping on the 50,001-point line workload; 61% smaller SVG and 53% smaller PDF for the smooth-curve fixture. Filled-band timings are roughly unchanged. Local measurements and reproducible scripts are included.
- Review material: an eight-panel clipping recipe, separate LaTeX caption, independent SVG/PDF coverage tests and documentation of geometry, layout and visibility semantics.
Install this development preview explicitly:
python -m pip install "inklet==4.0.0.dev2"3.1.0 remains the stable release. Experimental document APIs and saved-state formats can change between previews. Geometric clipping of filled curves still uses polygon samples; use window() to preserve their painted curves and fill topology.
Development preview · Clipping guide · Changelog
The wheel and source archive are attached with SHA256SUMS. Publishing uses these same verified files on PyPI.
Inklet v4.0.0.dev1 — Linked visual documents preview
The first installable Inklet 4.0 development preview collects the plotting and document work since 3.1.0. 3.1.0 remains the stable release.
Install the preview
python -m pip install "inklet==4.0.0.dev1"
# Optional browser exports and table adapters:
python -m pip install "inklet[render,pandas,polars]==4.0.0.dev1"Python 3.11 or later is required. The exact pin opts into the preview; ordinary stable installs continue to use 3.1.0.
What is included
- Offline linked figures: lines, scatter, signed bars, facets, date/UTC axes, shared selection and filtering, saved states, and SVG/canvas/hybrid rendering.
- Maps and reports: real GeoJSON geometry, linked regional analysis, distributions, supplied intervals, pandas/Polars adapters, and explicit data-revision reconciliation.
- Engineering and scientific views: drawings, box geometry and sections, dimensions, calibrated label/intensity images, exact image-region selection, and linked measurements.
- Mesh and grid fields: imported mesh correspondence, scalar/vector face fields, contours, steady 2D RK4 streamlines, masks, and termination reports. Complete examples include native fixed-camera 3D references.
- Plotting quality: shared numeric tick precision, measured axes and facet margins, clipping and signed-bar fixes, plus broader layout and rendering regression coverage.
Installation and complete examples · Full changelog · 4.0 roadmap
Preview boundaries
New document APIs live under inklet.experimental; signatures and saved-state schemas may change. Save the source data, recipe and exact package version with exported state. Browser revisions use compiled alternatives; standalone HTML does not run arbitrary Python callbacks.
General visual editing, undo/redo, depth-aware 3D selection, interactive camera control and the remaining 4.0 release gates are still open. Mesh picking currently uses plan views. Animation and presentation authoring remain a 5.0 direction.
Package validation
The release wheel and source archive passed strict Twine checks and isolated installation. Rebuilding the wheel from the source archive produced an identical SHA-256 hash. Local validation passed 4,311 tests (2 skipped), all 26 SVG/PDF visual baselines, complete-figure performance checks, strict documentation checks and the 20-panel stress test.
Release checks on the tagged commit passed, including Linux/Windows/macOS wheel installations, Python 3.11–3.13, minimum/current table adapters and Blender 4.2/4.5 CPU integration.
The attached SHA256SUMS covers both distributions. PyPI receives these exact GitHub release files through Trusted Publishing.
Inklet v3.1.0 — Plotting, rendering and layout
Inklet 3.1 improves plot appearance, rendering speed, diagram layout and documentation. Existing 3.0 authoring APIs remain supported.
- Plots: typed CSV input, measured axis fonts, separate tick/label sizes, compact legends, and opt-in vector-line reduction with a physical tolerance.
- Rendering and layout: faster dense raster scatter and repeated-image exports, improved geometry reuse, nested panel-letter spacing, compass cell alignment, and corrected PDF transparency bounds.
- Diagrams: measured module wrapping, better connector-label clearance, and faster pruning of contained routing obstacles.
- Documentation: task-oriented guides, section-filtered search, consistent cached navigation, and 65 previews generated directly from guide and cookbook code.
- Audit fixes: nested Cartesian/polar panel edits and large NumPy replacements now invalidate cached figures; numeric NumPy bar arrays draw correctly; automatic brackets clear bars regardless of endpoint order. Array inputs are copied when recorded; component factories receive read-only snapshots with shape and dtype preserved.
- Research preview: optional figure planning, calibrated microscopy, TIFF import, channel composites and per-label measurements under
inklet.experimental. These APIs and report schemas remain experimental and may change.
Default axis rules and legend layout have changed visually. Review regenerated figures and consult the 3.1 migration guide.
python -m pip install --upgrade inklet
# Include PNG exports and raster layers:
python -m pip install --upgrade 'inklet[render]'Python 3.11 or later is required. Numerical microscopy additionally needs inklet[volume]; ordinary plots and native 3D do not require it.
The attached wheel and source archive were checked in isolation, and rebuilding the wheel from the source archive produced an identical file. SHA256SUMS records the exact release files. The release commit checks cover complete figures, cross-platform wheels and Blender 4.2/4.5. GPU coverage remains limited to the documented local CUDA setup.
Inklet v3.0.0 — Scene rendering and vector annotations
Inklet 3.0 adds complete Blender scenes, GPU render jobs and world-space annotations to scientific figures. Plots, diagrams, text and measurements stay editable in SVG/PDF; scene renders are embedded as image layers.
Install or upgrade
python -m pip install --upgrade 'inklet[render]==3.0.0'The core package remains available as inklet==3.0.0. Blender is installed separately and is optional for ordinary plots and native vector 3D.
New in 3.0
- Complete
.blendscene rendering with authored materials, named cameras, view layers, data bindings and asset-aware caching. - Automatic GPU selection with CPU fallback when no GPU is available; cancellable queues, progress and bounded GPU concurrency.
- Depth, normal and object-ID passes, object masks, saved camera projection, and depth-tested vector paths.
- Editable scene labels, arrows, true world-space length dimensions and angle measurements.
- Three packaged scene templates: laboratory, product and architecture. The complex laboratory showcase combines 265 objects and twelve callouts with detail views and a plot.
- Browser-free PNG export through resvg, vector gradients/hatching and group blending, plus explicit raster layers and masks.
- Redesigned documentation and a 20-example gallery, with runnable recipes and asset provenance.
- Windows font-stack resolution fixed; installed-wheel checks cover Linux, Windows and macOS. Blender CPU integration runs against pinned 4.2 and 4.5 LTS builds.
Upgrading from 2.6
Existing plotting, document, preset and SVG/PDF APIs remain supported. The default review PNG renderer changes from Chromium to resvg: install the render extra, or select png_backend='chromium' to retain the previous renderer. Poppler remains optional for independent PDF previews. Legacy Grease Pencil vector line-art baking requires Blender 4.2 LTS; complete scenes also support the tested 4.5 build.
Upgrade guide · Support matrix · Gallery · Full changelog
Validation and artifacts
Release checks cover installed wheels on Python 3.11–3.13, Windows/macOS, both Blender LTS builds, complete-figure visual regressions, performance and the twenty-panel stress test. The release distributions also passed isolated core/render installation and strict Twine checks; the wheel was built from the source archive.
SHA256SUMS identifies the wheel and source archive attached here. These exact files are published to PyPI.
Inklet v2.6.0 — Presets
Inklet 2.6 adds presets for scientific figures, teaching materials and marketing graphics, with live switching that preserves explicit author styles and data provenance.
- Ten presets and seven independent physical formats, including journal columns, 16:9 slides, A4 worksheets and A1 posters.
- Validated, immutable overrides for typography, palettes, spacing, grids, legends, panel letters and export settings.
- Nature column presets check the 5–7 pt text range and 170 mm maximum figure height at export size. Science and Cell styles remain explicitly provisional because their primary requirements could not be verified.
- Mixed plots, diagrams, tables and native 3D examples across all ten styles, plus complete journal, slide and worksheet examples with tested SVG/PDF dimensions.
- Stable Read the Docs guides, version-correct source links and README links that work on PyPI. MIT copyright credits Mark Marosi.
Existing theme() and publication() defaults remain compatible.
python -m pip install --upgrade inkletPreset guide · Documentation · Changelog
Release validation includes the unit and integration suite, 26 unchanged SVG/PDF visual comparisons, performance budgets, the twenty-panel stress test, strict documentation builds, and isolated wheel installation on Python 3.11–3.13 in CI. The attached wheel and source archive are the exact files published to PyPI; SHA256SUMS lists their checksums.
Inklet v2.5.0
Inklet creates scientific figures from Python with live data, measured layout, native 3D artwork, and editable SVG/PDF exports.
This first public release includes:
- Nested multi-panel layouts and measured architecture diagrams.
- Scientific plots, shared scales, live datasets, and provenance records.
- Native 3D rendering and optional image and Blender support.
- SVG/PDF exports, local review pages, and layout diagnostics.
- Documentation, runnable examples, and a complete twenty-panel stress test.
Python 3.11 or later is required. Install the attached wheel directly:
python -m pip install https://github.com/Mapika/inklet/releases/download/v2.5.0/inklet-2.5.0-py3-none-any.whlAlternatively, download the wheel below and run python -m pip install inklet-2.5.0-py3-none-any.whl. The .tar.gz file contains the source distribution, examples, documentation, and tests. SHA256SUMS records the SHA-256 digest of each Python package.
Text rendering requires an installed font. Image layers and PNG review previews need the optional image dependencies; see the installation guide.
Quickstart · Documentation · Examples
Validation: 3,102 local tests passed, 26 visual comparisons matched their baselines, and the full twenty-panel stress test passed. GitHub CI passed, including wheel installation on Python 3.11, 3.12, and 3.13.
Inklet code is MIT licensed. Included third-party meshes and structure data retain the terms in THIRD_PARTY_NOTICES.md.