Skip to content

ci: add Python 3.13 to CI matrix; build: declare support for 3.13#1157

Closed
henrykironde wants to merge 5 commits intoweecology:mainfrom
henrykironde:3.13
Closed

ci: add Python 3.13 to CI matrix; build: declare support for 3.13#1157
henrykironde wants to merge 5 commits intoweecology:mainfrom
henrykironde:3.13

Conversation

@henrykironde
Copy link
Copy Markdown
Contributor

@henrykironde henrykironde commented Sep 30, 2025

Note

Expand Python support and CI coverage

  • CI matrix now includes 3.13 (with 3.14 commented pending issue Add Python 3.14 #1266)
  • Broadened supported versions in pyproject.toml and README badge to >=3.10,<3.15
  • Docs deps updated: unpinned docutils; require sphinx>=8.0.2

Written by Cursor Bugbot for commit 871d53e. This will update automatically on new commits. Configure here.

@codecov
Copy link
Copy Markdown

codecov Bot commented Sep 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.97%. Comparing base (c10846a) to head (f3e6f78).
⚠️ Report is 71 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1157      +/-   ##
==========================================
- Coverage   87.47%   86.97%   -0.50%     
==========================================
  Files          20       24       +4     
  Lines        2586     3009     +423     
==========================================
+ Hits         2262     2617     +355     
- Misses        324      392      +68     
Flag Coverage Δ
unittests 86.97% <ø> (-0.50%) ⬇️

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

☔ View full report in Codecov by Sentry.
📢 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.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on December 2

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Bug: Metadata Forbids Tested Python Version

The requires-python constraint ">=3.10,<3.13" excludes Python 3.13, but the CI workflow now tests Python 3.13. This creates a mismatch where CI tests a Python version that the package metadata explicitly forbids, causing installation failures in CI and preventing users from installing the package on Python 3.13 despite the PR's intent to add support for it.

pyproject.toml#L4-L5

description = "Platform for individual detection from airborne remote sensing including trees, birds, and livestock. Supports multiple detection models, adding models for species classification, and easy fine tuning to particular ecosystems."
readme = "README.md"

Fix in Cursor Fix in Web


Copy link
Copy Markdown
Member

@ethanwhite ethanwhite left a comment

Choose a reason for hiding this comment

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

Looks like the error results from imghdr being deprecated in 3.11 and removed in 3.13. It appears that requiring sphinx>=6.2 might fix this (if it doesn't break anything else)

@henrykironde
Copy link
Copy Markdown
Contributor Author

@ethanwhite I tried sphinx>=6.2.0 yesterday, but it fails on all platforms https://github.com/weecology/DeepForest/actions/runs/19345461532/job/55344530213#step:7:86

Checked up sphinx and probably we may try something like https://github.com/sphinx-doc/sphinx/blob/62619bd5a2e8b203ff81b50456508bd7d2583920/.github/workflows/main.yml#L225

@henrykironde henrykironde changed the title [WIP]: ci: add Python 3.13 to CI matrix; build: declare support for 3.13 ci: add Python 3.13 to CI matrix; build: declare support for 3.13 Jan 14, 2026
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Comment thread pyproject.toml
description = "Platform for individual detection from airborne remote sensing including trees, birds, and livestock. Supports multiple detection models, adding models for species classification, and easy fine tuning to particular ecosystems."
readme = "README.md"
requires-python = ">=3.10,<3.13"
requires-python = ">=3.10,<3.15"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Version constraint allows untested Python 3.14 with known issues

Medium Severity

The requires-python constraint was changed to >=3.10,<3.15, which declares support for Python 3.14. However, the CI configuration explicitly comments out Python 3.14 with the note "Uncomment after issue #1266 is resolved," indicating Python 3.14 has known issues. Users on Python 3.14 could install this package believing it's supported. The constraint likely meant to use <3.14 to only add Python 3.13 support.

Additional Locations (1)

Fix in Cursor Fix in Web

Uncomment Python 3.14 version in CI matrix.
@cursor
Copy link
Copy Markdown

cursor Bot commented Feb 24, 2026

You have run out of free Bugbot PR reviews for this billing cycle. This will reset on March 2.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@ethanwhite ethanwhite closed this Mar 12, 2026
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.

2 participants