v0.1.5

Published Jun 15, 2026

Bug Fixes

  • library: Accept dict descriptor in validate_dataset (aa40290)

A dict argument fell through to normalize_dataset and raised AttributeError; coerce it and return the structured report instead.

Fixes #15

  • library: Infer data schema from top-level JSON arrays (67f813c)

Load JSON data via json.loads instead of the descriptor parser, which rejected any non-object top-level value.

Fixes #12

  • metadata: Accept object integrity in dataset profile (236591b)

The dataset profile declared integrity as a string while the model and every emitter use the object form, so inferred datasets never validated.

Fixes #13

  • table: Infer file dialect for json and jsonl (7c0b9fb)

JsonPlugin was missing an infer_file_dialect override, so data infer-dialect could not detect .json/.jsonl files.

Fixes #14

  • terminal: List dataset resources via model coercion (1754eed)

load_dataset returns a descriptor dict, so getattr(dataset, "resources") was always None. Coerce to a Dataset model before listing resource names.

Fixes #11

Chores

  • Ignore .worktrees directory (69b91a9)

Documentation

  • Point remote dataset example at a fairspec descriptor (16856c0)

The previous URL was a Frictionless data package incompatible with the fairspec profile; also wrap load_dataset output in Dataset.model_validate.

Fixes #16

Testing

  • Use ascii fixture in dataset round-trip spec (7c266d0)

write_text used the platform default encoding, so the non-ascii content failed on Windows (cp1252). The round-trip test does not need unicode.

Fixes #13

  • Write round-trip fixture as bytes to avoid CRLF on windows (8012e1d)

write_text translates \n to os.linesep, so on Windows the CRLF corrupted type inference (name -> [string, null]) and failed profile validation. write_bytes writes identical LF content on every platform.

Fixes #13

Detailed Changes: v0.1.4...v0.1.5

Created with and Livemark