Skip to content

feat: add Python 3.12 support and drop Python 3.8–3.11 - #1

Merged
naincy128 merged 1 commit into
masterfrom
naincy/python-3-12-support
Sep 30, 2026
Merged

naincy128 merged 1 commit into
masterfrom
naincy/python-3-12-support

Conversation

@naincy128

@naincy128 naincy128 commented Sep 28, 2026 •

Copy link
Copy Markdown

Summary

Adds support for Python 3.12 and drops support for Python 3.8–3.11.
The CI, tox configuration, and package classifiers have been updated to target Python 3.12 only. Known consumers, edx-analytics-dashboard and course-discovery, already use Python 3.12.

Changes

  • tox.ini, ci.yml: test py312 only (was py38 and py312); bump checkout@v4, setup-python@v5 and codecov-action@v5; CI runs on ubuntu-24.04 because ubuntu-20.04 is retired.
  • upgrade-python-requirements.yml: the weekly requirements bot compiles with Python 3.12.
  • setup.py: Python 3.12 classifier only, and python_requires='>=3.12'.
  • requirements/*.txt: regenerated with Python 3.12, which brings in pylint 4 and pytest 9.
  • course_summaries.py: silence pylint 4's new R0917 check. The method is public API, so it isn't refactored.

Tests

tox -r
  py312: OK   (72 passed)
  quality: OK (Python 3.12, pylint 4.0.9: 10.00/10, 0 messages across analyticsclient)

Notes

  • Codecov: fail_ci_if_error is intentionally false, and the step now passes token: ${{ secrets.CODECOV_TOKEN }}.
    • This repo has no CODECOV_TOKEN secret yet, so uploads without a token are rate-limited (HTTP 429) and were failing CI even though tests passed.
    • Once an admin adds the secret, set fail_ci_if_error back to true.
  • Branch protection on master has no required status checks, so the renamed CI jobs don't block the merge.

@naincy128
naincy128 force-pushed the naincy/python-3-12-support branch 2 times, most recently from 50a6197 to 5c72a35 Compare September 30, 2026 05:40
@naincy128
naincy128 force-pushed the naincy/python-3-12-support branch from d095abc to 365b76b Compare September 30, 2026 07:31
@naincy128 naincy128 changed the title feat: add Python 3.12 support and drop Python 3.8 feat: add Python 3.12 support and drop Python 3.8–3.11 Sep 30, 2026
@naincy128
naincy128 merged commit a9635fb into master Sep 30, 2026
3 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