Skip to content

Drop support for Python <3.11 (EOL) - #2313

Open
jorenham wants to merge 2 commits into
python-visualization:mainfrom
jorenham:drop-EOL-py
Open

jorenham wants to merge 2 commits into
python-visualization:mainfrom
jorenham:drop-EOL-py

Conversation

@jorenham

Copy link
Copy Markdown

Hi there :)

At first I was planning on improving static type coverage here, but I then noticed that you were still supporting two EOL Python versions: Python 3.9 has been end of life (EOL) since 2025-10-31, and Python 3.10 since 2026-10-01. They don't receive any security updates anymore, aand without them, the type annotations can be written using modern typing syntax, which helps a lot for readability. So I figured that improving type coverage would be a lot easier if I'd just drop these EOL Python versions first, so here I am :)

A consequence of the new 3.11 lower bound is that ruff check started reporting 149 new (pyupgrade) errors. I auto-fixed most of them using ruff check --fix, leaving 4 errors that I had to fix by hand. These required marking type aliases with TypeAlias so that mypy understands that e.g. "Figure | Div | Popup" is a type expression, rather than a string constant.

When I ran ruff and mypy locally, they seemed happy. I wasn't able to run all pytest tests though; The test failures were mostly in tests/selenium and tests/snapshots , and also one in tests/test_repr. But as far as I can tell, these failures seem unrelated to this PR.

@jorenham

Copy link
Copy Markdown
Author

The CI failure seems unrelated (something to do with https://leafletjs.com/examples/extending-1-classes/ now 404-ing)

This branch was successfully deployed

1 active deployment
pypi — 088624f6 Deployed Oct 21, 2026 by jorenham via packages #1998
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