Remove support for Python 3.8/3.9 and Ubuntu 20.04#3365
Open
ipspace wants to merge 4 commits into
Open
Conversation
* Remove Python 3.8/3.9 from package setup and CI/CD pipelines * The lowest Python version that needs to be tested is 3.10 * Remove all references to Ubuntu 20.04 Other cleanup: * Reword 'box building caveats' documentation * Use a specific Python version in ruff CI/CD action * Use a consistent Python version in all CI/CD actions that specify one
There was a problem hiding this comment.
Pull request overview
This PR updates netlab’s supported platform baseline by dropping Python 3.8/3.9 and removing Ubuntu 20.04 references across packaging metadata, CI workflows, and installation documentation.
Changes:
- Update CI matrices and tooling workflows to test from Python 3.10+ (and pin ruff/yamllint workflows to a specific Python version).
- Remove Python 3.8/3.9 from package classifiers and update docs/install guidance accordingly.
- Remove Ubuntu 20.04 mentions from install scripts/docs and reword libvirt box-building caveats.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Removes 3.8/3.9 classifiers (but still needs min-version enforcement updates). |
| netsim/install/install.yml | Updates “tested on” distro text to drop Ubuntu 20.04 references. |
| docs/netlab/install.md | Updates Ubuntu testing footnote text (but footnote id still implies 20.04). |
| docs/labs/libvirt-box-caveats.md | Rewords caveats and removes Ubuntu 20.04 mention. |
| docs/install.md | Updates stated minimum Python version in docs (but breaks footnote reference). |
| .github/workflows/t-yamllint.yml | Pins yamllint workflow to a newer Python version. |
| .github/workflows/t-push.yml | Updates push-test Python matrix to start at 3.10. |
| .github/workflows/t-pull.yml | Updates PR-test Python matrix to start at 3.10. |
| .github/workflows/ruff.yml | Pins ruff workflow to a specific Python version. |
Comments suppressed due to low confidence (1)
setup.py:34
- The PR removes 3.8/3.9 classifiers, but setup.py still declares Python 3.8+ support via the runtime guard (sys.version_info < (3, 8)), the error message, and python_requires='>=3.8'; this makes packaging metadata inconsistent with the new minimum (3.10) and would still allow installs on 3.8/3.9. Update the version guard and python_requires to >=3.10 (and align any related setup files, e.g., legacy/setup.py, if they’re still published).
classifiers=[
"Topic :: Utilities",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
| ], | ||
| url="https://github.com/ipspace/netlab", | ||
| python_requires='>=3.8', # Due to e.g. 'capture_output' in subprocess.run | ||
| python_requires='>=3.10', # Due to e.g. 'capture_output' in subprocess.run |
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: 3.13 | ||
| python-version: 3.14 |
Comment on lines
+3
to
6
| *netlab* is a Python3 package[^NSL] that uses Python 3.10[^P310] or later. We recommend using _netlab_ on Linux (we're doing all our tests on Ubuntu), including Windows Subsystem for Linux or [Multipass on macOS](https://blog.ipspace.net/2024/03/netlab-bgp-apple-silicon/). While you might be able to get _netlab_ to run natively on Windows or macOS with VirtualBox, we no longer support that. | ||
|
|
||
| [^P38]: We keep supporting Python 3.8 because it's the default Python distribution on Ubuntu 20.04. | ||
| [^P310]: Python 3.10 is the minimum supported version because it's the default Python distribution on Ubuntu 22.04. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(that will make netlab uninstallable on most Ubuntu 20.04 hosts)
Other cleanup: