Releases: devkyato/Datary
Release list
Datary 0.2.4 — Zenodo presentation overhaul
Datary 0.2.4 - Zenodo presentation overhaul
Title: Datary: local-first terminal laboratory for reproducible program and simulation evidence
Summary
Publication and documentation quality release. Expands Zenodo/CITATION metadata, README navigation, and docs index without claiming new recording, analysis, plotting, or security behaviour. Regenerates the checked-in noisy-sensor example for 0.2.4 integrity hashes.
Install
python -m pip install https://github.com/devkyato/Datary/releases/download/v0.2.4/datary_lab-0.2.4-py3-none-any.whl
datary --versionCitation
- Concept DOI: https://doi.org/10.5281/zenodo.21849618
- See
CITATION.cffand.zenodo.json
Published by @dev.mako (devkyato), co-authored with Cursor Agent.
Datary 0.2.3 — Zenodo archival publication
Datary 0.2.3 - Zenodo archival publication
Title: Datary: local-first terminal laboratory for reproducible program and simulation evidence
Introduction
Datary is a local-first terminal laboratory for recording, validating, analysing, replaying, comparing, plotting, and reporting evidence emitted by programs and simulations. Input stays inert. Evidence stays on your machine.
Usage
python -m pip install https://github.com/devkyato/Datary/releases/download/v0.2.3/datary_lab-0.2.3-py3-none-any.whl
datary --version
datary record demo --format jsonl
datary inspect demo --quality
datary report demoApplications
- Simulation laboratories and coursework evidence packs
- Embedded/telemetry post-run analysis
- Reproducible student labs and grading artefacts
- Local experiment comparison without cloud telemetry
Discovery / citation
- Concept DOI: https://doi.org/10.5281/zenodo.21849618
- See
CITATION.cffand.zenodo.json - Keywords: reproducible research, simulation, CLI, Python, local-first, plotting, session recording
Connected software
OpenNet, TapAuth, LowPack, Relay, Custom Arduino Libraries, Arduino Programs Guide
Published by @dev.mako (devkyato), co-authored with Cursor Agent.
Datary 0.2.2 — /Datary path and bounded plots
Datary 0.2.2 - /Datary path and bounded plots
This release renames the public GitHub path to /Datary in project metadata and documentation, and closes the large-plot memory gap called out after 0.2.0.
Plotting now applies an explicit extrema-preserving bucket downsampler when a field exceeds --plot-max-points (default 5000). Canonical session records are unchanged. Each plot writes a sibling .meta.json file that states:
- algorithm name and parameters;
- original and plotted point counts;
- missing-marker counts; and
- whether global extrema were preserved.
Inspection prints that summary, and Markdown/JSON reports include it under the Plots section.
Install
python -m pip install https://github.com/devkyato/Datary/releases/download/v0.2.2/datary_lab-0.2.2-py3-none-any.whlThe distribution package name remains datary-lab for existing installers; the repository path is /Datary.
Published by @dev.mako (devkyato), co-authored with Cursor Agent.
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.