Rename sf hamilton to apache hamilton#1561
Conversation
Update all references to sf-hamilton package names to use the apache-hamilton prefix. Covers error messages, install instructions, requirements.txt files, notebooks, CI workflows, VSCode extension, and UI components. Import names are unchanged. The pyproject.toml extras for lsp/sdk/ui still point to sf-hamilton-* packages until stable apache-hamilton-* versions are published to PyPI.
- Point lsp/sdk/ui extras to sf-hamilton-* with TODO to switch once stable apache-hamilton-* versions are published to PyPI - Update ui/backend dependency from sf-hamilton to apache-hamilton - Disable ddtrace pytest plugin which spawns background threads that prevent clean process exit after the test suite completes
|
|
||
| export const example2 = `from hamilton import driver | ||
| # pip install sf-hamilton-contrib==0.0.1rc1 | ||
| # pip install apache-hamilton-contrib==0.0.1rc1 |
There was a problem hiding this comment.
hmm maybe we just fix forward...
The contrib/docs project uses npm (has package-lock.json, no yarn.lock) but the workflow was using yarn with cache: yarn. This caused webpack Progress Plugin validation errors. Switch to npm ci for deterministic installs matching the lockfile.
c592e65 to
e9ddcb2
Compare
jernejfrank
left a comment
There was a problem hiding this comment.
There's couple of places I think you missed (or let me know that these need to stay sf):
- https://github.com/apache/hamilton/blob/stefan/rename-sf-hamilton-to-apache-hamilton/contrib/docs/templates/driver_builder.py.jinja2
- https://github.com/apache/hamilton/blob/stefan/rename-sf-hamilton-to-apache-hamilton/examples/snowflake/hamilton_ui/Dockerfile
- (this one not sure if we are even using still): )https://github.com/apache/hamilton/blob/stefan/rename-sf-hamilton-to-apache-hamilton/scripts/build_conda.sh
- toml seems to have changed to apache, but the lock file hasn't been updated/commited witht the change in dependency: https://github.com/apache/hamilton/blob/stefan/rename-sf-hamilton-to-apache-hamilton/ui/backend/uv.lock
Other than the above it looks good to me. Happy to approve, if the above are not meant to be changed yet.
| Docker build takes around `6m16.298s` depending on the system configuration and network. | ||
| Alternatively, you can pull the container image from https://hub.docker.com/r/skrawcz/sf-hamilton. | ||
| `docker pull skrawcz/sf-hamilton`. | ||
| Alternatively, you can pull the container image from https://hub.docker.com/r/skrawcz/apache-hamilton. |
There was a problem hiding this comment.
not in scope of this PR, but does apache have a docker container index we can use? This still seems to run through your account @skrawcz
elijahbenizzy
left a comment
There was a problem hiding this comment.
+1, ready to land.
Two small misses worth a quick follow-up (non-blocking):
examples/snowflake/hamilton_ui/Dockerfile:22—RUN pip install "sf-hamilton[ui,sdk]"should beapache-hamilton[ui,sdk]scripts/build_conda.sh:23—pkg='sf-hamilton'(and the comment on L28)
Nice sweep otherwise. Did the parallel rename on Burr (apache/burr#772) and hit the same JSON-escaped notebook pattern — happy to share the regex if useful.
Summary
Rename all
sf-hamiltonreferences toapache-hamiltonacross the repository.All 5 Hamilton packages were already migrated to flit +
apache-hamiltonprefix in theirpyproject.tomlfiles, but ~250 files still referenced the oldsf-hamiltonname indocumentation, examples, error messages, CI workflows, and other places. This PR updates them all for consistency.
What changed
hamilton/plugins/h_*.py,graph.py,cli, etc.) — error messages now saypip install apache-hamilton[...]docs/,README.md, package READMEs) — install instructions updatedrequirements.txt,.py,.ipynball referenceapache-hamiltonpyproject.toml—lsp/sdk/uiextras still point tosf-hamilton-*(only dev prereleases exist on PyPI for the apache-prefixed subpackages); TODO comments markthese for update once stable versions are published
ui/backend/pyproject.toml— dependency changed fromsf-hamiltontoapache-hamilton(stable 1.90.0 exists on PyPI)ddtraceauto-registers a pytest plugin that spawns background threads preventing clean process exit after the test suite. Disabling itfixes the test suite hang. Hamilton's own
DDOGTracertests are unaffected.scripts/find_hanging_tests.sh— new utility that runs each test file individually with a timeout to identify tests that prevent pytest from exitingWhat did NOT change
import hamilton,from hamilton.contrib import ...) — unchangedsf-hamilton-redirect/— intentionally references both names (it's the PyPI redirect package)scripts/generate_announce_email.py—sf-hamilton-tag matching for historical changelogscripts/README.md— documents the sf-hamilton redirect workflowTest plan
uv syncresolves cleanlysf-hamiltonreferences remain (3 files)apache-hamilton[visualization]extra resolves from PyPIChecklist