Skip to content

Commit 39bb73d

Browse files
authored
chore: rename package hotdata-runtime → hotdata-framework (#26)
* chore: rename package hotdata-runtime → hotdata-framework Distribution renamed to hotdata-framework, import package to hotdata_framework. Repo is now sdk-python-framework. Added PyPI classifiers/keywords/description marking it as a Python framework. * docs: add changelog entry for rename --------- Co-authored-by: Eddie A Tejeda <669988+eddietejeda@users.noreply.github.com>
1 parent c702e52 commit 39bb73d

24 files changed

Lines changed: 80 additions & 52 deletions

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
runs-on: ubuntu-latest
5757
environment:
5858
name: pypi
59-
url: https://pypi.org/p/hotdata-runtime
59+
url: https://pypi.org/p/hotdata-framework
6060
permissions:
6161
id-token: write
6262
steps:

CHANGELOG.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
- **Renamed the distribution from `hotdata-runtime` to `hotdata-framework`** and the import package from `hotdata_runtime` to `hotdata_framework`. Consumers should depend on `hotdata-framework` and use `import hotdata_framework`. The GitHub repository is now `sdk-python-framework`.
13+
- Added PyPI classifiers, keywords, and an updated description identifying the project as a Python framework.
14+
1015
## [0.3.0] - 2026-06-22
1116

1217
### Added
1318

1419
- Adopt the `hotdata` 0.4.1 SDK surface.
15-
- New typed error-handling public API: `HotdataError`, `HotdataTerminalError`, `HotdataTransientError`, and `classify_sdk_error` (`hotdata_runtime/errors.py`).
16-
- `ManagedDatabaseClient` for managed database operations (`hotdata_runtime/managed_client.py`).
20+
- New typed error-handling public API: `HotdataError`, `HotdataTerminalError`, `HotdataTransientError`, and `classify_sdk_error` (`hotdata_framework/errors.py`).
21+
- `ManagedDatabaseClient` for managed database operations (`hotdata_framework/managed_client.py`).
1722
- `py.typed` marker so downstream consumers pick up inline type information.
1823

1924
### Changed

CONTRACT.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# hotdata-runtime Contract
1+
# hotdata-framework Contract
22

3-
`hotdata-runtime` is the framework-agnostic runtime contract for Hotdata integrations.
3+
`hotdata-framework` is the framework-agnostic runtime contract for Hotdata integrations.
44

55
## Scope
66

@@ -36,7 +36,7 @@ The supported import surface is:
3636
- `DEFAULT_SCHEMA`
3737
- `is_parquet_path`
3838

39-
Adapters should import from `hotdata_runtime` and treat this surface as the stable API.
39+
Adapters should import from `hotdata_framework` and treat this surface as the stable API.
4040

4141
## Semantic Guarantees
4242

@@ -93,7 +93,7 @@ They should not duplicate runtime env/workspace/query semantics.
9393

9494
## Runtime Non-Goals
9595

96-
`hotdata-runtime` does not define framework UI primitives and does not require framework dependencies.
96+
`hotdata-framework` does not define framework UI primitives and does not require framework dependencies.
9797

9898
## Versioning Policy
9999

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# hotdata-runtime
1+
# hotdata-framework
2+
3+
**A Python framework for building Hotdata integrations.**
24

35
Shared runtime primitives for Hotdata integrations: workspace/session semantics, execution context, query state, run history, and replayable result handles. Framework packages (Marimo, Jupyter, Streamlit, LangGraph) depend on this package.
46

@@ -19,8 +21,8 @@ Runtime boundary and guarantees are defined in `CONTRACT.md`.
1921
Install:
2022

2123
```bash
22-
uv pip install hotdata-runtime
23-
# or: pip install hotdata-runtime
24+
uv pip install hotdata-framework
25+
# or: pip install hotdata-framework
2426
```
2527

2628
Example:

examples/basic_usage.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
"""Basic hotdata-runtime usage."""
1+
"""Basic hotdata-framework usage."""
22

3-
from hotdata_runtime import from_env
3+
from hotdata_framework import from_env
44

55

66
def main() -> None:
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
from importlib.metadata import PackageNotFoundError, version
44

5-
from hotdata_runtime.client import (
5+
from hotdata_framework.client import (
66
HotdataClient,
77
ResultSummary,
88
RunHistoryItem,
99
from_env,
1010
)
11-
from hotdata_runtime.databases import (
11+
from hotdata_framework.databases import (
1212
DEFAULT_SCHEMA,
1313
LoadManagedTableResult,
1414
ManagedDatabase,
1515
ManagedTable,
1616
is_parquet_path,
1717
)
18-
from hotdata_runtime.env import (
18+
from hotdata_framework.env import (
1919
WorkspaceSelection,
2020
default_api_key,
2121
default_host,
@@ -26,18 +26,18 @@
2626
pick_workspace,
2727
resolve_workspace_selection,
2828
)
29-
from hotdata_runtime.errors import (
29+
from hotdata_framework.errors import (
3030
HotdataError,
3131
HotdataTerminalError,
3232
HotdataTransientError,
3333
classify_sdk_error,
3434
)
35-
from hotdata_runtime.health import workspace_health_lines
36-
from hotdata_runtime.managed_client import ManagedDatabaseClient
37-
from hotdata_runtime.result import QueryResult
35+
from hotdata_framework.health import workspace_health_lines
36+
from hotdata_framework.managed_client import ManagedDatabaseClient
37+
from hotdata_framework.result import QueryResult
3838

3939
try:
40-
__version__ = version("hotdata-runtime")
40+
__version__ = version("hotdata-framework")
4141
except PackageNotFoundError:
4242
__version__ = "0.0.0+unknown"
4343

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from urllib3.exceptions import HTTPError as Urllib3HTTPError
2626
from urllib3.exceptions import ProtocolError
2727

28-
from hotdata_runtime.databases import (
28+
from hotdata_framework.databases import (
2929
DEFAULT_SCHEMA,
3030
LoadManagedTableResult,
3131
ManagedDatabase,
@@ -34,15 +34,15 @@
3434
is_parquet_path,
3535
managed_database_from_detail,
3636
)
37-
from hotdata_runtime.env import (
37+
from hotdata_framework.env import (
3838
default_api_key,
3939
default_host,
4040
default_session_id,
4141
normalize_host,
4242
pick_workspace,
4343
)
44-
from hotdata_runtime.http import default_http_retries
45-
from hotdata_runtime.result import QueryResult
44+
from hotdata_framework.http import default_http_retries
45+
from hotdata_framework.result import QueryResult
4646

4747
_TERMINAL = frozenset({"succeeded", "failed", "cancelled"})
4848
_RESULT_FAILURE = frozenset({"failed", "cancelled"})

0 commit comments

Comments
 (0)