Skip to content

LEADS-160: Adding python 3.13 compatibility#115

Merged
asamal4 merged 1 commit intolightspeed-core:mainfrom
bsatapat-jpg:dev
Dec 11, 2025
Merged

LEADS-160: Adding python 3.13 compatibility#115
asamal4 merged 1 commit intolightspeed-core:mainfrom
bsatapat-jpg:dev

Conversation

@bsatapat-jpg
Copy link
Collaborator

@bsatapat-jpg bsatapat-jpg commented Dec 9, 2025

Description

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up service version
  • Bump-up dependent library
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Unit tests improvement

Tools used to create PR

Identify any AI code assistants used in this PR (for transparency and review context)

  • Assisted-by: (e.g., Claude, CodeRabbit, Ollama, etc., N/A if not used)
  • Generated by: (e.g., tool name and version; N/A if not used)

Related Tickets & Documents

  • Related Issue #
  • Closes #

Checklist before requesting a review

  • I have performed a self-review of my code.
  • PR has passed all pre-merge test jobs.
  • If it is a core feature, I have added thorough tests.

Testing

  • Please provide detailed steps to perform tests related to this code change.
  • How were the fix/results from this change verified? Please provide relevant screenshots or results.

Summary by CodeRabbit

  • Chores
    • Widened supported Python runtime range to include Python 3.13 (extended compatibility; no functional behavior changes).

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 9, 2025

Walkthrough

Updated Python version requirements in two pyproject.toml files from >=3.11,<3.13 to >=3.11,<3.14, extending support to include Python 3.13.

Changes

Cohort / File(s) Change Summary
Version requirement updates
pyproject.toml, lsc_agent_eval/pyproject.toml
Changed requires-python constraint from ">=3.11,<3.13" to ">=3.11,<3.14" (no other functional changes)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested reviewers

  • tisnik

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: updating Python version constraints from <3.13 to <3.14 in both pyproject.toml files to enable Python 3.13 compatibility.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d78d375 and 3271a79.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • lsc_agent_eval/pyproject.toml (1 hunks)
  • pyproject.toml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • pyproject.toml
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-07-16T12:07:29.169Z
Learnt from: asamal4
Repo: lightspeed-core/lightspeed-evaluation PR: 19
File: lsc_agent_eval/tests/core/agent_goal_eval/test_script_runner.py:0-0
Timestamp: 2025-07-16T12:07:29.169Z
Learning: In the lsc_agent_eval package, the ScriptRunner class was modified to use absolute paths internally rather than documenting path normalization behavior, providing more predictable and consistent path handling.

Applied to files:

  • lsc_agent_eval/pyproject.toml
📚 Learning: 2025-11-24T16:59:21.420Z
Learnt from: CR
Repo: lightspeed-core/lightspeed-evaluation PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-24T16:59:21.420Z
Learning: Do not add features to the legacy `lsc_agent_eval/` directory; use `src/lightspeed_evaluation/` instead

Applied to files:

  • lsc_agent_eval/pyproject.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: tests (3.12)
  • GitHub Check: tests (3.11)
  • GitHub Check: tests (3.13)
  • GitHub Check: mypy
🔇 Additional comments (1)
lsc_agent_eval/pyproject.toml (1)

6-6: Python version constraint correctly extended for 3.13 support.

The change from >=3.11,<3.13 to >=3.11,<3.14 properly extends the supported range to include Python 3.13.x versions, which aligns with the PR objective to add Python 3.13 compatibility.

However, I have the following concerns:

  1. Ruff target-version (Line 45) — The ruff tool configuration still targets py311 rather than py313. While this is a conservative baseline, consider updating it to py313 to enable ruff to validate code against Python 3.13-specific features and lint rules. This would strengthen compatibility assurance for 3.13.

  2. Incomplete PR scope — The AI summary indicates updates to "two pyproject.toml files," but only this file is provided in the review. Please verify:

    • Was the root-level pyproject.toml also updated with the same Python version constraint change?
    • Were any CI/GitHub Actions workflows updated to include Python 3.13 test suites (as requested by the reviewer in comments)?
    • Was the uv lock file (uv.lock) regenerated or updated (as mentioned in the PR review comments)?

These missing changes could prevent the CI from validating Python 3.13 compatibility and may result in install resolution issues if the lock file is stale.


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
lsc_agent_eval/pyproject.toml (1)

44-45: Align ruff target-version with supported Python 3.13.

The ruff config specifies target-version = "py311", but the requires-python constraint now includes Python 3.13. Consider updating the target-version comment and setting to "py313" to ensure linting and compatibility checks are applied to the highest supported version. Alternatively, document if py311 is intentionally the conservative minimum target.

Apply this diff if py313 should be the target:

 [tool.ruff]
-# always generate Python 3.11-compatible code.
-target-version = "py311"
+# always generate Python 3.13-compatible code.
+target-version = "py313"

Or if py311 is intentional, update the comment for clarity:

 [tool.ruff]
-# always generate Python 3.11-compatible code.
+# minimum target version is Python 3.11; supports up to 3.13.
 target-version = "py311"
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 659d90c and d78d375.

📒 Files selected for processing (2)
  • lsc_agent_eval/pyproject.toml (1 hunks)
  • pyproject.toml (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-08-26T11:17:48.640Z
Learnt from: asamal4
Repo: lightspeed-core/lightspeed-evaluation PR: 28
File: lsc_eval/runner.py:99-103
Timestamp: 2025-08-26T11:17:48.640Z
Learning: The lsc_eval generic evaluation tool is intended to become the primary evaluation framework, replacing an existing evaluation tool in the lightspeed-evaluation repository.

Applied to files:

  • pyproject.toml
📚 Learning: 2025-07-16T12:07:29.169Z
Learnt from: asamal4
Repo: lightspeed-core/lightspeed-evaluation PR: 19
File: lsc_agent_eval/tests/core/agent_goal_eval/test_script_runner.py:0-0
Timestamp: 2025-07-16T12:07:29.169Z
Learning: In the lsc_agent_eval package, the ScriptRunner class was modified to use absolute paths internally rather than documenting path normalization behavior, providing more predictable and consistent path handling.

Applied to files:

  • lsc_agent_eval/pyproject.toml
📚 Learning: 2025-11-24T16:59:21.420Z
Learnt from: CR
Repo: lightspeed-core/lightspeed-evaluation PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-24T16:59:21.420Z
Learning: Do not add features to the legacy `lsc_agent_eval/` directory; use `src/lightspeed_evaluation/` instead

Applied to files:

  • lsc_agent_eval/pyproject.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: mypy
  • GitHub Check: tests (3.13)
  • GitHub Check: tests (3.11)
  • GitHub Check: tests (3.12)
🔇 Additional comments (1)
pyproject.toml (1)

6-6: PR description missing required verification details.

The version constraint change is correct, but the PR description is incomplete—it's a template with unchecked boxes and no testing steps, change rationale, or verification artifacts. Per the PR template's testing section, detailed test steps and verification are required before merge.

As a follow-up, please confirm:

  • Testing completed on Python 3.13 runtime
  • All CI/CD checks pass on Python 3.13 (especially dev tools: mypy, ruff, pytest, etc.)
  • Any code changes needed for Python 3.13 compatibility (e.g., removed stdlib modules, deprecated APIs)

@bsatapat-jpg bsatapat-jpg requested a review from asamal4 December 9, 2025 05:45
@asamal4
Copy link
Collaborator

asamal4 commented Dec 9, 2025

We also need to add 3.13 CI test suites. And need to update uv lock file for main evaluation

Copy link
Contributor

@VladimirKadlec VladimirKadlec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we test that it works with 3.13?

@bsatapat-jpg
Copy link
Collaborator Author

Did we test that it works with 3.13?

Yups @VladimirKadlec, tested it by creating a new virtual environment with Python 3.13.7 and running the evaluation framework inside it

@bsatapat-jpg
Copy link
Collaborator Author

We also need to add 3.13 CI test suites. And need to update uv lock file for main evaluation

Hi @asamal4, Added uv.lock.
Python 3.13 CI Tests: Already configured in tests.yaml file
image

Copy link
Contributor

@VladimirKadlec VladimirKadlec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you

@asamal4 asamal4 merged commit 643fdf0 into lightspeed-core:main Dec 11, 2025
15 checks passed
@bsatapat-jpg bsatapat-jpg deleted the dev branch December 11, 2025 09:32
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.

3 participants