Skip to content

Conversation

@john-sandall
Copy link
Contributor

What does this PR do?

This PR adds support for Python 3.13 to TPOT and updates the CI workflow to test against Python 3.10, 3.11, 3.12, and 3.13.

Note: While basic checks (i.e. installing ConfigSpace into a 3.13 environment + running the examples listed on their docs page) for the core dependency ConfigSpace do work without error under Python 3.13, it has not yet officially declared Python 3.13 support via PyPI classifiers. I will see if I can put in a PR on their side to fix that.

Specifically, this PR modifies:

  • setup.py: Updates python_requires to allow Python 3.13 (<3.14) and adds the 3.13 classifier.
  • .github/workflows/tests.yml: Adds Python 3.13 to the CI test matrix.
  • tox.ini: Adds py313 to the default envlist and [gh-actions] mapping for consistency.
  • README.md: Updates the listed supported Python version range.
  • docs/installation.md: Updates the example conda environment command to use Python 3.13.

Where should the reviewer start?

  1. setup.py for the python_requires and classifier changes.
  2. .github/workflows/tests.yml for the added CI test matrix entry.
  3. Other documentation/config files (tox.ini, README.md, docs/installation.md) for consistency updates.

How should this PR be tested?

The primary testing is handled by the updated GitHub Actions CI workflow, which now runs tox (executing pytest) across Python 3.10, 3.11, 3.12, and 3.13 on Ubuntu.

Local testing was performed in a Python 3.13 conda environment on macOS arm64. All tests passed, with one test skipped (test_loop_through_groupnames) due to unavailable optional dependencies (sklearnex) on this platform. CI results should be monitored closely for any new failures specific to the Python 3.13 environment.

Any background context you want to provide?

  • This follows my PR Update package for Python 3.12 #1374 which added Python 3.12 support.
  • Basic local checks suggest ConfigSpace installs and runs simple examples on Python 3.13, but full compatibility is not guaranteed until officially declared by the ConfigSpace project.

What are the relevant issues?

#1376

Questions:

  • Do the docs need to be updated? Yes, README.md and docs/installation.md were updated.
  • Does this PR add new (Python) dependencies? No.

@jay-m-dev jay-m-dev merged commit 59e05db into EpistasisLab:main May 15, 2025
7 of 8 checks passed
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