Skip to content

Commit 01bc75e

Browse files
committed
Drop support for Python 3.10
1 parent e966ca5 commit 01bc75e

9 files changed

Lines changed: 56 additions & 164 deletions

File tree

.github/workflows/tests.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
# For Python, we only test against the oldest and newest major supported version and skip intermediates. We
3333
# also test on the upcoming development version to anticipate issues.
3434
python-version:
35-
- "3.10"
35+
- "3.11"
3636
- "3.13"
3737
- "3.14"
3838
include:
@@ -194,11 +194,11 @@ jobs:
194194
# code, output, error = run_cmd(
195195
# File ".../site-packages/click_extra/run.py", line 110, in run_cmd
196196
# process = subprocess.run(
197-
# File ".../python3.10/subprocess.py", line 503, in run
197+
# File ".../python3.11/subprocess.py", line 503, in run
198198
# with Popen(*popenargs, **kwargs) as process:
199-
# File ".../python3.10/subprocess.py", line 971, in __init__
199+
# File ".../python3.11/subprocess.py", line 971, in __init__
200200
# self._execute_child(args, executable, preexec_fn, close_fds,
201-
# File ".../python3.10/subprocess.py", line 1847, in _execute_child
201+
# File ".../python3.11/subprocess.py", line 1847, in _execute_child
202202
# raise child_exception_type(errno_num, err_msg, err_filename)
203203
# FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/yarn'
204204
#

changelog.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
> [!IMPORTANT]
66
> This version is not released yet and is under active development.
77
8+
- [mpm] Drop support for Python 3.10.
89
- [mpm] Fix parsing of package specifiers with multiple version separators.
910
- [npm] Fix retrieval of installed packages.
1011
- [fwupd] Remove `--offline` parameter which has been silently disabled and has now been remove in v2.0.0 of `fwupd`. Refs {pr}`1511`.
11-
- [bar-plugin] Bump minimal Python version to 3.10 to aligns it with `mpm` itself.
12+
- [bar-plugin] Bump minimal Python version to 3.11 to aligns it with `mpm` itself.
1213
- [mpm] Remove reference to `python3` command in documentation to reduce confusion.
1314
- [mpm] Build `arm64` binary for Linux and Windows.
1415
- [mpm] Use post-build binary test plans to check CLI behavior.

docs/bar-plugin.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Once `mpm` is installed on your system, it can dynamiccaly be located with the d
8383

8484
```shell-session
8585
$ mpm --bar-plugin-path
86-
~/Library/Python/3.10/lib/python/site-packages/meta_package_manager/bar_plugin.py
86+
~/Library/Python/3.11/lib/python/site-packages/meta_package_manager/bar_plugin.py
8787
```
8888

8989
This option is handy for deployment and initial configuration of Xbar/SwiftBar. I personally

docs/conf.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
from __future__ import annotations
22

3-
import sys
3+
import tomllib
44
from pathlib import Path
55

6-
if sys.version_info >= (3, 11):
7-
import tomllib
8-
else:
9-
import tomli as tomllib # type: ignore[import-not-found]
10-
116
project_path = Path(__file__).parent.parent.resolve()
127

138
# Fetch general information about the project from pyproject.toml.

meta_package_manager/bar_plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
from textwrap import dedent
6969
from typing import Generator
7070

71-
PYTHON_MIN_VERSION = (3, 10, 0)
71+
PYTHON_MIN_VERSION = (3, 11, 0)
7272
"""Minimal requirement is aligned to mpm."""
7373

7474
MPM_MIN_VERSION = (5, 0, 0)

meta_package_manager/cli.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import logging
2020
import sys
21+
import tomllib
2122
from collections import Counter, namedtuple
2223
from configparser import RawConfigParser
2324
from datetime import datetime
@@ -54,12 +55,6 @@
5455

5556
from meta_package_manager.inventory import MAIN_PLATFORMS
5657

57-
if sys.version_info >= (3, 11):
58-
import tomllib
59-
else:
60-
import tomli as tomllib # type: ignore[import-not-found]
61-
62-
6358
from . import __version__, bar_plugin
6459
from .base import (
6560
CLIError,

pyproject.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
name = "meta-package-manager"
44
version = "5.21.0"
55
# Python versions and their status: https://devguide.python.org/versions/
6-
requires-python = ">= 3.10"
6+
requires-python = ">= 3.11"
77
description = "🎁 wraps all package managers with a unifying CLI"
88
authors = [{ name = "Kevin Deldycke", email = "kevin@deldycke.com" }]
99
readme = "readme.md"
@@ -79,7 +79,6 @@ classifiers = [
7979
'Operating System :: Microsoft :: Windows',
8080
'Operating System :: POSIX :: Linux',
8181
"Programming Language :: Python :: 3",
82-
"Programming Language :: Python :: 3.10",
8382
"Programming Language :: Python :: 3.11",
8483
"Programming Language :: Python :: 3.12",
8584
"Programming Language :: Python :: 3.13",
@@ -101,7 +100,6 @@ dependencies = [
101100
"packageurl-python ~= 0.16.0",
102101
"spdx-tools ~= 0.8.2",
103102
"tabulate [widechars] ~= 0.9.0",
104-
"tomli ~= 2.0.1 ; python_version < '3.11'",
105103
"tomli_w ~= 1.2.0",
106104
"xmltodict ~= 0.14.2",
107105
]
@@ -135,7 +133,6 @@ docs = [
135133
"sphinx-issues ~= 5.0.0",
136134
"sphinxcontrib-mermaid ~= 1.0.0",
137135
"sphinxext-opengraph ~= 0.10.0",
138-
"tomli ~= 2.0.1 ; python_version < '3.11'",
139136
]
140137

141138
[project.urls]

tests/test_docs.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import json
2020
import re
21-
import sys
21+
import tomllib
2222
from collections import Counter
2323
from itertools import permutations
2424
from pathlib import Path
@@ -27,17 +27,12 @@
2727
from extra_platforms import Group
2828
from yaml import Loader, load
2929

30-
from .conftest import all_managers
31-
32-
if sys.version_info >= (3, 11):
33-
import tomllib
34-
else:
35-
import tomli as tomllib # type: ignore[import-not-found]
36-
3730
from meta_package_manager.inventory import MAIN_PLATFORMS
3831
from meta_package_manager.labels import LABELS, MANAGER_PREFIX, PLATFORM_PREFIX
3932
from meta_package_manager.pool import pool
4033

34+
from .conftest import all_managers
35+
4136
""" Test all non-code artifacts depending on manager definitions.
4237
4338
Covers:

0 commit comments

Comments
 (0)