Testing - python 3.7

23 views
Skip to first unread message

bell...@gmail.com

unread,
Mar 31, 2026, 8:08:41 PM (4 days ago) Mar 31
to weewx-development

I’m wondering how WeeWX developers, core and extension writers, are testing against older versions of python. I’m using GitHub Actions for my CI/CD. The oldest python version that it has is 3.9.x. I think I could implement something using pyenv to test against older versions like 3.7.x. But I think it will be a bit of work, so I am looking to see how others are dealing with this... and if I could ‘steal’ something.


As an aside, how do the WeeWX developers decide when to stop support for dependencies that reached EOL?


Thanks. rich

Tom Keffer

unread,
Mar 31, 2026, 9:19:37 PM (4 days ago) Mar 31
to bell...@gmail.com, weewx-development
Hi, Rich

I use pyenv on both Linux and macOS. It supports versions going back to Python 2.1, making it easy to build legacy environments. Using it, I set up the appropriate virtual environments and run the test suites locally. Typically, I maintain four or five venvs, each with a different version of Python (and, by implication, different versions of the dependencies).

By design, WeeWX does not have many dependencies and—with the exception of Pillow—they have been remarkably stable. Pillow has caused problems in the past, but we have always found workarounds that allow us to continue supporting older versions (back to v5.2). The ephem module is getting long in the tooth, but it still supports both modern and legacy versions of Python.

So, to answer your question: it hasn't come up yet!

It is tempting to drop older versions of Python, but the newer language features don't hold much appeal for me. For example, every time I try type annotations, I spend more time getting the signatures right than I save in debugging. Plus, they're ugly. Consequently, I continue to document types in docstrings. The one new language feature that could be useful is t-strings, but they only recently appeared, so to use them we'd have to give up almost every older version of Python..

-tk




--
You received this message because you are subscribed to the Google Groups "weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-developm...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/weewx-development/0c0ef9e2-51ac-4fcc-a35b-17a350e34637n%40googlegroups.com.

Vince Skahan

unread,
Apr 1, 2026, 5:34:44 PM (3 days ago) Apr 1
to weewx-development
I wouldn't bother with older than 3.9

Quick look on rpmfind.net and debian wiki says:
  • Debian-11 (EOL) or later is python-3.9 or later - they EOL'd python 3.9 in 5/2022
  • Ubuntu 22.04 LTS or later is at least python-3.9, but it was available for 20.04 as well
  • anything RHEL-9 is python-3.9 or later,  but it was available for RHEL-8 as well
I see python-3.9 updates from CentOS-9 Stream as recently as last month.  The last ubuntu 3.9 update looks like it was in 12/2021.  The last debian 3.9 update seems to have been 5/2022.
Reply all
Reply to author
Forward
0 new messages