-
-
Notifications
You must be signed in to change notification settings - Fork 50
feat: add Python 3.13 support #646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughThe changes add Python 3.13 support to the project by updating the CI workflow to test against Python 3.13, fixing a deprecation warning in asyncio usage, and updating project configuration metadata to reflect the new supported version. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
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 |
Summary of ChangesHello @Anshgrover23, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces compatibility with Python 3.13, ensuring the project can run on the latest Python release. It primarily involves updating the asynchronous event loop retrieval mechanism to align with Python's evolving Highlights
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds Python 3.13 support to the project by updating configuration files and fixing a compatibility issue in the async code.
Changes:
- Added Python 3.13 to the list of supported Python versions in project metadata and CI workflows
- Updated the Black formatter configuration to include Python 3.13
- Fixed deprecated asyncio API usage by replacing
get_event_loop()withget_running_loop()
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| pyproject.toml | Added Python 3.13 classifier and Black formatter target version |
| cortex/parallel_llm.py | Updated asyncio call to use get_running_loop() for Python 3.13 compatibility |
| .github/workflows/ci.yml | Added Python 3.13 to CI test matrix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request correctly adds support for Python 3.13 by updating the asyncio call in parallel_llm.py and modifying pyproject.toml. The change from asyncio.get_event_loop() to asyncio.get_running_loop() is appropriate for Python 3.10+ and necessary for future compatibility. The updates to the project classifiers and black configuration are also correct.
I have one suggestion to further modernize the asynchronous code by using asyncio.to_thread, which simplifies running synchronous functions in a separate thread. Overall, this is a good and necessary update for the project.



Related Issue
Closes #272
Summary
Add Python 3.13 to support
AI Disclosure
Checklist
type(scope): descriptionor[scope] descriptionpytest tests/)Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.