Pin setuptools<82 on Python 3.9 to keep pkg_resources (#9829)#10045
Pin setuptools<82 on Python 3.9 to keep pkg_resources (#9829)#10045dpage wants to merge 1 commit into
Conversation
|
Warning Review limit reached
More reviews will be available in 7 minutes and 17 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughThis PR adds release notes documentation for pgAdmin v9.16 and fixes a Python 3.9 compatibility issue by making the setuptools version constraint conditional based on the Python interpreter version during installation. ChangesDocumentation and Dependency Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
973e7cc to
6d04d40
Compare
setuptools 82 stops shipping pkg_resources, which passlib (via Flask-Security-Too on Python 3.9) imports, so a clean install on Python 3.9 failed with "No module named 'pkg_resources'". Python 3.9 is still a supported target (RHEL/Rocky/AlmaLinux 8 and 9 build with system Python 3.9). Split the pin by Python version, mirroring the existing Flask-Security-Too split. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6d04d40 to
dc11d11
Compare
There was a problem hiding this comment.
Pull request overview
Resolves install/runtime failures on Python 3.9 where pkg_resources is missing by splitting the setuptools requirement based on python_version, and documents the fix in the v9.16 release notes.
Changes:
- Version-split
setuptoolsso Python 3.9 avoidssetuptools==82.*(which no longer providespkg_resources). - Add a v9.16 release note entry referencing Issue #9829.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| requirements.txt | Splits setuptools constraint by Python version to preserve pkg_resources on Python 3.9. |
| docs/en_US/release_notes_9_16.rst | Documents the Python 3.9 installation fix for Issue #9829. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Fixes #9829.
A clean install on Python 3.9 failed with
No module named 'pkg_resources'.setuptools==82.*no longer shipspkg_resources, whichpasslib(pulled in viaFlask-Security-Tooon Python 3.9) imports at runtime.Python 3.9 is still a supported target — RHEL/Rocky/AlmaLinux 8 and 9 build the packaged venv with the system Python 3.9, and the codebase enforces 3.9 as the minimum (
web/pgAdmin4.py).Fix: version-split the
setuptoolspin (mirroring the existingFlask-Security-Toosplit) so Python 3.9 keeps asetuptoolsthat still providespkg_resources:🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores