You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: uv.lock
Command failed: uv lock --upgrade-package websockets
Using CPython 3.13.12
× No solution found when resolving dependencies for split (markers:
│ python_full_version >= '3.14' and sys_platform == 'win32'):
╰─▶ Because google-genai>=1.30.0 depends on websockets>=13.0.0,<15.1.0 and
only the following versions of google-genai are available:
google-genai<=1.30.0
google-genai==1.31.0
google-genai==1.32.0
google-genai==1.33.0
google-genai==1.34.0
google-genai==1.35.0
google-genai==1.36.0
google-genai==1.37.0
google-genai==1.38.0
google-genai==1.39.0
google-genai==1.39.1
google-genai==1.40.0
google-genai==1.41.0
google-genai==1.42.0
google-genai==1.43.0
google-genai==1.44.0
google-genai==1.45.0
google-genai==1.46.0
google-genai==1.47.0
google-genai==1.48.0
google-genai==1.49.0
google-genai==1.50.0
google-genai==1.50.1
google-genai==1.51.0
google-genai==1.52.0
google-genai==1.53.0
google-genai==1.54.0
google-genai==1.55.0
google-genai==1.56.0
google-genai==1.57.0
google-genai==1.58.0
google-genai==1.59.0
google-genai==1.60.0
google-genai==1.61.0
google-genai==1.62.0
google-genai==1.63.0
we can conclude that google-genai>=1.30.0 depends on
websockets>=13.0.0,<15.1.0.
And because your project depends on google-genai>=1.30.0 and
websockets>=16,<16.1, we can conclude that your project's requirements
are unsatisfiable.
hint: While the active Python version is 3.13, the resolution failed for
other Python versions supported by your project. Consider limiting your
project's supported Python versions using `requires-python`.
This PR updates the websockets dependency from v15.x to v16.x. Overall, this is a straightforward dependency update that appears safe to merge.
✅ Positive Findings
Minimal Change: Only updates the version constraint in pyproject.toml - no code changes required
Existing Compatibility: The codebase already uses websockets.legacy.client (line 107 in app/services/upbit_websocket.py), which provides backwards compatibility for the legacy API
Well-Structured Code: The WebSocket implementation in app/services/upbit_websocket.py follows good practices:
Proper error handling with reconnection logic
SSL context configuration for macOS compatibility
Async context manager support
Clean separation of concerns
⚠️ Considerations & Recommendations
1. Test Coverage Gap
Issue: No automated tests found for the WebSocket functionality
Impact: Cannot verify that the upgrade doesn't break existing functionality
Recommendation:
# Before merging, manually test:
python test_upbit_websocket.py
# Or run the monitor:
python upbit_websocket_monitor.py
2. Breaking Changes to Monitor
The websockets v16 release may include changes to the legacy client interface. Key areas to watch:
Monitor production logs for any WebSocket connection issues
Watch for SSL-related errors on macOS deployments
Future Improvements:
Add integration tests for WebSocket functionality
Consider adding health checks for WebSocket connections
Document version-specific requirements in UPBIT_WEBSOCKET_README.md
🎯 Conclusion
Verdict: ✅ APPROVE with manual testing recommendation
This is a clean dependency update that maintains backwards compatibility through the legacy client API. The risk is low, but manual testing is recommended before merging due to the lack of automated WebSocket tests.
The codebase demonstrates good engineering practices with proper error handling, reconnection logic, and documentation. The update aligns with keeping dependencies current while minimizing risk through constrained version ranges.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
>=15,<15.1→>=16,<16.1Release Notes
python-websockets/websockets (websockets)
v16.0Compare Source
See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.