Bump dependencies#40
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates project to require Python 3.10+, loosens some runtime dependency pins, bumps dev/test tooling, aligns Ruff config with the new minimum Python, and adjusts a test fixture to support both Pydantic v1 and v2 configuration styles. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (16)
📝 WalkthroughWalkthroughThis PR updates the project to require Python 3.10 or later (previously 3.9+), adjusts Ruff's target version accordingly, shifts dependency pinning strategies for Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 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. Review rate limit: 0/1 reviews remaining, refill in 43 minutes and 36 seconds.Comment |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- For
nats-pyandpydantic-settingsthe version specifiers were changed from caret ranges to open-ended>=constraints; consider retaining an upper bound (e.g.^or<next-major) to avoid unexpected breakages from future major releases.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- For `nats-py` and `pydantic-settings` the version specifiers were changed from caret ranges to open-ended `>=` constraints; consider retaining an upper bound (e.g. `^` or `<next-major`) to avoid unexpected breakages from future major releases.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
pyproject.toml (1)
20-21: Consider keeping an upper bound onnats-pyandpydantic-settings.Switching from caret ranges to open-ended
>=constraints means future major releases of these libraries will be resolved without review, which can silently pull in breaking changes for downstream consumers ofnatsapi. If the intent was only to relax the lower-bound floor, a bounded range like>=2.2.0,<3.0.0(and>=2.8.1,<3.0.0) would preserve flexibility without giving up SemVer guarantees.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pyproject.toml` around lines 20 - 21, Update the dependency constraints in pyproject.toml to add reasonable upper bounds so major breaking releases aren't pulled in automatically: change the nats-py entry (nats-py = {extras = ["nkeys"], version = ">=2.2.0"}) to a bounded range such as ">=2.2.0,<3.0.0" and change pydantic-settings = ">=2.8.1" to a bounded range such as ">=2.8.1,<3.0.0" (or another appropriate major upper bound) to preserve SemVer guarantees while keeping the same minimum versions.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@pyproject.toml`:
- Line 18: Update the README's Python requirement string that currently reads
"python > 3.9" to match pyproject.toml by changing it to "python >= 3.10";
ensure any mention in README (around the current "python > 3.9" text) is
replaced so documentation and pyproject.toml (python = "^3.10") are consistent.
---
Nitpick comments:
In `@pyproject.toml`:
- Around line 20-21: Update the dependency constraints in pyproject.toml to add
reasonable upper bounds so major breaking releases aren't pulled in
automatically: change the nats-py entry (nats-py = {extras = ["nkeys"], version
= ">=2.2.0"}) to a bounded range such as ">=2.2.0,<3.0.0" and change
pydantic-settings = ">=2.8.1" to a bounded range such as ">=2.8.1,<3.0.0" (or
another appropriate major upper bound) to preserve SemVer guarantees while
keeping the same minimum versions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f5b1cea5-951d-4577-9df1-94b922ae4a87
⛔ Files ignored due to path filters (1)
poetry.lockis excluded by!**/*.lock
📒 Files selected for processing (2)
pyproject.tomltests/test_jsonable_encoder.py
Remove python 3.9 in testing workflow
e37adb0 to
9d40a30
Compare
Remove Python 3.9 support (EOL)
Summary by Sourcery
Drop Python 3.9 support and refresh dependencies and tooling for Python 3.10+.
Bug Fixes:
Enhancements:
Build:
Tests:
Summary by CodeRabbit
Chores