pkg-about 2.3.0__tar.gz → 2.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pkg_about-2.3.0 → pkg_about-2.4.1}/CHANGES.rst +5 -6
- {pkg_about-2.3.0/src/pkg_about.egg-info → pkg_about-2.4.1}/PKG-INFO +6 -7
- {pkg_about-2.3.0 → pkg_about-2.4.1}/README.rst +1 -1
- {pkg_about-2.3.0 → pkg_about-2.4.1}/noxfile.py +19 -17
- {pkg_about-2.3.0 → pkg_about-2.4.1}/pyproject.toml +18 -18
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about/_about.py +1 -4
- {pkg_about-2.3.0 → pkg_about-2.4.1/src/pkg_about.egg-info}/PKG-INFO +6 -7
- pkg_about-2.4.1/src/pkg_about.egg-info/requires.txt +3 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/tests/test_main.py +1 -5
- pkg_about-2.3.0/src/pkg_about.egg-info/requires.txt +0 -6
- {pkg_about-2.3.0 → pkg_about-2.4.1}/LICENSE +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/MANIFEST.in +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/docs/CHANGES.rst +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/docs/README.rst +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/docs/_static/.keep +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/docs/_templates/.keep +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/docs/conf.py +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/docs/index.rst +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/setup.cfg +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about/__about__.py +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about/__init__.py +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about/py.typed +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about.egg-info/SOURCES.txt +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about.egg-info/dependency_links.txt +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about.egg-info/top_level.txt +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/src/pkg_about.egg-info/zip-safe +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/tests/__init__.py +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/tests/__main__.py +0 -0
- {pkg_about-2.3.0 → pkg_about-2.4.1}/tests/data/setup.cfg +0 -0
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
2.
|
|
5
|
-
------------------
|
|
6
|
-
- Setup update and improvement.
|
|
7
|
-
|
|
8
|
-
2.2.0 (2026-02-13)
|
|
4
|
+
2.4.1 (2026-05-17)
|
|
9
5
|
------------------
|
|
6
|
+
- Added support for GraalPy 3.12
|
|
10
7
|
- Added support for Python 3.15
|
|
11
|
-
-
|
|
8
|
+
- Dropped support for Python 3.10 (due to compatibility issues).
|
|
9
|
+
- Fix for nox 'lint' session.
|
|
10
|
+
- Setup update, fixes and improvement.
|
|
12
11
|
|
|
13
12
|
2.1.2 (2026-01-27)
|
|
14
13
|
------------------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pkg_about
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: Unified access to Python package metadata at runtime.
|
|
5
5
|
Author-email: Adam Karpierz <adam@karpierz.net>
|
|
6
6
|
Maintainer-email: Adam Karpierz <adam@karpierz.net>
|
|
@@ -20,7 +20,6 @@ Classifier: Natural Language :: Polish
|
|
|
20
20
|
Classifier: Operating System :: OS Independent
|
|
21
21
|
Classifier: Programming Language :: Python
|
|
22
22
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -28,15 +27,15 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
28
27
|
Classifier: Programming Language :: Python :: 3.15
|
|
29
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
30
29
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
30
|
+
Classifier: Programming Language :: Python :: Implementation :: GraalPy
|
|
31
31
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
32
32
|
Classifier: Typing :: Typed
|
|
33
|
-
Requires-Python: <4.0.0,>=3.
|
|
33
|
+
Requires-Python: <4.0.0,>=3.11.0
|
|
34
34
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
35
35
|
License-File: LICENSE
|
|
36
|
-
Requires-Dist: importlib-metadata>=4.6; python_full_version < "3.10.2"
|
|
37
36
|
Requires-Dist: typing-extensions>=4.15.0
|
|
38
|
-
Requires-Dist: packaging>=26.
|
|
39
|
-
Requires-Dist: build>=1.
|
|
37
|
+
Requires-Dist: packaging>=26.2.0
|
|
38
|
+
Requires-Dist: build>=1.5.0
|
|
40
39
|
Dynamic: license-file
|
|
41
40
|
|
|
42
41
|
pkg_about
|
|
@@ -74,7 +73,7 @@ Installation
|
|
|
74
73
|
|
|
75
74
|
Prerequisites:
|
|
76
75
|
|
|
77
|
-
+ Python 3.
|
|
76
|
+
+ Python 3.11 or higher
|
|
78
77
|
|
|
79
78
|
* https://www.python.org/
|
|
80
79
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# SPDX-License-Identifier: Zlib
|
|
3
3
|
|
|
4
4
|
# /// script
|
|
5
|
-
# dependencies = ["nox>=2026.
|
|
5
|
+
# dependencies = ["nox>=2026.4.10", "nox_ext", "nox_lib"]
|
|
6
6
|
# ///
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
@@ -47,14 +47,15 @@ rmtree = partial(shutil.rmtree, ignore_errors=True)
|
|
|
47
47
|
def prepare(session: nox.Session) -> None:
|
|
48
48
|
"""Preparing the repository"""
|
|
49
49
|
cmd = here/".aprep.cmd"
|
|
50
|
-
if cmd.is_file():
|
|
50
|
+
if cmd.is_file(): session.run(cmd, external=True)
|
|
51
51
|
|
|
52
52
|
@nox.session(python=[PY_DEFAULT], default=False)
|
|
53
53
|
def cleanup(session: nox.Session) -> None:
|
|
54
54
|
"""Cleaning the repository"""
|
|
55
|
-
#no_package = true
|
|
55
|
+
# no_package = true
|
|
56
56
|
cmd = here/".clean.cmd"
|
|
57
|
-
if cmd.is_file():
|
|
57
|
+
if cmd.is_file():
|
|
58
|
+
session.run(cmd, stderr=subprocess.DEVNULL, external=True)
|
|
58
59
|
rmtree(here/"build")
|
|
59
60
|
rmtree(here/"dist")
|
|
60
61
|
for item in here.glob("src/*.egg-info"): rmtree(item)
|
|
@@ -63,7 +64,7 @@ def cleanup(session: nox.Session) -> None:
|
|
|
63
64
|
rmtree(here/".tox")
|
|
64
65
|
rmtree(here/".nox")
|
|
65
66
|
|
|
66
|
-
@nox.session(python=[*PY_VERSIONS, "pypy3.
|
|
67
|
+
@nox.session(python=[*PY_VERSIONS, "pypy3.11", "graalpy3.12"])
|
|
67
68
|
def tests(session: nox.Session) -> None:
|
|
68
69
|
"""Running tests"""
|
|
69
70
|
session.install(".", "--group=test")
|
|
@@ -76,7 +77,7 @@ def coverage(session: nox.Session) -> None:
|
|
|
76
77
|
session.install(".", "--group=coverage")
|
|
77
78
|
env_dir = Path(session.virtualenv.location)
|
|
78
79
|
data_file = env_dir/".coverage"
|
|
79
|
-
html_dir = env_dir/
|
|
80
|
+
html_dir = env_dir/".coverage_html"
|
|
80
81
|
session.py("-m", "coverage", "erase", f"--data-file={data_file}")
|
|
81
82
|
session.py("-m", "coverage", "run", f"--data-file={data_file}", "-m", "tests",
|
|
82
83
|
*session.posargs, success_codes=range(0, 256))
|
|
@@ -91,8 +92,8 @@ def docs(session: nox.Session) -> None:
|
|
|
91
92
|
html_dir = here/"build/docs/html"
|
|
92
93
|
session.py("-m", "sphinxlint", "-i", "#arch", "-i", ".nox", "-i", ".tox",
|
|
93
94
|
"-i", "build", "-i", "dist", "-i", ".mypy_cache")
|
|
94
|
-
#session.
|
|
95
|
-
#
|
|
95
|
+
# session.py("-m", "sphinx.apidoc", "-f", *[session.site_packages/f"{item}/"
|
|
96
|
+
# for item in PKG.TOP_LEVELS])
|
|
96
97
|
session.py("-m", "sphinx.cmd.build", "-W", "-a", "-b", "html", "-E", here/"docs", html_dir)
|
|
97
98
|
session.py("-m", "sphinx.cmd.build", "-W", "-a", "-b", "doctest", here/"docs", html_dir)
|
|
98
99
|
session.py("-m", "sphinx.cmd.build", "-W", "-a", "-b", "linkcheck", here/"docs", html_dir)
|
|
@@ -119,9 +120,9 @@ def publish(session: nox.Session) -> None:
|
|
|
119
120
|
env_dir = Path(session.virtualenv.location)
|
|
120
121
|
gh_pages_dir = env_dir/"gh-pages"
|
|
121
122
|
rmtree(gh_pages_dir)
|
|
122
|
-
session.
|
|
123
|
-
#session.
|
|
124
|
-
session.
|
|
123
|
+
session.git("worktree", "prune")
|
|
124
|
+
# session.git("worktree", "add", gh_pages_dir, "gh-pages")
|
|
125
|
+
session.git("worktree", "add", "-B", "gh-pages", gh_pages_dir)
|
|
125
126
|
# clean old docs
|
|
126
127
|
(gh_pages_dir/".nojekyll").touch()
|
|
127
128
|
for fpath in gh_pages_dir.iterdir():
|
|
@@ -133,23 +134,24 @@ def publish(session: nox.Session) -> None:
|
|
|
133
134
|
# copy new docs
|
|
134
135
|
copytree(here/"build/docs/html", gh_pages_dir, dirs_exist_ok=True)
|
|
135
136
|
# commit + push
|
|
136
|
-
session.
|
|
137
|
-
session.
|
|
138
|
-
session.
|
|
137
|
+
session.git("-C", gh_pages_dir, "add", ".")
|
|
138
|
+
session.git("-C", gh_pages_dir, "commit", "-m", "Update documentation")
|
|
139
|
+
session.git("-C", gh_pages_dir, "push", "--force", "origin", "gh-pages")
|
|
139
140
|
# remove worktree
|
|
140
|
-
session.
|
|
141
|
+
session.git("worktree", "remove", "--force", gh_pages_dir)
|
|
141
142
|
rmtree(gh_pages_dir)
|
|
142
|
-
session.
|
|
143
|
+
session.git("worktree", "prune")
|
|
143
144
|
|
|
144
145
|
@nox.session(python=[PY_DEFAULT])
|
|
145
146
|
def typing(session: nox.Session) -> None:
|
|
146
147
|
"""Static type checking"""
|
|
147
|
-
session.install(".", "--group=
|
|
148
|
+
session.install(".", "--group=typing")
|
|
148
149
|
session.py("-m", "mypy")
|
|
149
150
|
|
|
150
151
|
@nox.session(python=[PY_DEFAULT])
|
|
151
152
|
def lint(session: nox.Session) -> None:
|
|
152
153
|
"""Checking code style and quality"""
|
|
153
154
|
session.install(".", "--group=lint")
|
|
155
|
+
env_dir = Path(session.virtualenv.location)
|
|
154
156
|
out_file = env_dir/"flake8out.txt"
|
|
155
157
|
session.py("-m", "flake8", "--output-file", out_file, here/"src/")
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
[build-system]
|
|
5
5
|
build-backend = "setuptools.build_meta"
|
|
6
|
-
requires = [ "setuptools>=81.0.0", "packaging>=26.
|
|
6
|
+
requires = [ "setuptools>=81.0.0", "packaging>=26.2.0" ]
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "pkg_about"
|
|
10
|
-
version = "2.
|
|
10
|
+
version = "2.4.1"
|
|
11
11
|
description = "Unified access to Python package metadata at runtime."
|
|
12
12
|
keywords = [ "pkg_about", "__about__", "packaging" ]
|
|
13
13
|
license = "Zlib"
|
|
@@ -25,7 +25,7 @@ urls.Download = "https://pypi.org/project/pkg-about/"
|
|
|
25
25
|
urls.Repository = "https://github.com/karpierz/pkg_about"
|
|
26
26
|
urls.Tracker = "https://github.com/karpierz/pkg_about/issues"
|
|
27
27
|
urls.Sponsoring = "https://www.paypal.com/donate/?hosted_button_id=FX8L7CJUGLW7S"
|
|
28
|
-
requires-python = ">=3.
|
|
28
|
+
requires-python = ">=3.11.0,<4.0.0"
|
|
29
29
|
classifiers = [
|
|
30
30
|
"Development Status :: 5 - Production/Stable",
|
|
31
31
|
"Intended Audience :: Developers",
|
|
@@ -33,7 +33,6 @@ classifiers = [
|
|
|
33
33
|
"Operating System :: OS Independent",
|
|
34
34
|
"Programming Language :: Python",
|
|
35
35
|
"Programming Language :: Python :: 3 :: Only",
|
|
36
|
-
"Programming Language :: Python :: 3.10",
|
|
37
36
|
"Programming Language :: Python :: 3.11",
|
|
38
37
|
"Programming Language :: Python :: 3.12",
|
|
39
38
|
"Programming Language :: Python :: 3.13",
|
|
@@ -41,6 +40,7 @@ classifiers = [
|
|
|
41
40
|
"Programming Language :: Python :: 3.15",
|
|
42
41
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
43
42
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
43
|
+
"Programming Language :: Python :: Implementation :: GraalPy",
|
|
44
44
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
45
45
|
"Typing :: Typed",
|
|
46
46
|
]
|
|
@@ -50,37 +50,37 @@ dynamic = [ "readme" ]
|
|
|
50
50
|
# entry-points.pkg_about.magical.epoint = "pkg_about:main_epoint"
|
|
51
51
|
dependencies = [
|
|
52
52
|
# mandatory
|
|
53
|
-
"importlib-metadata>=4.6; python_full_version<'3.10.2'", # Fixes a stdlib bug
|
|
54
53
|
"typing-extensions>=4.15.0",
|
|
55
|
-
"packaging>=26.
|
|
54
|
+
"packaging>=26.2.0",
|
|
56
55
|
# others
|
|
57
|
-
"build>=1.
|
|
56
|
+
"build>=1.5.0",
|
|
58
57
|
]
|
|
59
58
|
|
|
60
59
|
[dependency-groups]
|
|
61
60
|
base = [
|
|
62
|
-
"pip>=26.
|
|
61
|
+
"pip>=26.1.1; platform_python_implementation!='GraalVM'",
|
|
62
|
+
"pip>=24.3.1; platform_python_implementation=='GraalVM'",
|
|
63
63
|
"setuptools>=81.0.0",
|
|
64
64
|
]
|
|
65
65
|
test = [
|
|
66
66
|
{ include-group = "base" },
|
|
67
|
-
"
|
|
68
|
-
"deepdiff
|
|
69
|
-
"rich>=
|
|
67
|
+
"deepdiff>=9.1.0; python_version<'3.15' and platform_python_implementation!='GraalVM'",
|
|
68
|
+
"deepdiff<=9.0.0; python_version>='3.15' or platform_python_implementation=='GraalVM'",
|
|
69
|
+
"rich>=15.0.0",
|
|
70
70
|
"appdirs==1.4.4",
|
|
71
71
|
]
|
|
72
72
|
coverage = [
|
|
73
73
|
{ include-group = "test" },
|
|
74
|
-
"coverage>=7.
|
|
74
|
+
"coverage>=7.14.0",
|
|
75
75
|
"covdefaults>=2.3.0",
|
|
76
76
|
"diff-cover>=10.2.0",
|
|
77
77
|
]
|
|
78
78
|
docs = [
|
|
79
79
|
{ include-group = "base" },
|
|
80
|
-
"sphinx>=
|
|
80
|
+
"sphinx>=9.0.4",
|
|
81
81
|
"pygments_ansi_color>=0.3.0", # fix sphinx load error
|
|
82
82
|
"roman_numerals>=4.1.0", # -||-
|
|
83
|
-
"sphinx-autodoc-typehints>=3.
|
|
83
|
+
"sphinx-autodoc-typehints>=3.6.1",
|
|
84
84
|
"sphinx-toolbox>=4.1.2",
|
|
85
85
|
"sphinx-tabs>=3.4.5", # Do not change - sphinx-toolbox requires <3.4.7
|
|
86
86
|
"sphinx-copybutton>=0.5.2",
|
|
@@ -92,15 +92,15 @@ docs = [
|
|
|
92
92
|
build = [
|
|
93
93
|
{ include-group = "test" },
|
|
94
94
|
"check-manifest>=0.51",
|
|
95
|
-
"build>=1.
|
|
95
|
+
"build>=1.5.0",
|
|
96
96
|
"twine>=6.2.0",
|
|
97
97
|
]
|
|
98
98
|
publish = [
|
|
99
99
|
"twine>=6.2.0",
|
|
100
100
|
]
|
|
101
|
-
|
|
101
|
+
typing = [
|
|
102
102
|
{ include-group = "base" },
|
|
103
|
-
"mypy>=1.
|
|
103
|
+
"mypy>=2.1.0",
|
|
104
104
|
"mypy_extensions>=1.1.0",
|
|
105
105
|
"types-setuptools>=81.0.0.20260209",
|
|
106
106
|
]
|
|
@@ -216,7 +216,7 @@ ignore = [
|
|
|
216
216
|
count = true
|
|
217
217
|
|
|
218
218
|
[tool.mypy]
|
|
219
|
-
python_version = "3.
|
|
219
|
+
python_version = "3.11"
|
|
220
220
|
strict = true
|
|
221
221
|
sqlite_cache = true
|
|
222
222
|
warn_unused_configs = true
|
|
@@ -16,10 +16,7 @@ if sys.version_info >= (3, 12, 6):
|
|
|
16
16
|
getaddresses = partial(getaddresses, strict=False)
|
|
17
17
|
parseaddr = partial(parseaddr, strict=False)
|
|
18
18
|
else: pass # pragma: no cover
|
|
19
|
-
|
|
20
|
-
import importlib.metadata as importlib_metadata
|
|
21
|
-
else: # pragma: no cover
|
|
22
|
-
import importlib_metadata # type: ignore[no-redef,import-not-found]
|
|
19
|
+
import importlib.metadata as importlib_metadata
|
|
23
20
|
import packaging.version
|
|
24
21
|
import build.util
|
|
25
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pkg_about
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: Unified access to Python package metadata at runtime.
|
|
5
5
|
Author-email: Adam Karpierz <adam@karpierz.net>
|
|
6
6
|
Maintainer-email: Adam Karpierz <adam@karpierz.net>
|
|
@@ -20,7 +20,6 @@ Classifier: Natural Language :: Polish
|
|
|
20
20
|
Classifier: Operating System :: OS Independent
|
|
21
21
|
Classifier: Programming Language :: Python
|
|
22
22
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -28,15 +27,15 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
28
27
|
Classifier: Programming Language :: Python :: 3.15
|
|
29
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
30
29
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
30
|
+
Classifier: Programming Language :: Python :: Implementation :: GraalPy
|
|
31
31
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
32
32
|
Classifier: Typing :: Typed
|
|
33
|
-
Requires-Python: <4.0.0,>=3.
|
|
33
|
+
Requires-Python: <4.0.0,>=3.11.0
|
|
34
34
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
35
35
|
License-File: LICENSE
|
|
36
|
-
Requires-Dist: importlib-metadata>=4.6; python_full_version < "3.10.2"
|
|
37
36
|
Requires-Dist: typing-extensions>=4.15.0
|
|
38
|
-
Requires-Dist: packaging>=26.
|
|
39
|
-
Requires-Dist: build>=1.
|
|
37
|
+
Requires-Dist: packaging>=26.2.0
|
|
38
|
+
Requires-Dist: build>=1.5.0
|
|
40
39
|
Dynamic: license-file
|
|
41
40
|
|
|
42
41
|
pkg_about
|
|
@@ -74,7 +73,7 @@ Installation
|
|
|
74
73
|
|
|
75
74
|
Prerequisites:
|
|
76
75
|
|
|
77
|
-
+ Python 3.
|
|
76
|
+
+ Python 3.11 or higher
|
|
78
77
|
|
|
79
78
|
* https://www.python.org/
|
|
80
79
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
# SPDX-License-Identifier: Zlib
|
|
3
3
|
|
|
4
4
|
import unittest
|
|
5
|
-
import sys
|
|
6
5
|
import os
|
|
7
6
|
import copy
|
|
8
7
|
import stat
|
|
9
8
|
import shutil
|
|
10
9
|
from pathlib import Path
|
|
10
|
+
import tomllib
|
|
11
11
|
|
|
12
12
|
from . import test_dir
|
|
13
13
|
|
|
@@ -27,10 +27,6 @@ class MainTestCase(unittest.TestCase):
|
|
|
27
27
|
@classmethod
|
|
28
28
|
def setUpClass(cls):
|
|
29
29
|
pyproject_path = Path(__file__).resolve().parent.parent/"pyproject.toml"
|
|
30
|
-
if sys.version_info >= (3, 11):
|
|
31
|
-
import tomllib
|
|
32
|
-
else: # pragma: no cover
|
|
33
|
-
import tomli as tomllib
|
|
34
30
|
with pyproject_path.open("rb") as file:
|
|
35
31
|
metadata = tomllib.load(file).get("project", {})
|
|
36
32
|
cls.version_expected = metadata["version"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|