Skip to content

Releases: devkyato/datary-lab

Datary 0.2.1 — checked-in evidence integrity

Choose a tag to compare

@devkyato devkyato released this 29 Jul 14:04
f851d65

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.csv contains 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.whl

Release artefacts

  • datary_lab-0.2.1-py3-none-any.whl — SHA-256 c32ca01df83b9ef1356ae7ac9057107876e7a5bdca463db5c8c42a5d1f523a75
  • datary_lab-0.2.1.tar.gz — SHA-256 226710bfbaa565c4ffe7fff06a9975a55f9abe0c12c178e3f869a056b586c8c7
  • SHA256SUMS — 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

Choose a tag to compare

@devkyato devkyato released this 29 Jul 13:52
a46555a

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.whl

For 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-256 37a71927e4ec74d07acf35cc224ed2dd78fe0ccb2dd0c238c6dc77e753784cd0
  • datary_lab-0.2.0.tar.gz — SHA-256 0f0323a5431f9c15d033c1362d29fb3e524eb2fb90c68be1b9d8dd75f11cafe4
  • SHA256SUMS — 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

Pre-release

Choose a tag to compare

@devkyato devkyato released this 29 Jul 06:51
b2e33fa

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 Pre-release
Pre-release

Choose a tag to compare

@devkyato devkyato released this 29 Jul 06:29
2198511

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 Pre-release
Pre-release

Choose a tag to compare

@devkyato devkyato released this 29 Jul 06:22
2857fdf

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

Datary 0.1.0 Pre-release
Pre-release

Choose a tag to compare

@devkyato devkyato released this 29 Jul 06:11

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.