Skip to content

[FEAT] Adding Python 3.15 - #1479

Open
henrydingliu wants to merge 25 commits into
mainfrom
feat/add_python_3_15
Open

henrydingliu wants to merge 25 commits into
mainfrom
feat/add_python_3_15

Conversation

@henrydingliu

@henrydingliu henrydingliu commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Summary of Changes

adding python 3.15 to supported version
adding python 3.15 dependencies
addressing a numpy 2.5 deprecation warning

Related GitHub Issue(s)

#1478

AI/LLM Usage

used AI to locate the numpy deprecation warning

Additional Context for Reviewers

Submitter's Checklist

  • I have reviewed and am adhering to the standards outlined in the project Governing Doc.
  • The PR subject title summarizes the changes, with one proper prefix ([FIX], [FEAT], [DOCS], [TST], [CHORE], or [BRK]).
  • I am a human (not a bot), and this PR form is written by a human.

Reviewer's Checklist

  • The implementation addresses the associated issue(s).
  • The implementation is appropriate, maintainable, and follows ARCHITECTURE.md.
  • PR subject title has the proper prefix and the subject is appropriate.
  • Relevant issue(s) are linked.
  • AI/LLM usage is disclosed and appropriate.
  • Documentation and tests are appropriate.
  • CI tests passed, or any failures are acceptable.
  • Leave a comment with the final recommendation (e.g. approve as is, request a secondary review, or flag an area for more review).

Note

Medium Risk
Core triangle valuation date computation changed for NumPy compatibility, and 3.15 pulls in major dependency upgrades (pandas 3, newer numpy) that could affect behavior across installs.

Overview
Adds Python 3.15 to CI (pytest workflow matrix) and project classifiers, and splits dependency pins in pyproject.toml so 3.15+ gets newer stacks (e.g. pandas ≥3.0.6, numpy ≥2.5.2, scikit-learn ≥1.9.1, matplotlib/contourpy/numba, plus bumped optional deps like lxml, pyarrow, scipy, rpds-py).

Updates valuation date math in chainladder/core/base.py to use explicit timedelta64[M] offsets instead of adding integers to datetime64[M], addressing a NumPy 2.5 deprecation while keeping the same valuation index behavior.

Reviewed by Cursor Bugbot for commit 1f6823c. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Pyright Type Completeness

View the full pyright --verifytypes output for this commit

Project (full chainladder package, at this PR's head): 15.6% of exported symbols fully typed (227 / 1456)

Known Ambiguous Unknown Total
Project (head) 227 108 1121 1456

Other symbols referenced but not exported by chainladder: 13

Known Ambiguous Unknown Total
Other (head) 3 1 9 13

Symbols without documentation:

  • Functions without docstring: 326
  • Functions without default param: 0
  • Classes without docstring: 8

Patch (exported symbols added or changed by this PR): no exported symbol type-completeness changes detected.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 00a7053. Configure here.

Comment thread pyproject.toml Outdated
@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.19%. Comparing base (856f87b) to head (1f6823c).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1479      +/-   ##
==========================================
+ Coverage   94.15%   94.19%   +0.03%     
==========================================
  Files          96       96              
  Lines        5852     5852              
  Branches      739      739              
==========================================
+ Hits         5510     5512       +2     
+ Misses        221      220       -1     
+ Partials      121      120       -1     
Flag Coverage Δ
unittests 94.19% <ø> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@henrydingliu
henrydingliu marked this pull request as ready for review October 10, 2026 07:08
@henrydingliu
henrydingliu requested a review from genedan as a code owner October 10, 2026 07:08
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.

1 participant