Releases: devkyato/datary-lab
Release list
Datary 0.2.1 — checked-in evidence integrity
Datary 0.2.1 — checked-in evidence integrity
Oh! The final post-publication check caught a platform detail worth fixing immediately. Python's CSV writer emitted CRLF on Windows, then Git normalized tracked text to LF. The example still parsed, but its data.csv bytes no longer matched the SHA-256 recorded before the commit.
I did not want to explain that away as “only an example.” An example session is evidence too. Datary 0.2.1 makes every CSV-producing path choose LF explicitly, regenerates the example, and adds a byte-level regression assertion. A fresh merged checkout now passes datary doctor and verifies the example session exactly.
What changed
- recorder, converter, and generator CSV output use an explicit LF line terminator;
- the checked-in example session and reports were regenerated with Datary 0.2.1;
- the recorder test now asserts that session
data.csvcontains no CRLF bytes; - README, changelog, package version, and release narrative point to 0.2.1.
Verification
- 87 tests pass with 79.75% measured coverage and a 75% enforced floor;
- strict Mypy and Ruff pass;
- all 11 GitHub jobs passed across Python 3.9–3.14, Linux, Windows, and macOS;
- the clean wheel records a session whose CSV uses LF and whose integrity verifies;
- the merged repository example passes
datary doctor; - the merged tree exactly matches the tree that passed CI.
See PR #14, the changelog, and the focused release note.
Install
python -m pip install https://github.com/devkyato/datary-lab/releases/download/v0.2.1/datary_lab-0.2.1-py3-none-any.whlRelease artefacts
datary_lab-0.2.1-py3-none-any.whl— SHA-256c32ca01df83b9ef1356ae7ac9057107876e7a5bdca463db5c8c42a5d1f523a75datary_lab-0.2.1.tar.gz— SHA-256226710bfbaa565c4ffe7fff06a9975a55f9abe0c12c178e3f869a056b586c8c7SHA256SUMS— machine-readable checksum list
This remains an alpha prerelease. All correctness, streaming, parser, security, and documentation work from 0.2.0 is unchanged; this patch closes the final checked-in evidence mismatch found by the release audit.
Datary 0.2.0 — corrective audit release
Datary 0.2.0 — corrective audit release
I treated this release differently from an ordinary feature update. The critique was right about the central point: a tool that calls its output reproducible evidence has to be especially careful about mathematics, provenance, and failure behavior. So I froze feature work and followed the evidence from input bytes through parsing, analysis, reports, package builds, and the release artefacts themselves.
Oh! On the statistics point, the old implementation really did sort values too early. Datary now keeps observation order for adjacent differences and net change, while using a separate sorted copy only for percentiles. Independent regression cases lock that behavior down.
I thought too on the integrity point that wording matters as much as implementation. Sessions reject symlinked trusted artefacts before resolution, hash malformed-record evidence, publish a detached manifest checksum, and perform structural verification. These hashes detect accidental corruption; they do not authenticate authorship.
What changed
- disk-backed, bounded-memory recording and conversion analysis;
- recoverable overwrite publication that preserves the last good session on failure;
- conservative parsing, multiline CSV/TSV, incremental bounded JSON arrays, BOM consistency, duplicate-key rejection, and non-finite-number evidence;
- corrected ordered statistics, ISO 8601 timing, stronger quality evidence, and validated control/network metrics;
- honest comparison output with counts, missingness, spread, units, sampling rates, and shared time ranges;
- contained plot/report paths, Markdown and terminal escaping, spreadsheet-safe CSV convenience exports, and atomic output publication;
- typed package metadata, session format 2, regenerated examples, issue templates, Dependabot, and cross-platform CI.
Verification
- 87 tests pass with 79.75% measured coverage and a 75% enforced floor;
- strict Mypy passes across 38 source files;
- Ruff check and format check pass;
- a generated 50,000-record run stays under the 32 MiB Python-heap regression ceiling;
- deterministic hostile-input, overwrite-recovery, symlink, formula, malformed-manifest, and path-traversal cases pass;
- wheel and source distribution reproduce byte-for-byte under a fixed build epoch;
- a clean wheel installation passes the complete README demonstration;
- PNG and SVG plotting are verified on Matplotlib's headless Agg backend;
- all 11 GitHub jobs passed on Python 3.9–3.14 across Linux, Windows, and macOS.
See PR #8, the changelog, and the full release narrative.
Install
python -m pip install https://github.com/devkyato/datary-lab/releases/download/v0.2.0/datary_lab-0.2.0-py3-none-any.whlFor plotting, install the wheel and then matplotlib>=3.7, or install datary-lab[plot] when it is available from a package index.
Release artefacts
datary_lab-0.2.0-py3-none-any.whl— SHA-25637a71927e4ec74d07acf35cc224ed2dd78fe0ccb2dd0c238c6dc77e753784cd0datary_lab-0.2.0.tar.gz— SHA-2560f0323a5431f9c15d033c1362d29fb3e524eb2fb90c68be1b9d8dd75f11cafe4SHA256SUMS— machine-readable checksum list
Honest alpha boundaries
Datary does not yet authenticate session authorship, convert physical units, resample comparison series, or downsample very large plots. Those limits are documented and tracked instead of being hidden behind a confident-looking result.
Thank you for the hard critique. It made Datary smaller in its claims and much stronger where those claims matter.
Datary 0.1.3 — The project story
I thought about how Datary was being introduced, and the technical details were correct—but the project did not yet sound like one person explaining why they built it. Version 0.1.3 fixes that. The README now tells the story from loose terminal output to reproducible evidence, explains how I think about a run, and makes the comparison, privacy, and limitation choices feel intentional. Oh! The reference material still stays precise: commands, file layouts, assumptions, metrics, and security boundaries have not been softened or hidden. Architecture, reproducibility, tutorials, privacy, and contribution guidance now carry the same clear personal voice. This release passed 44 tests, Ruff, strict Mypy, deterministic generation, Python 3.9–3.14 CI, package builds, the README workflow, and clean-wheel installation.
Datary 0.1.2
Datary 0.1.2 adds opt-in engineering data-quality expectations without guessing domain intent. The typed inspection API and terminal CLI now support configurable monotonicity and counter-reset analysis through repeatable --monotonic-field and --counter-field options. Findings remain deterministic and include evidence, thresholds, assumptions, explanations, and suggested investigation. Validated with 42 passing tests on Python 3.9 through 3.14, Ruff, strict Mypy, reproducibility checks, package builds, CLI demonstrations, and clean-wheel installation.
Datary 0.1.1
Datary 0.1.1 is a packaging and release-metadata maintenance release. It adds canonical project links to installed distribution metadata, repository status badges, and automated package/runtime version consistency coverage. It retains the verified Python 3.9 report compatibility fix. Validated on Python 3.9 through 3.14 with Pytest, Ruff, strict Mypy, reproducibility checks, package builds, CLI demonstrations, and clean-wheel installation.
Datary 0.1.0
Changelog
0.1.0 - 2026-07-29
- Initial release-ready alpha with recording, inspection, comparison, replay, reports, conversion,
deterministic generators, headless plots, integrity verification, and typed Python API.