Skip to content

v0.3.1

Latest

Choose a tag to compare

@BurakUlver BurakUlver released this 29 Apr 18:52
· 3 commits to main since this release
50a2005

A hardening release: every public input is validated at the boundary, every validation failure raises InvalidRequestError. Existing call sites upgrade unchanged unless they catch TypeError for config errors or override DataxidClient.base_url.

Changed

  • Validation exception: all validation failures raise InvalidRequestError, which now inherits from DataxidError and ValueError. except ValueError keeps working; replace except TypeError with except InvalidRequestError for config errors.
  • HTTPS enforcement: DataxidClient.base_url must use https://, except for local-development hosts.

Added

  • Boundary validation: invalid inputs to public methods now fail before any network call or training step begins, with the offending parameter named on the exception.
  • ModelConfig validation: model_size and encoding_types rejected at construction time when given unknown values.
  • Table invariants: foreign keys cannot match the table's own primary key and self-references are rejected; synthesize_tables rejects malformed tables dicts.

Fixed

  • HTTP client: joins base_url and paths consistently regardless of trailing slashes; parses Retry-After in numeric and HTTP-date formats.
  • Logging: enable_logging() no longer crashes with AttributeError on non-string levels.
  • Decode pipeline: numeric-discrete decoding reaches the NULL_TOKEN path; a default rare-strategy interaction previously masked nulls.
  • Training metrics: loss recording preserves legitimate 0.0 values.

PyPI: https://pypi.org/project/dataxid/0.3.1/
Full Changelog: v0.3.0...v0.3.1