Release notes
Tabalyst is in beta. Interfaces and JSON formats may change between releases;
update with pip install --upgrade tabalyst. Each JSON format has its own
changelog: profile,
scan and
Inspect. The full release notes of
each version are on
GitHub.
Makes the choice of a table or collection easier, and reorganizes the documentation.
- When a JSON file or workbook has several equally plausible collections,
report,scanandinspectprint one command per choice, ready to copy:tabalyst report shop.xlsx --collection Costs. The short form of--collectionis used whenever the name is plain. tabalyst report --all-collectionsreports every visible collection of a JSON file or workbook, as<name>.<collection>.htmland.json.-dis optional for one file and required for several.- An option that a kind of file cannot use, such as
--delimiteron a workbook, is ignored with a warning. - The report header says “Report” and the report links to the documentation.
- The documentation has a page per command in the command line reference and
per area in the Python API reference, and the first pages moved under
get-started/(the old addresses redirect). No JSON format changed.
Adds Excel workbooks and relicenses the code under MPL-2.0.
tabalyst inspect,scanandreportread.xlsxand.xlsmworkbooks. Inspect lists the sheets and named tables as candidates and selects one when it is clearly the largest;dataset_path($.Sheetor$.Sheet.Table) andheader_rowchoose the table.- Profile format revision 11 and scan format revision 6: stored scans of an
older revision are replaced by
tabalyst scanandtabalyst report. The Inspect format gains theexcelkind without a revision change. - The code is now licensed under MPL-2.0; the documentation stays CC BY 4.0.
Chooses a JSON collection from report, and from inspect’s own output.
tabalyst reportgains--collection, astabalyst scanhas it. It outranks the Inspect file and the configuration, and cannot be used with--scan.--collectionaccepts a short form:data.itemsstands for$.data.items[],.for the root array$[], and a key made of digits, such asgroups.121, is accepted as it is.- When several collections are equally plausible,
tabalyst inspectprints one ready-to-runtabalyst reportcommand per collection. - The report theme button cycles auto (the system preference, now the default), light and dark.
Adds Tabalyst Inspect and JSON Lines support.
tabalyst inspectfinds the collection of records of a.json,.jsonlor.ndjsonfile and writes an editable<source>-inspect.json. Itsconfigsets the collection, the flattening of nested objects, the arrays mode and the error policy. Scan and Report apply it.- When several collections are equally plausible, or none is usable,
scanandreportstop with exit code2and list the candidates. - JSONL sources can be scanned and reported. A bad line is excluded, counted and
located by default;
errors.policy: strictstops at the first one. - A stored scan is reused only when the full source content, the effective configuration and the Tabalyst version are unchanged.
- New Python functions
tabalyst.inspect()andtabalyst.generate_inspections(). On Windows, Tabalyst expands wildcards itself. - Compatibility.
tabalyst scanwithout-oor-dno longer writes<stem>.scan.jsonbeside a JSON source. A JSON file with a single object or a scalar root has no dataset. Formats: scan revision5, profile revision10, Inspect revision1; documents of 0.4.4 must be generated again.
Restores fast default CSV scans. tabalyst scan stores a reusable scan.json
without building a DuckDB database, and tabalyst report reuses it. Adds
tabalyst report --details, one standalone HTML page per column.
First beta release. Adds tabalyst cache info and tabalyst cache clean for
the disposable query caches of DuckDB projects.
Several times faster scans on large files: batched detection, and worker
processes for files of 16 MiB or more (--workers).
Adaptive detection (scan.detection.warmup_values, scan.detection.probe_interval)
for columns with many distinct values, and a report time that includes the scan.
Introduces Tabalyst Scan, a streaming analysis engine for CSV and JSON, and
rebuilds Tabalyst Report on it: reports for JSON files, bounded memory, no
pandas. Adds tabalyst scan, the detectors and the scan configuration
section.
Introduces Tabalyst Sample: tabalyst sample with first, last, random and
stratified methods, --rows, --percent and --seed.
Command-oriented toolkit: tabalyst report INPUT... [OPTIONS], automatic report
names, several inputs and wildcards, -d/--output-dir, batch preflight checks,
progress on standard error and the generate_reports() API.
First packaged releases: tabalyst.analyze(), the HTML report and the JSON
profile, executions.json, and the refreshed report design of 0.1.2.