Skip to content

Conversation

@Anshgrover23
Copy link
Collaborator

@Anshgrover23 Anshgrover23 commented Jan 18, 2026

Related Issue

Closes #272

Summary

Add Python 3.13 to support

AI Disclosure

  • No AI used
  • AI/IDE/Agents used (please describe below)

Checklist

  • PR title follows format: type(scope): description or [scope] description
  • Tests pass (pytest tests/)
  • MVP label added if closing MVP issue
  • Update "Cortex -h" (if needed)

Summary by CodeRabbit

  • Chores
    • Extended Python 3.13 compatibility across testing and project tooling.

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI review requested due to automatic review settings January 18, 2026 11:43
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 18, 2026

📝 Walkthrough

Walkthrough

The 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

Cohort / File(s) Summary
CI/Workflow Configuration
.github/workflows/ci.yml
Extended Python test matrix from [3.10, 3.11, 3.12] to [3.10, 3.11, 3.12, 3.13]
Runtime Improvements
cortex/parallel_llm.py
Replaced asyncio.get_event_loop() with asyncio.get_running_loop() to align with modern asyncio practices and avoid deprecation warnings
Project Configuration
pyproject.toml
Added "Programming Language :: Python :: 3.13" classifier and extended Black's target-version to include "py313"

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • mikejmorgan-ai
  • Suyashd999
  • divanshu-go

Poem

🐰 Hopping into Python 3.13's embrace,
Where async loops run at a faster pace,
CI tests now span the newest version,
Black formats code with fresh conversion,
Forward-ready, no warnings to trace! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The PR addresses key requirements from #272: adds Python 3.13 to CI matrix, fixes asyncio deprecation, and updates project classifiers. However, performance benchmarking and comprehensive dependency validation testing are not evident. Clarify whether dependency compatibility testing (LangChain, Rich, Typer) was performed and if performance benchmarks comparing Python 3.11 vs 3.13 were conducted, as required by issue #272.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding Python 3.13 support across the project configuration and workflows.
Description check ✅ Passed The description covers the required sections with issue reference and summary, though some checklist items remain incomplete (MVP label and 'Cortex -h' update).
Out of Scope Changes check ✅ Passed All changes directly support Python 3.13 compatibility: CI matrix extension, asyncio modernization, and version classifiers are all in-scope.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @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 asyncio module and adjusting project metadata to reflect the new supported version.

Highlights

  • Python 3.13 Support: Added official support for Python 3.13 by updating project configuration and addressing compatibility changes.
  • Asyncio Event Loop Update: Replaced the deprecated asyncio.get_event_loop() with asyncio.get_running_loop() in cortex/parallel_llm.py to ensure compatibility with newer Python versions, specifically Python 3.13.
  • Configuration Updates: Updated pyproject.toml to include Python 3.13 in the project classifiers and as a target version for the black formatter.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/ci.yml
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

Copilot AI left a 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() with get_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.

@sonarqubecloud
Copy link

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python 3.13 Compatibility Testing

2 participants