Update hatchling to 1.28.0#603
Conversation
📝 WalkthroughWalkthroughHatchling build tool dependency is updated from version 1.27.0 to 1.28.0 across all project configuration files: two CI environment files, the Binder environment file, and the build system configuration. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
Pre-merge checks✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
.ci_support/environment-docs.yml.ci_support/environment.ymlbinder/environment.ymlpyproject.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: unittest_qe
- GitHub Check: unittest_matrix (macos-latest, 3.14)
- GitHub Check: unittest_matrix (ubuntu-latest, 3.11)
- GitHub Check: unittest_orb
- GitHub Check: unittest_siesta
- GitHub Check: unittest_matrix (ubuntu-latest, 3.14)
- GitHub Check: unittest_old
- GitHub Check: unittest_grace
- GitHub Check: coverage
- GitHub Check: unittest_gpaw
- GitHub Check: notebooks
🔇 Additional comments (3)
.ci_support/environment-docs.yml (1)
24-24: LGTM!The hatchling version bump is consistent with the other environment files in this PR.
pyproject.toml (1)
2-2: LGTM!The build-system requirement is updated consistently with the conda environment files. The pinned version ensures reproducible builds.
binder/environment.yml (1)
20-20: LGTM!The hatchling version is updated consistently across all environment files in this PR, ensuring uniform build behavior across CI, docs, and Binder environments.
| - tqdm =4.67.1 | ||
| - pyiron_vasp =0.2.18 | ||
| - hatchling =1.27.0 | ||
| - hatchling =1.28.0 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's examine the actual file to see the change
cat -n .ci_support/environment.yml | head -25Repository: pyiron/atomistics
Length of output: 540
🏁 Script executed:
# Search for all files that reference hatchling in the PR
rg -l "hatchling" --type yaml --type txt --type toml --type cfgRepository: pyiron/atomistics
Length of output: 88
🌐 Web query:
hatchling 1.28.0 release notes changelog pypi
💡 Result:
Hatchling 1.28.0 — release notes / changelog summary:
- Version: 1.28.0 (released 2025-11-26 on the project changelog; PyPI upload 2025-11-27). (hatch.pypa.io)
- Notable changes:
- Changed: dropped support for Python 3.9. (hatch.pypa.io)
- Added:
sbom-filesoption andsbom_filesbuild data to thewheelbuild target (for including SBOM files). (hatch.pypa.io)
Sources:
- Official Hatchling changelog (history). (hatch.pypa.io)
- PyPI release page for hatchling (shows the 1.28.0 files and upload metadata). (pypi.org)
Citations:
- 1: https://hatch.pypa.io/dev/history/hatchling/?utm_source=openai
- 2: https://hatch.pypa.io/dev/history/hatchling/?utm_source=openai
- 3: https://hatch.pypa.io/dev/history/hatchling/?utm_source=openai
- 4: https://hatch.pypa.io/dev/history/hatchling/?utm_source=openai
- 5: https://pypi.org/project/hatchling/?utm_source=openai
🏁 Script executed:
# Find Python version requirements
fd -e toml -e py -e yml | xargs rg -l "python.*3\.(9|10|11|12)" -i | head -20Repository: pyiron/atomistics
Length of output: 75
🏁 Script executed:
# Check project configuration files for Python requirements
cat pyproject.toml | head -50Repository: pyiron/atomistics
Length of output: 1444
🏁 Script executed:
# Check GitHub Actions workflows to see if Python 3.9 is still tested
fd -e yml -e yaml | grep -E "(workflow|github|ci|test)" | head -10Repository: pyiron/atomistics
Length of output: 43
🏁 Script executed:
# Check for CI workflows
find .github -name "*.yml" -o -name "*.yaml" 2>/dev/null | head -10Repository: pyiron/atomistics
Length of output: 176
🏁 Script executed:
# Check if any workflow tests on Python 3.9
find . -type f \( -name "*.yml" -o -name "*.yaml" \) | xargs grep -l "3.9" 2>/dev/null | head -10Repository: pyiron/atomistics
Length of output: 43
🏁 Script executed:
# Check the main CI pipeline workflow
cat .github/workflows/pipeline.ymlRepository: pyiron/atomistics
Length of output: 14473
🏁 Script executed:
# Also check deploy workflow
cat .github/workflows/deploy.ymlRepository: pyiron/atomistics
Length of output: 1208
Critical incompatibility: hatchling 1.28.0 dropped Python 3.9 support, but the project declares requires-python = ">=3.9" in pyproject.toml.
The version bump to hatchling 1.28.0 introduces a breaking change. According to the official release notes, Python 3.9 support was removed in this version. However, the project still claims Python 3.9 compatibility in pyproject.toml (line 12: requires-python = ">=3.9, <3.15") and lists it in classifiers. This creates an inconsistency: users attempting to build with Python 3.9 will encounter a failure.
Either update pyproject.toml to require Python >=3.10 (removing the Python 3.9 classifier), or downgrade hatchling to a version that still supports Python 3.9.
🤖 Prompt for AI Agents
In .ci_support/environment.yml around line 19, hatchling is pinned to 1.28.0
which drops Python 3.9 support; resolve the mismatch between that pin and
pyproject.toml (requires-python = ">=3.9, <3.15") by either (A) downgrading
hatchling to the last version that supports Python 3.9 (e.g., pin hatchling to
<1.28, such as 1.27.x) in this file, or (B) updating pyproject.toml to require
Python >=3.10 and removing the Python 3.9 classifier; apply whichever path you
choose consistently across CI, environment.yml, and pyproject.toml classifiers.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #603 +/- ##
=======================================
Coverage 86.74% 86.74%
=======================================
Files 42 42
Lines 2406 2406
=======================================
Hits 2087 2087
Misses 319 319 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.