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/03/06 06:08:49 UTC
(hamilton) 30/39: Address Dev-iL PR review comments: use pathlib.Path
This is an automated email from the ASF dual-hosted git repository.
skrawcz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hamilton.git
commit 5f2c5adb0c627582f6ee44991384cc7b39e6a08d
Author: Stefan Krawczyk <st...@cs.stanford.edu>
AuthorDate: Tue Feb 24 18:33:54 2026 -0800
Address Dev-iL PR review comments: use pathlib.Path
Changes based on PR #1488 review feedback:
1. ui/backend/server/server/settings.py:
- Replace os.path.exists/join with pathlib.Path operations
- Use Path / operator instead of os.path.join
- Convert to str() when needed for Django settings
2. ui/backend/server/server/urls.py:
- Remove unnecessary import os
- Add from pathlib import Path
- Replace os.path.exists/join with Path operations
- Use Path / operator for path construction
3. contrib/hamilton/contrib/dagworks/author.md:
- Fix inconsistent line length formatting
Benefits:
- More Pythonic path handling
- Prevents future ruff complaints about os.path usage
- Consistent with modern Python best practices
- Cleaner, more readable code
Addresses review comments from @Dev-iL in PR #1488
---
contrib/hamilton/contrib/dagworks/author.md | 6 +++---
ui/backend/server/server/settings.py | 10 +++++-----
ui/backend/server/server/urls.py | 16 +++++++---------
3 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/contrib/hamilton/contrib/dagworks/author.md b/contrib/hamilton/contrib/dagworks/author.md
index 9527e7e8..25f6ac26 100644
--- a/contrib/hamilton/contrib/dagworks/author.md
+++ b/contrib/hamilton/contrib/dagworks/author.md
@@ -22,6 +22,6 @@ title: DAGWorks
---
# Officially maintained Apache Hamilton dataflows
-Here you'll find dataflows that are officially maintained by the Apache Hamilton github/mailing lists. Popular
-user-contributed dataflows will be moved here as necessary to support their continued
-development and maintenance.
+Here you'll find dataflows that are officially maintained by the Apache Hamilton
+github/mailing lists. Popular user-contributed dataflows will be moved here as
+necessary to support their continued development and maintenance.
diff --git a/ui/backend/server/server/settings.py b/ui/backend/server/server/settings.py
index 09fb03dd..5d3066dc 100644
--- a/ui/backend/server/server/settings.py
+++ b/ui/backend/server/server/settings.py
@@ -150,13 +150,13 @@ if HAMILTON_ENV == "mini":
STATIC_URL = "/static/"
# Support both Vite (assets/) and CRA (static/) build outputs
staticfiles_dirs = []
- if os.path.exists(os.path.join(BASE_DIR, "build/assets/")):
- staticfiles_dirs.append(os.path.join(BASE_DIR, "build/assets/"))
- if os.path.exists(os.path.join(BASE_DIR, "build/static/")):
- staticfiles_dirs.append(os.path.join(BASE_DIR, "build/static/"))
+ if (BASE_DIR / "build/assets/").exists():
+ staticfiles_dirs.append(str(BASE_DIR / "build/assets/"))
+ if (BASE_DIR / "build/static/").exists():
+ staticfiles_dirs.append(str(BASE_DIR / "build/static/"))
STATICFILES_DIRS = staticfiles_dirs
MEDIA_URL = "/media/"
- MEDIA_ROOT = os.path.join(BASE_DIR, "build/")
+ MEDIA_ROOT = str(BASE_DIR / "build/")
# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
diff --git a/ui/backend/server/server/urls.py b/ui/backend/server/server/urls.py
index 71cdc861..cf34ab03 100644
--- a/ui/backend/server/server/urls.py
+++ b/ui/backend/server/server/urls.py
@@ -43,15 +43,13 @@ from . import api, default_views
if settings.HAMILTON_ENV == "mini":
# mini-mode
# TODO -- do meda assets correctly -- this just hardcodes logo.png for now
- import os
-
urlpatterns = [
path("api/", api.api.urls),
path("admin/", admin.site.urls),
]
# Serve root-level assets from build/ directory
- build_dir = os.path.join(settings.BASE_DIR, "build/")
+ build_dir = settings.BASE_DIR / "build/"
root_assets = [
"manifest.json",
"robots.txt",
@@ -61,27 +59,27 @@ if settings.HAMILTON_ENV == "mini":
"logo_with_text.svg",
]
for asset in root_assets:
- if os.path.exists(os.path.join(build_dir, asset)):
+ if (build_dir / asset).exists():
urlpatterns.append(
- re_path(rf"^{asset}$", serve, {"document_root": build_dir, "path": asset})
+ re_path(rf"^{asset}$", serve, {"document_root": str(build_dir), "path": asset})
)
# Serve static assets from build/assets/ (Vite) or build/static/ (CRA)
# This MUST come before the catch-all route
- if os.path.exists(os.path.join(settings.BASE_DIR, "build/assets/")):
+ if (settings.BASE_DIR / "build/assets/").exists():
urlpatterns.append(
re_path(
r"^assets/(?P<path>.*)$",
serve,
- {"document_root": os.path.join(settings.BASE_DIR, "build/assets/")},
+ {"document_root": str(settings.BASE_DIR / "build/assets/")},
)
)
- if os.path.exists(os.path.join(settings.BASE_DIR, "build/static/")):
+ if (settings.BASE_DIR / "build/static/").exists():
urlpatterns.append(
re_path(
r"^static/(?P<path>.*)$",
serve,
- {"document_root": os.path.join(settings.BASE_DIR, "build/static/")},
+ {"document_root": str(settings.BASE_DIR / "build/static/")},
)
)