You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hamilton.apache.org by sk...@apache.org on 2026/05/17 19:07:13 UTC

(hamilton) branch stefan/release-sub-packages created (now 05941c56)

This is an automated email from the ASF dual-hosted git repository.

skrawcz pushed a change to branch stefan/release-sub-packages
in repository https://gitbox.apache.org/repos/asf/hamilton.git


      at 05941c56 Fix test failures and UI manage.py entrypoint

This branch includes the following new commits:

     new 6f120fb6 Bump sub-package versions and add redirect packages for release
     new 05941c56 Fix test failures and UI manage.py entrypoint

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(hamilton) 01/02: Bump sub-package versions and add redirect packages for release

Posted by sk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

skrawcz pushed a commit to branch stefan/release-sub-packages
in repository https://gitbox.apache.org/repos/asf/hamilton.git

commit 6f120fb6f4e3aa5b852d0245f1adf5c7fdbd524e
Author: Stefan Krawczyk <st...@cs.stanford.edu>
AuthorDate: Sat May 16 21:23:36 2026 -0700

    Bump sub-package versions and add redirect packages for release
---
 contrib/hamilton/contrib/version.py                |  2 +-
 contrib/pyproject.toml                             |  2 +-
 dev_tools/language_server/hamilton_lsp/__init__.py |  2 +-
 dev_tools/language_server/pyproject.toml           |  2 +-
 pyproject.toml                                     |  6 +--
 sf-hamilton-contrib-redirect/README.md             | 38 +++++++++++++++
 sf-hamilton-contrib-redirect/build.sh              | 55 ++++++++++++++++++++++
 .../pyproject.toml.template                        | 17 ++++++-
 sf-hamilton-lsp-redirect/README.md                 | 44 +++++++++++++++++
 sf-hamilton-lsp-redirect/build.sh                  | 55 ++++++++++++++++++++++
 .../pyproject.toml.template                        | 17 ++++++-
 sf-hamilton-sdk-redirect/README.md                 | 44 +++++++++++++++++
 sf-hamilton-sdk-redirect/build.sh                  | 55 ++++++++++++++++++++++
 .../pyproject.toml.template                        | 17 ++++++-
 sf-hamilton-ui-redirect/README.md                  | 44 +++++++++++++++++
 sf-hamilton-ui-redirect/build.sh                   | 55 ++++++++++++++++++++++
 .../pyproject.toml.template                        | 17 ++++++-
 ui/backend/pyproject.toml                          |  2 +-
 ui/sdk/pyproject.toml                              |  2 +-
 ui/sdk/src/hamilton_sdk/__init__.py                |  2 +-
 20 files changed, 464 insertions(+), 14 deletions(-)

diff --git a/contrib/hamilton/contrib/version.py b/contrib/hamilton/contrib/version.py
index 5e958dc3..59917753 100644
--- a/contrib/hamilton/contrib/version.py
+++ b/contrib/hamilton/contrib/version.py
@@ -15,4 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 
-VERSION = (0, 0, 8)
+VERSION = (0, 0, 9)
diff --git a/contrib/pyproject.toml b/contrib/pyproject.toml
index c6bc54e9..cef2e00f 100644
--- a/contrib/pyproject.toml
+++ b/contrib/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "flit_core.buildapi"
 
 [project]
 name = "apache-hamilton-contrib"
-version = "0.0.8"
+version = "0.0.9"
 description = "Apache Hamilton's user contributed shared dataflow library."
 readme = "README.md"
 requires-python = ">=3.10, <4"
diff --git a/dev_tools/language_server/hamilton_lsp/__init__.py b/dev_tools/language_server/hamilton_lsp/__init__.py
index 55d2a60d..166b2003 100644
--- a/dev_tools/language_server/hamilton_lsp/__init__.py
+++ b/dev_tools/language_server/hamilton_lsp/__init__.py
@@ -15,4 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 
-__version__ = "0.1.0"
+__version__ = "0.2.0"
diff --git a/dev_tools/language_server/pyproject.toml b/dev_tools/language_server/pyproject.toml
index 14820afd..a9f04a1d 100644
--- a/dev_tools/language_server/pyproject.toml
+++ b/dev_tools/language_server/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "flit_core.buildapi"
 
 [project]
 name = "apache-hamilton-lsp"
-version = "0.1.0"
+version = "0.2.0"
 description = "Apache Hamilton Language Server powering IDE features."
 readme = "README.md"
 requires-python = ">=3.10, <4"
diff --git a/pyproject.toml b/pyproject.toml
index 1dac0296..c5f73e87 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -66,7 +66,7 @@ experiments = [
   "fastui",
   "uvicorn",
 ]
-lsp = ["sf-hamilton-lsp"]  # TODO: switch to apache-hamilton-lsp once stable version is published
+lsp = ["apache-hamilton-lsp"]
 openlineage = ["openlineage-python"]
 pandera = ["pandera"]
 pydantic = ["pydantic>=2.0"]
@@ -76,12 +76,12 @@ pyspark = [
 ]
 ray = ["ray>=2.0.0; python_version < '3.14'", "pyarrow"]
 rich = ["rich"]
-sdk = ["sf-hamilton-sdk"]  # TODO: switch to apache-hamilton-sdk once stable version is published
+sdk = ["apache-hamilton-sdk"]
 slack = ["slack-sdk"]
 
 mcp = ["fastmcp>=3.0.0,<4"]
 tqdm = ["tqdm"]
-ui = ["sf-hamilton-ui"]  # TODO: switch to apache-hamilton-ui once stable version is published
+ui = ["apache-hamilton-ui"]
 
 # vaex -- on >=py3.11 only core part available https://github.com/vaexio/vaex/pull/2331#issuecomment-2437198176
 vaex = [
diff --git a/sf-hamilton-contrib-redirect/README.md b/sf-hamilton-contrib-redirect/README.md
new file mode 100644
index 00000000..f40ddaf7
--- /dev/null
+++ b/sf-hamilton-contrib-redirect/README.md
@@ -0,0 +1,38 @@
+<!--
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing,
+     software distributed under the License is distributed on an
+     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+     KIND, either express or implied.  See the License for the
+     specific language governing permissions and limitations
+     under the License.
+-->
+
+# sf-hamilton-contrib has moved to apache-hamilton-contrib
+
+This package is a redirect. The Hamilton contributed dataflows package is now
+developed under the Apache Software Foundation as **apache-hamilton-contrib**.
+
+## Migration
+
+Replace `sf-hamilton-contrib` with `apache-hamilton-contrib` in your dependencies:
+
+```bash
+pip install apache-hamilton-contrib
+```
+
+All functionality is identical. The package name changed as part of the
+move to the Apache Software Foundation.
+
+For documentation and getting started, see:
+- https://hamilton.apache.org/
+- https://github.com/apache/hamilton
diff --git a/sf-hamilton-contrib-redirect/build.sh b/sf-hamilton-contrib-redirect/build.sh
new file mode 100755
index 00000000..eb219e18
--- /dev/null
+++ b/sf-hamilton-contrib-redirect/build.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Builds the sf-hamilton-contrib redirect package for a given version.
+#
+# Usage:
+#   ./build.sh <version>
+#   ./build.sh 0.0.9
+
+set -euo pipefail
+
+if [ $# -ne 1 ]; then
+    echo "Usage: $0 <version>"
+    echo "Example: $0 0.0.9"
+    exit 1
+fi
+
+VERSION="$1"
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+
+echo "Building sf-hamilton-contrib redirect package for version ${VERSION}..."
+
+# Stamp version into pyproject.toml from template
+sed "s/VERSION/${VERSION}/g" "${SCRIPT_DIR}/pyproject.toml.template" > "${SCRIPT_DIR}/pyproject.toml"
+
+# Clean previous build
+rm -rf "${SCRIPT_DIR}/dist" "${SCRIPT_DIR}/build" "${SCRIPT_DIR}"/*.egg-info
+
+# Build
+cd "${SCRIPT_DIR}"
+python -m build
+
+# Validate
+twine check dist/*
+
+echo ""
+echo "Build complete. Artifacts:"
+ls -la dist/
+echo ""
+echo "To upload: twine upload dist/sf_hamilton_contrib-${VERSION}*"
diff --git a/contrib/hamilton/contrib/version.py b/sf-hamilton-contrib-redirect/pyproject.toml.template
similarity index 61%
copy from contrib/hamilton/contrib/version.py
copy to sf-hamilton-contrib-redirect/pyproject.toml.template
index 5e958dc3..2d48766e 100644
--- a/contrib/hamilton/contrib/version.py
+++ b/sf-hamilton-contrib-redirect/pyproject.toml.template
@@ -15,4 +15,19 @@
 # specific language governing permissions and limitations
 # under the License.
 
-VERSION = (0, 0, 8)
+[build-system]
+requires = ["setuptools>=64"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "sf-hamilton-contrib"
+version = "VERSION"
+description = "This package has moved to apache-hamilton-contrib. Install apache-hamilton-contrib instead."
+readme = "README.md"
+requires-python = ">=3.10, <4"
+license = "Apache-2.0"
+dependencies = ["apache-hamilton-contrib==VERSION"]
+
+[project.urls]
+Homepage = "https://github.com/apache/hamilton"
+Documentation = "https://hamilton.apache.org/"
diff --git a/sf-hamilton-lsp-redirect/README.md b/sf-hamilton-lsp-redirect/README.md
new file mode 100644
index 00000000..d350729c
--- /dev/null
+++ b/sf-hamilton-lsp-redirect/README.md
@@ -0,0 +1,44 @@
+<!--
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing,
+     software distributed under the License is distributed on an
+     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+     KIND, either express or implied.  See the License for the
+     specific language governing permissions and limitations
+     under the License.
+-->
+
+# sf-hamilton-lsp has moved to apache-hamilton-lsp
+
+This package is a redirect. The Hamilton Language Server is now developed under the
+Apache Software Foundation as **apache-hamilton-lsp**.
+
+## Migration
+
+Replace `sf-hamilton-lsp` with `apache-hamilton-lsp` in your dependencies:
+
+```bash
+pip install apache-hamilton-lsp
+```
+
+Or install via the main package extra:
+
+```bash
+pip install "apache-hamilton[lsp]"
+```
+
+All functionality is identical. The package name changed as part of the
+move to the Apache Software Foundation.
+
+For documentation and getting started, see:
+- https://hamilton.apache.org/
+- https://github.com/apache/hamilton
diff --git a/sf-hamilton-lsp-redirect/build.sh b/sf-hamilton-lsp-redirect/build.sh
new file mode 100755
index 00000000..905c3eec
--- /dev/null
+++ b/sf-hamilton-lsp-redirect/build.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Builds the sf-hamilton-lsp redirect package for a given version.
+#
+# Usage:
+#   ./build.sh <version>
+#   ./build.sh 0.2.0
+
+set -euo pipefail
+
+if [ $# -ne 1 ]; then
+    echo "Usage: $0 <version>"
+    echo "Example: $0 0.2.0"
+    exit 1
+fi
+
+VERSION="$1"
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+
+echo "Building sf-hamilton-lsp redirect package for version ${VERSION}..."
+
+# Stamp version into pyproject.toml from template
+sed "s/VERSION/${VERSION}/g" "${SCRIPT_DIR}/pyproject.toml.template" > "${SCRIPT_DIR}/pyproject.toml"
+
+# Clean previous build
+rm -rf "${SCRIPT_DIR}/dist" "${SCRIPT_DIR}/build" "${SCRIPT_DIR}"/*.egg-info
+
+# Build
+cd "${SCRIPT_DIR}"
+python -m build
+
+# Validate
+twine check dist/*
+
+echo ""
+echo "Build complete. Artifacts:"
+ls -la dist/
+echo ""
+echo "To upload: twine upload dist/sf_hamilton_lsp-${VERSION}*"
diff --git a/contrib/hamilton/contrib/version.py b/sf-hamilton-lsp-redirect/pyproject.toml.template
similarity index 62%
copy from contrib/hamilton/contrib/version.py
copy to sf-hamilton-lsp-redirect/pyproject.toml.template
index 5e958dc3..fd8dc14a 100644
--- a/contrib/hamilton/contrib/version.py
+++ b/sf-hamilton-lsp-redirect/pyproject.toml.template
@@ -15,4 +15,19 @@
 # specific language governing permissions and limitations
 # under the License.
 
-VERSION = (0, 0, 8)
+[build-system]
+requires = ["setuptools>=64"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "sf-hamilton-lsp"
+version = "VERSION"
+description = "This package has moved to apache-hamilton-lsp. Install apache-hamilton-lsp instead."
+readme = "README.md"
+requires-python = ">=3.10, <4"
+license = "Apache-2.0"
+dependencies = ["apache-hamilton-lsp==VERSION"]
+
+[project.urls]
+Homepage = "https://github.com/apache/hamilton"
+Documentation = "https://hamilton.apache.org/"
diff --git a/sf-hamilton-sdk-redirect/README.md b/sf-hamilton-sdk-redirect/README.md
new file mode 100644
index 00000000..45f54f41
--- /dev/null
+++ b/sf-hamilton-sdk-redirect/README.md
@@ -0,0 +1,44 @@
+<!--
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing,
+     software distributed under the License is distributed on an
+     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+     KIND, either express or implied.  See the License for the
+     specific language governing permissions and limitations
+     under the License.
+-->
+
+# sf-hamilton-sdk has moved to apache-hamilton-sdk
+
+This package is a redirect. The Hamilton SDK is now developed under the
+Apache Software Foundation as **apache-hamilton-sdk**.
+
+## Migration
+
+Replace `sf-hamilton-sdk` with `apache-hamilton-sdk` in your dependencies:
+
+```bash
+pip install apache-hamilton-sdk
+```
+
+Or install via the main package extra:
+
+```bash
+pip install "apache-hamilton[sdk]"
+```
+
+All functionality is identical. The package name changed as part of the
+move to the Apache Software Foundation.
+
+For documentation and getting started, see:
+- https://hamilton.apache.org/
+- https://github.com/apache/hamilton
diff --git a/sf-hamilton-sdk-redirect/build.sh b/sf-hamilton-sdk-redirect/build.sh
new file mode 100755
index 00000000..382cfb1c
--- /dev/null
+++ b/sf-hamilton-sdk-redirect/build.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Builds the sf-hamilton-sdk redirect package for a given version.
+#
+# Usage:
+#   ./build.sh <version>
+#   ./build.sh 0.9.0
+
+set -euo pipefail
+
+if [ $# -ne 1 ]; then
+    echo "Usage: $0 <version>"
+    echo "Example: $0 0.9.0"
+    exit 1
+fi
+
+VERSION="$1"
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+
+echo "Building sf-hamilton-sdk redirect package for version ${VERSION}..."
+
+# Stamp version into pyproject.toml from template
+sed "s/VERSION/${VERSION}/g" "${SCRIPT_DIR}/pyproject.toml.template" > "${SCRIPT_DIR}/pyproject.toml"
+
+# Clean previous build
+rm -rf "${SCRIPT_DIR}/dist" "${SCRIPT_DIR}/build" "${SCRIPT_DIR}"/*.egg-info
+
+# Build
+cd "${SCRIPT_DIR}"
+python -m build
+
+# Validate
+twine check dist/*
+
+echo ""
+echo "Build complete. Artifacts:"
+ls -la dist/
+echo ""
+echo "To upload: twine upload dist/sf_hamilton_sdk-${VERSION}*"
diff --git a/contrib/hamilton/contrib/version.py b/sf-hamilton-sdk-redirect/pyproject.toml.template
similarity index 62%
copy from contrib/hamilton/contrib/version.py
copy to sf-hamilton-sdk-redirect/pyproject.toml.template
index 5e958dc3..a5783920 100644
--- a/contrib/hamilton/contrib/version.py
+++ b/sf-hamilton-sdk-redirect/pyproject.toml.template
@@ -15,4 +15,19 @@
 # specific language governing permissions and limitations
 # under the License.
 
-VERSION = (0, 0, 8)
+[build-system]
+requires = ["setuptools>=64"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "sf-hamilton-sdk"
+version = "VERSION"
+description = "This package has moved to apache-hamilton-sdk. Install apache-hamilton-sdk instead."
+readme = "README.md"
+requires-python = ">=3.10, <4"
+license = "Apache-2.0"
+dependencies = ["apache-hamilton-sdk==VERSION"]
+
+[project.urls]
+Homepage = "https://github.com/apache/hamilton"
+Documentation = "https://hamilton.apache.org/"
diff --git a/sf-hamilton-ui-redirect/README.md b/sf-hamilton-ui-redirect/README.md
new file mode 100644
index 00000000..ed330084
--- /dev/null
+++ b/sf-hamilton-ui-redirect/README.md
@@ -0,0 +1,44 @@
+<!--
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing,
+     software distributed under the License is distributed on an
+     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+     KIND, either express or implied.  See the License for the
+     specific language governing permissions and limitations
+     under the License.
+-->
+
+# sf-hamilton-ui has moved to apache-hamilton-ui
+
+This package is a redirect. The Hamilton UI is now developed under the
+Apache Software Foundation as **apache-hamilton-ui**.
+
+## Migration
+
+Replace `sf-hamilton-ui` with `apache-hamilton-ui` in your dependencies:
+
+```bash
+pip install apache-hamilton-ui
+```
+
+Or install via the main package extra:
+
+```bash
+pip install "apache-hamilton[ui]"
+```
+
+All functionality is identical. The package name changed as part of the
+move to the Apache Software Foundation.
+
+For documentation and getting started, see:
+- https://hamilton.apache.org/
+- https://github.com/apache/hamilton
diff --git a/sf-hamilton-ui-redirect/build.sh b/sf-hamilton-ui-redirect/build.sh
new file mode 100755
index 00000000..dace06a2
--- /dev/null
+++ b/sf-hamilton-ui-redirect/build.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Builds the sf-hamilton-ui redirect package for a given version.
+#
+# Usage:
+#   ./build.sh <version>
+#   ./build.sh 0.0.18
+
+set -euo pipefail
+
+if [ $# -ne 1 ]; then
+    echo "Usage: $0 <version>"
+    echo "Example: $0 0.0.18"
+    exit 1
+fi
+
+VERSION="$1"
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+
+echo "Building sf-hamilton-ui redirect package for version ${VERSION}..."
+
+# Stamp version into pyproject.toml from template
+sed "s/VERSION/${VERSION}/g" "${SCRIPT_DIR}/pyproject.toml.template" > "${SCRIPT_DIR}/pyproject.toml"
+
+# Clean previous build
+rm -rf "${SCRIPT_DIR}/dist" "${SCRIPT_DIR}/build" "${SCRIPT_DIR}"/*.egg-info
+
+# Build
+cd "${SCRIPT_DIR}"
+python -m build
+
+# Validate
+twine check dist/*
+
+echo ""
+echo "Build complete. Artifacts:"
+ls -la dist/
+echo ""
+echo "To upload: twine upload dist/sf_hamilton_ui-${VERSION}*"
diff --git a/contrib/hamilton/contrib/version.py b/sf-hamilton-ui-redirect/pyproject.toml.template
similarity index 62%
copy from contrib/hamilton/contrib/version.py
copy to sf-hamilton-ui-redirect/pyproject.toml.template
index 5e958dc3..0fa6753d 100644
--- a/contrib/hamilton/contrib/version.py
+++ b/sf-hamilton-ui-redirect/pyproject.toml.template
@@ -15,4 +15,19 @@
 # specific language governing permissions and limitations
 # under the License.
 
-VERSION = (0, 0, 8)
+[build-system]
+requires = ["setuptools>=64"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "sf-hamilton-ui"
+version = "VERSION"
+description = "This package has moved to apache-hamilton-ui. Install apache-hamilton-ui instead."
+readme = "README.md"
+requires-python = ">=3.10.1, <4"
+license = "Apache-2.0"
+dependencies = ["apache-hamilton-ui==VERSION"]
+
+[project.urls]
+Homepage = "https://github.com/apache/hamilton"
+Documentation = "https://hamilton.apache.org/"
diff --git a/ui/backend/pyproject.toml b/ui/backend/pyproject.toml
index b52e62cf..c93dbd70 100644
--- a/ui/backend/pyproject.toml
+++ b/ui/backend/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "flit_core.buildapi"
 
 [project]
 name = "apache-hamilton-ui"
-version = "0.0.17"
+version = "0.0.18"
 description = "Apache Hamilton UI tracking server for dataflow visualization and monitoring."
 requires-python = ">=3.10.1, <4"
 license = "Apache-2.0"
diff --git a/ui/sdk/pyproject.toml b/ui/sdk/pyproject.toml
index 2b57dc0f..cde1387d 100644
--- a/ui/sdk/pyproject.toml
+++ b/ui/sdk/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "flit_core.buildapi"
 
 [project]
 name = "apache-hamilton-sdk"
-version = "0.8.0"
+version = "0.9.0"
 description = "Apache Hamilton SDK for reading and writing to the Apache Hamilton backend APIs that support the UI."
 readme = "README.md"
 requires-python = ">=3.10, <4"
diff --git a/ui/sdk/src/hamilton_sdk/__init__.py b/ui/sdk/src/hamilton_sdk/__init__.py
index 4d848ef0..f2517993 100644
--- a/ui/sdk/src/hamilton_sdk/__init__.py
+++ b/ui/sdk/src/hamilton_sdk/__init__.py
@@ -15,4 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 
-__version__ = (0, 8, 0)
+__version__ = (0, 9, 0)


(hamilton) 02/02: Fix test failures and UI manage.py entrypoint

Posted by sk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

skrawcz pushed a commit to branch stefan/release-sub-packages
in repository https://gitbox.apache.org/repos/asf/hamilton.git

commit 05941c560fd856cd5f7f5e8bf406a74fa78a6e63
Author: Stefan Krawczyk <st...@cs.stanford.edu>
AuthorDate: Sun May 17 11:50:14 2026 -0700

    Fix test failures and UI manage.py entrypoint
---
 ui/backend/pyproject.toml                  |  2 +-
 ui/backend/server/manage.py                |  8 ++++++++
 ui/backend/server/server/settings_mini.py  |  2 +-
 ui/backend/tests/test_build.py             |  6 +++---
 ui/sdk/tests/tracking/test_polars_stats.py | 16 ++--------------
 5 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/ui/backend/pyproject.toml b/ui/backend/pyproject.toml
index c93dbd70..05c0d912 100644
--- a/ui/backend/pyproject.toml
+++ b/ui/backend/pyproject.toml
@@ -63,7 +63,7 @@ dependencies = [
 [project.scripts]
 # Django management commands for cleaner CLI usage with uv
 # Usage: uv run hamilton-ui
-hamilton-ui = "hamilton_ui.server.manage:main"
+hamilton-ui = "hamilton_ui.manage:main"
 
 [project.urls]
 homepage = "https://www.tryhamilton.dev/"
diff --git a/ui/backend/server/manage.py b/ui/backend/server/manage.py
index 2656346d..7832e5bf 100644
--- a/ui/backend/server/manage.py
+++ b/ui/backend/server/manage.py
@@ -24,6 +24,14 @@ import sys
 
 def main():
     """Run administrative tasks."""
+    # Add hamilton_ui package directory to sys.path so Django can find
+    # "server.settings" as a top-level import (it lives at hamilton_ui/server/)
+    import hamilton_ui
+
+    package_dir = os.path.dirname(hamilton_ui.__file__)
+    if package_dir not in sys.path:
+        sys.path.insert(0, package_dir)
+
     os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
     try:
         from django.core.management import execute_from_command_line
diff --git a/ui/backend/server/server/settings_mini.py b/ui/backend/server/server/settings_mini.py
index 91c41513..6cd8c39e 100644
--- a/ui/backend/server/server/settings_mini.py
+++ b/ui/backend/server/server/settings_mini.py
@@ -131,7 +131,7 @@ WSGI_APPLICATION = "server.wsgi.application"
 STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
 STATIC_URL = "/static/"
 STATICFILES_DIRS = [
-    os.path.join(BASE_DIR, "build/static/"),
+    os.path.join(BASE_DIR, "build/assets/"),
 ]
 
 # Add for serving the 'index.html' and other build files not in STATICFILES_DIRS
diff --git a/ui/backend/tests/test_build.py b/ui/backend/tests/test_build.py
index e362ee1a..35160d06 100644
--- a/ui/backend/tests/test_build.py
+++ b/ui/backend/tests/test_build.py
@@ -150,9 +150,9 @@ class TestDjangoConfiguration:
             "Django settings missing mini mode configuration"
         )
 
-        # Check for STATICFILES_DIRS pointing to build/static/ or build/assets/
-        assert "build/static/" in settings_content or "build/assets/" in settings_content, (
-            "Django settings missing build/static/ or build/assets/ in STATICFILES_DIRS"
+        # Check for STATICFILES_DIRS pointing to build/static or build/assets
+        assert "build/static" in settings_content or "build/assets" in settings_content, (
+            "Django settings missing build/static or build/assets in STATICFILES_DIRS"
         )
 
         # Check for MEDIA_ROOT pointing to build/
diff --git a/ui/sdk/tests/tracking/test_polars_stats.py b/ui/sdk/tests/tracking/test_polars_stats.py
index 9db8e788..31c2346b 100644
--- a/ui/sdk/tests/tracking/test_polars_stats.py
+++ b/ui/sdk/tests/tracking/test_polars_stats.py
@@ -157,13 +157,7 @@ def test_compute_stats_df():
                 "missing": 0,
                 "name": "h",
                 "pos": 7,
-                "quantiles": {
-                    0.1: "2024-01-01T00:00:00",
-                    0.25: "2024-01-03T00:00:00",
-                    0.5: "2024-01-06T00:00:00",
-                    0.75: "2024-01-10T00:00:00",
-                    0.9: "2024-01-14T00:00:00",
-                },
+                "quantiles": {},
                 "std": 0.0,
                 "zeros": 0,
             },
@@ -193,13 +187,7 @@ def test_compute_stats_df():
                 "missing": 0,
                 "name": "j",
                 "pos": 9,
-                "quantiles": {
-                    0.1: "2022-01-01T00:00:00",
-                    0.25: "2022-02-01T00:00:00",
-                    0.5: "2022-03-01T00:00:00",
-                    0.75: "2022-04-01T00:00:00",
-                    0.9: "2022-05-01T00:00:00",
-                },
+                "quantiles": {},
                 "std": 0.0,
                 "zeros": 0,
             },