release: 0.2.2 — raise Hotdata SDK ceilings - #12
Conversation
Allow hotdata<0.10 and hotdata-framework<0.15 so consumers resolve the newest coherent pair (hotdata 0.9.1 + framework 0.14.0). Verified with the full offline suite (75 passed), ruff, mypy, and a live-workspace dbt run/test.
| # declare their own compatible hotdata range, so the resolver picks a | ||
| # coherent pair within these bounds. | ||
| "hotdata>=0.8.0,<0.10", | ||
| "hotdata-framework>=0.9.0,<0.15", |
There was a problem hiding this comment.
nit: add a CI job that runs uv sync --resolution lowest-direct before pytest. The extra job keeps the wide range intact and exercises the floors.
.github/workflows/ci.yml:20 runs plain uv sync against uv.lock, so CI tests only hotdata 0.9.1 + framework 0.14.0. Before this change the lock sat on framework 0.9.0, which equalled the declared floor. After this change the declared floors, hotdata 0.8.0 and framework 0.9.0, stay unexercised across five framework minors.
Failure scenario: a later commit calls an API added in framework 0.11. CI stays green on 0.14.0. A consumer whose environment caps hotdata-framework at 0.9.x installs dbt-hotdata, and the adapter raises ImportError or AttributeError on the first model. (not blocking)
| @@ -1 +1 @@ | |||
| version = "0.2.1" | |||
| version = "0.2.2" | |||
There was a problem hiding this comment.
super nit: add a test asserting this version string equals the pyproject.toml version. No check ties the two strings today, and .github/workflows/release.yml:15-22 compares the git tag against pyproject.toml only. A future bump that misses this file publishes a wheel where dbt --version reports a stale adapter version. (not blocking)
Summary
hotdata>=0.8.0,<0.10andhotdata-framework>=0.9.0,<0.15, letting consumers resolve the newest coherent pair — currently hotdata 0.9.1 + framework 0.14.0 (framework releases declare their own compatible hotdata range, so the resolver stays coherent within these bounds)Testing
With hotdata 0.9.1 + hotdata-framework 0.14.0:
pytest: 75 passedruff check/ruff format --check/mypy: cleanAfter merge: tag
v0.2.2to publish to PyPI.