Skip to content

v1.1.5

Latest

Choose a tag to compare

@kyocum kyocum released this 26 Jun 00:04
9dc6070

disdat v1.1.5 — Python 3.10–3.14 support

This release modernizes disdat-core to run on current Python and dependency
stacks. disdat now supports Python 3.10 through 3.14, verified by CI on
every supported version.

Highlights

  • Python 3.10–3.14 supported (dropped 3.9). The test suite passes on all
    five versions in CI.
  • Modernized dependencies — moved off the old pinned stack onto current
    major versions:
    • numpy >=1.24,<3.0 (now supports NumPy 2.x)
    • pandas >=2.0,<3.0
    • sqlalchemy >=2.0,<3.0 (migrated to the SQLAlchemy 2.0 API)
    • protobuf >=6.31.1,<7.0 (generated message code regenerated for modern
      protobuf)
    • boto3 >=1.34,<2.0
  • Packaging migrated to pyproject.toml (PEP 621) with uv; setup.py and
    build-dist.sh removed. Builds via uv build; version still derived from git
    tags via setuptools_scm.

Under the hood

  • Regenerated the protobuf hyperframe module; fixed removed NumPy 2.0
    aliases and ndarray.newbyteorder; ported all DB access to SQLAlchemy 2.0
    (mappings + explicit transactions); replaced pkgutil usage removed in 3.12
    and the urljoin file:// behavior changed in 3.14.
  • CI: GitHub Actions test matrix across 3.10–3.14; publish workflow
    modernized (build with uv, TestPyPI dry-run on manual dispatch, PyPI on
    release).
  • Tests are now self-initializing and auto-clean their contexts on failure.

Compatibility notes

  • Minimum Python is now 3.10.
  • This is disdat-core (no Luigi). The Luigi pipeline integration lives in
    the separate disdatluigi package.

Full changelog: PRs #212#218.