Skip to content

Require Python 3.12, which named-arrays has needed since 2.11 - #34

Merged
roytsmart merged 2 commits into
mainfrom
fix/requires-python
Oct 1, 2026
Merged

roytsmart merged 2 commits into
mainfrom
fix/requires-python

Conversation

@roytsmart

@roytsmart roytsmart commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

pyproject.toml says ctis supports Python 3.10, which was never true. Every release of optika requires Python 3.11, so on 3.10 pip install ctis fails with No matching distribution found for optika~=2.1, which reads like a bug in ctis.

Python 3.11 doesn't work well either: named-arrays has required Python 3.12 since 2.11.0, so on 3.11 pip can install nothing newer than named-arrays 2.10.0. ctis users on 3.11 would never get later fixes, such as sun-data/named-arrays#255 or #256. optika itself still supports 3.11, but ctis doesn't have to.

Changes

  • pyproject.toml: requires-python goes from >=3.10 to >=3.12.
  • CI: the test matrix moves from Python 3.11 and 3.12 to 3.12 and 3.13.
  • .readthedocs.yml: the docs build on Python 3.12 instead of 3.11, which also means they now render with the latest named-arrays instead of 2.10.0.

Before merging: update the ruleset

The main ruleset requires the three <os>, Python 3.11 test checks by name. This PR no longer runs them, so it stays blocked until the ruleset swaps those three for <os>, Python 3.13 test. Once this is merged, other open PRs (#32, #33) will need to merge main to pick up the 3.13 jobs.

Testing

  • The full test suite passes locally on Python 3.13 (46 tests).
  • pip pulls the older ctis releases that still claim 3.10 and 3.11 support, since PyPI metadata can't be changed after the fact. From the next release on, pip on 3.11 or older will say plainly that ctis needs 3.12.

🤖 Generated with Claude Code

https://claude.ai/code/session_01N6zUsPoxW26srMeWormpe8

ctis claimed to support Python 3.10, but every release of its dependency
optika requires Python 3.11, so installing ctis on 3.10 failed with
"No matching distribution found for optika". CI already tests only 3.11
and 3.12.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N6zUsPoxW26srMeWormpe8
@codecov

codecov Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (a95f7a4) to head (7da57e5).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #34   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           24        24           
  Lines          883       883           
=========================================
  Hits           883       883           
Flag Coverage Δ
unittests 100.00% <ø> (ø)

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.

…eeds

On Python 3.11, pip can install nothing newer than named-arrays 2.10.0,
so ctis there would never get later fixes, such as the median of an empty
pixel (sun-data/named-arrays#255). CI now tests Python 3.12 and 3.13, and
the documentation builds on 3.12, which it was doing on 3.11 with
named-arrays 2.10.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N6zUsPoxW26srMeWormpe8
@roytsmart roytsmart changed the title Require Python 3.11, which every release of optika needs Require Python 3.12, which named-arrays has needed since 2.11 Oct 1, 2026
@roytsmart
roytsmart merged commit d63e6ea into main Oct 1, 2026
12 checks passed
@roytsmart
roytsmart deleted the fix/requires-python branch October 1, 2026 21:03
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