pkg-about 2.3.0__tar.gz → 2.4.0__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.
Files changed (29) hide show
  1. {pkg_about-2.3.0 → pkg_about-2.4.0}/CHANGES.rst +7 -0
  2. {pkg_about-2.3.0/src/pkg_about.egg-info → pkg_about-2.4.0}/PKG-INFO +6 -7
  3. {pkg_about-2.3.0 → pkg_about-2.4.0}/README.rst +1 -1
  4. {pkg_about-2.3.0 → pkg_about-2.4.0}/noxfile.py +4 -3
  5. {pkg_about-2.3.0 → pkg_about-2.4.0}/pyproject.toml +16 -17
  6. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about/_about.py +1 -4
  7. {pkg_about-2.3.0 → pkg_about-2.4.0/src/pkg_about.egg-info}/PKG-INFO +6 -7
  8. pkg_about-2.4.0/src/pkg_about.egg-info/requires.txt +3 -0
  9. {pkg_about-2.3.0 → pkg_about-2.4.0}/tests/test_main.py +1 -5
  10. pkg_about-2.3.0/src/pkg_about.egg-info/requires.txt +0 -6
  11. {pkg_about-2.3.0 → pkg_about-2.4.0}/LICENSE +0 -0
  12. {pkg_about-2.3.0 → pkg_about-2.4.0}/MANIFEST.in +0 -0
  13. {pkg_about-2.3.0 → pkg_about-2.4.0}/docs/CHANGES.rst +0 -0
  14. {pkg_about-2.3.0 → pkg_about-2.4.0}/docs/README.rst +0 -0
  15. {pkg_about-2.3.0 → pkg_about-2.4.0}/docs/_static/.keep +0 -0
  16. {pkg_about-2.3.0 → pkg_about-2.4.0}/docs/_templates/.keep +0 -0
  17. {pkg_about-2.3.0 → pkg_about-2.4.0}/docs/conf.py +0 -0
  18. {pkg_about-2.3.0 → pkg_about-2.4.0}/docs/index.rst +0 -0
  19. {pkg_about-2.3.0 → pkg_about-2.4.0}/setup.cfg +0 -0
  20. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about/__about__.py +0 -0
  21. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about/__init__.py +0 -0
  22. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about/py.typed +0 -0
  23. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about.egg-info/SOURCES.txt +0 -0
  24. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about.egg-info/dependency_links.txt +0 -0
  25. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about.egg-info/top_level.txt +0 -0
  26. {pkg_about-2.3.0 → pkg_about-2.4.0}/src/pkg_about.egg-info/zip-safe +0 -0
  27. {pkg_about-2.3.0 → pkg_about-2.4.0}/tests/__init__.py +0 -0
  28. {pkg_about-2.3.0 → pkg_about-2.4.0}/tests/__main__.py +0 -0
  29. {pkg_about-2.3.0 → pkg_about-2.4.0}/tests/data/setup.cfg +0 -0
@@ -1,6 +1,13 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 2.4.0 (2026-05-11)
5
+ ------------------
6
+ - Added support for GraalPy 3.12
7
+ - Dropped support for Python 3.10 (due to compatibility issues).
8
+ - Fix for nox 'lint' session.
9
+ - Setup update and improvement.
10
+
4
11
  2.3.0 (2026-03-30)
5
12
  ------------------
6
13
  - Setup update and improvement.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pkg_about
3
- Version: 2.3.0
3
+ Version: 2.4.0
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.10.0
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.0.0
39
- Requires-Dist: build>=1.4.2
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.10 or higher
76
+ + Python 3.11 or higher
78
77
 
79
78
  * https://www.python.org/
80
79
 
@@ -33,7 +33,7 @@ Installation
33
33
 
34
34
  Prerequisites:
35
35
 
36
- + Python 3.10 or higher
36
+ + Python 3.11 or higher
37
37
 
38
38
  * https://www.python.org/
39
39
 
@@ -2,7 +2,7 @@
2
2
  # SPDX-License-Identifier: Zlib
3
3
 
4
4
  # /// script
5
- # dependencies = ["nox>=2026.2.9", "nox_ext", "nox_lib"]
5
+ # dependencies = ["nox>=2026.4.10", "nox_ext", "nox_lib"]
6
6
  # ///
7
7
 
8
8
  from __future__ import annotations
@@ -63,7 +63,7 @@ def cleanup(session: nox.Session) -> None:
63
63
  rmtree(here/".tox")
64
64
  rmtree(here/".nox")
65
65
 
66
- @nox.session(python=[*PY_VERSIONS, "pypy3.10", "pypy3.11"])
66
+ @nox.session(python=[*PY_VERSIONS, "pypy3.11", "graalpy3.12"])
67
67
  def tests(session: nox.Session) -> None:
68
68
  """Running tests"""
69
69
  session.install(".", "--group=test")
@@ -144,12 +144,13 @@ def publish(session: nox.Session) -> None:
144
144
  @nox.session(python=[PY_DEFAULT])
145
145
  def typing(session: nox.Session) -> None:
146
146
  """Static type checking"""
147
- session.install(".", "--group=type")
147
+ session.install(".", "--group=typing")
148
148
  session.py("-m", "mypy")
149
149
 
150
150
  @nox.session(python=[PY_DEFAULT])
151
151
  def lint(session: nox.Session) -> None:
152
152
  """Checking code style and quality"""
153
153
  session.install(".", "--group=lint")
154
+ env_dir = Path(session.virtualenv.location)
154
155
  out_file = env_dir/"flake8out.txt"
155
156
  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.0.0" ]
6
+ requires = [ "setuptools>=81.0.0", "packaging>=26.2.0" ]
7
7
 
8
8
  [project]
9
9
  name = "pkg_about"
10
- version = "2.3.0"
10
+ version = "2.4.0"
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.10.0,<4.0.0"
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,36 @@ 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.0.0",
54
+ "packaging>=26.2.0",
56
55
  # others
57
- "build>=1.4.2",
56
+ "build>=1.5.0",
58
57
  ]
59
58
 
60
59
  [dependency-groups]
61
60
  base = [
62
- "pip>=26.0.1",
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
- "tomli>=2.4.1; python_version<'3.11'",
68
67
  "deepdiff>=9.0.0",
69
- "rich>=14.3.3",
68
+ "rich>=15.0.0",
70
69
  "appdirs==1.4.4",
71
70
  ]
72
71
  coverage = [
73
72
  { include-group = "test" },
74
- "coverage>=7.13.5",
73
+ "coverage>=7.14.0",
75
74
  "covdefaults>=2.3.0",
76
75
  "diff-cover>=10.2.0",
77
76
  ]
78
77
  docs = [
79
78
  { include-group = "base" },
80
- "sphinx>=8.1.3",
79
+ "sphinx>=9.0.4",
81
80
  "pygments_ansi_color>=0.3.0", # fix sphinx load error
82
81
  "roman_numerals>=4.1.0", # -||-
83
- "sphinx-autodoc-typehints>=3.0.1",
82
+ "sphinx-autodoc-typehints>=3.6.1",
84
83
  "sphinx-toolbox>=4.1.2",
85
84
  "sphinx-tabs>=3.4.5", # Do not change - sphinx-toolbox requires <3.4.7
86
85
  "sphinx-copybutton>=0.5.2",
@@ -92,15 +91,15 @@ docs = [
92
91
  build = [
93
92
  { include-group = "test" },
94
93
  "check-manifest>=0.51",
95
- "build>=1.4.2",
94
+ "build>=1.5.0",
96
95
  "twine>=6.2.0",
97
96
  ]
98
97
  publish = [
99
98
  "twine>=6.2.0",
100
99
  ]
101
- type = [
100
+ typing = [
102
101
  { include-group = "base" },
103
- "mypy>=1.19.1",
102
+ "mypy>=2.1.0",
104
103
  "mypy_extensions>=1.1.0",
105
104
  "types-setuptools>=81.0.0.20260209",
106
105
  ]
@@ -216,7 +215,7 @@ ignore = [
216
215
  count = true
217
216
 
218
217
  [tool.mypy]
219
- python_version = "3.10"
218
+ python_version = "3.11"
220
219
  strict = true
221
220
  sqlite_cache = true
222
221
  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
- if sys.version_info >= (3, 10, 2):
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.0
3
+ Version: 2.4.0
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.10.0
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.0.0
39
- Requires-Dist: build>=1.4.2
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.10 or higher
76
+ + Python 3.11 or higher
78
77
 
79
78
  * https://www.python.org/
80
79
 
@@ -0,0 +1,3 @@
1
+ typing-extensions>=4.15.0
2
+ packaging>=26.2.0
3
+ build>=1.5.0
@@ -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"]
@@ -1,6 +0,0 @@
1
- typing-extensions>=4.15.0
2
- packaging>=26.0.0
3
- build>=1.4.2
4
-
5
- [:python_full_version < "3.10.2"]
6
- importlib-metadata>=4.6
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