renumerate 2.3.0__tar.gz → 2.4.2__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.
- {renumerate-2.3.0 → renumerate-2.4.2}/CHANGES.rst +8 -0
- {renumerate-2.3.0/src/renumerate.egg-info → renumerate-2.4.2}/PKG-INFO +5 -5
- {renumerate-2.3.0 → renumerate-2.4.2}/README.rst +1 -1
- {renumerate-2.3.0 → renumerate-2.4.2}/noxfile.py +19 -17
- {renumerate-2.3.0 → renumerate-2.4.2}/pyproject.toml +17 -15
- {renumerate-2.3.0 → renumerate-2.4.2/src/renumerate.egg-info}/PKG-INFO +5 -5
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate.egg-info/requires.txt +1 -1
- {renumerate-2.3.0 → renumerate-2.4.2}/LICENSE +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/MANIFEST.in +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/docs/CHANGES.rst +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/docs/README.rst +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/docs/_static/.keep +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/docs/_templates/.keep +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/docs/conf.py +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/docs/index.rst +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/setup.cfg +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate/__about__.py +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate/__init__.py +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate/_renumerate.py +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate/py.typed +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate.egg-info/SOURCES.txt +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate.egg-info/dependency_links.txt +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate.egg-info/top_level.txt +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/src/renumerate.egg-info/zip-safe +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/tests/__init__.py +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/tests/__main__.py +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/tests/data/.keep +0 -0
- {renumerate-2.3.0 → renumerate-2.4.2}/tests/test_main.py +0 -0
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
2.4.2 (2026-05-17)
|
|
5
|
+
------------------
|
|
6
|
+
- Added support for GraalPy 3.12
|
|
7
|
+
- Full support for Python 3.15
|
|
8
|
+
- Dropped support for Python 3.10 (due to compatibility issues).
|
|
9
|
+
- Fix for nox 'lint' session.
|
|
10
|
+
- Setup update, fixes and improvement.
|
|
11
|
+
|
|
4
12
|
2.3.0 (2026-03-30)
|
|
5
13
|
------------------
|
|
6
14
|
- Setup update and improvement.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: renumerate
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.2
|
|
4
4
|
Summary: Reverse enumerate.
|
|
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,13 +27,14 @@ 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
36
|
Requires-Dist: typing-extensions>=4.15.0
|
|
37
|
-
Requires-Dist: pkg-about>=2.
|
|
37
|
+
Requires-Dist: pkg-about>=2.4.0
|
|
38
38
|
Dynamic: license-file
|
|
39
39
|
|
|
40
40
|
renumerate
|
|
@@ -94,7 +94,7 @@ Installation
|
|
|
94
94
|
|
|
95
95
|
Prerequisites:
|
|
96
96
|
|
|
97
|
-
+ Python 3.
|
|
97
|
+
+ Python 3.11 or higher
|
|
98
98
|
|
|
99
99
|
* https://www.python.org/
|
|
100
100
|
|
|
@@ -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 = "renumerate"
|
|
10
|
-
version = "2.
|
|
10
|
+
version = "2.4.2"
|
|
11
11
|
description = "Reverse enumerate."
|
|
12
12
|
keywords = [ "renumerate", "enumerate" ]
|
|
13
13
|
license = "Zlib"
|
|
@@ -25,7 +25,7 @@ urls.Download = "https://pypi.org/project/renumerate/"
|
|
|
25
25
|
urls.Repository = "https://github.com/karpierz/renumerate"
|
|
26
26
|
urls.Tracker = "https://github.com/karpierz/renumerate/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
|
]
|
|
@@ -51,32 +51,34 @@ dynamic = [ "readme" ]
|
|
|
51
51
|
dependencies = [
|
|
52
52
|
# mandatory
|
|
53
53
|
"typing-extensions>=4.15.0",
|
|
54
|
-
"pkg-about>=2.
|
|
54
|
+
"pkg-about>=2.4.0",
|
|
55
55
|
# others
|
|
56
56
|
]
|
|
57
57
|
|
|
58
58
|
[dependency-groups]
|
|
59
59
|
base = [
|
|
60
|
-
"pip>=26.
|
|
60
|
+
"pip>=26.1.1; platform_python_implementation!='GraalVM'",
|
|
61
|
+
"pip>=24.3.1; platform_python_implementation=='GraalVM'",
|
|
61
62
|
"setuptools>=81.0.0",
|
|
62
63
|
]
|
|
63
64
|
test = [
|
|
64
65
|
{ include-group = "base" },
|
|
65
|
-
"deepdiff>=9.0.
|
|
66
|
-
"
|
|
66
|
+
"deepdiff>=9.1.0; python_version<'3.15' and platform_python_implementation!='GraalVM'",
|
|
67
|
+
"deepdiff<=9.0.0; python_version>='3.15' or platform_python_implementation=='GraalVM'",
|
|
68
|
+
"rich>=15.0.0",
|
|
67
69
|
]
|
|
68
70
|
coverage = [
|
|
69
71
|
{ include-group = "test" },
|
|
70
|
-
"coverage>=7.
|
|
72
|
+
"coverage>=7.14.0",
|
|
71
73
|
"covdefaults>=2.3.0",
|
|
72
74
|
"diff-cover>=10.2.0",
|
|
73
75
|
]
|
|
74
76
|
docs = [
|
|
75
77
|
{ include-group = "base" },
|
|
76
|
-
"sphinx>=
|
|
78
|
+
"sphinx>=9.0.4",
|
|
77
79
|
"pygments_ansi_color>=0.3.0", # fix sphinx load error
|
|
78
80
|
"roman_numerals>=4.1.0", # -||-
|
|
79
|
-
"sphinx-autodoc-typehints>=3.
|
|
81
|
+
"sphinx-autodoc-typehints>=3.6.1",
|
|
80
82
|
"sphinx-toolbox>=4.1.2",
|
|
81
83
|
"sphinx-tabs>=3.4.5", # Do not change - sphinx-toolbox requires <3.4.7
|
|
82
84
|
"sphinx-copybutton>=0.5.2",
|
|
@@ -88,15 +90,15 @@ docs = [
|
|
|
88
90
|
build = [
|
|
89
91
|
{ include-group = "test" },
|
|
90
92
|
"check-manifest>=0.51",
|
|
91
|
-
"build>=1.
|
|
93
|
+
"build>=1.5.0",
|
|
92
94
|
"twine>=6.2.0",
|
|
93
95
|
]
|
|
94
96
|
publish = [
|
|
95
97
|
"twine>=6.2.0",
|
|
96
98
|
]
|
|
97
|
-
|
|
99
|
+
typing = [
|
|
98
100
|
{ include-group = "base" },
|
|
99
|
-
"mypy>=1.
|
|
101
|
+
"mypy>=2.1.0",
|
|
100
102
|
"mypy_extensions>=1.1.0",
|
|
101
103
|
"types-setuptools>=81.0.0.20260209",
|
|
102
104
|
]
|
|
@@ -212,7 +214,7 @@ ignore = [
|
|
|
212
214
|
count = true
|
|
213
215
|
|
|
214
216
|
[tool.mypy]
|
|
215
|
-
python_version = "3.
|
|
217
|
+
python_version = "3.11"
|
|
216
218
|
strict = true
|
|
217
219
|
sqlite_cache = true
|
|
218
220
|
warn_unused_configs = true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: renumerate
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.2
|
|
4
4
|
Summary: Reverse enumerate.
|
|
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,13 +27,14 @@ 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
36
|
Requires-Dist: typing-extensions>=4.15.0
|
|
37
|
-
Requires-Dist: pkg-about>=2.
|
|
37
|
+
Requires-Dist: pkg-about>=2.4.0
|
|
38
38
|
Dynamic: license-file
|
|
39
39
|
|
|
40
40
|
renumerate
|
|
@@ -94,7 +94,7 @@ Installation
|
|
|
94
94
|
|
|
95
95
|
Prerequisites:
|
|
96
96
|
|
|
97
|
-
+ Python 3.
|
|
97
|
+
+ Python 3.11 or higher
|
|
98
98
|
|
|
99
99
|
* https://www.python.org/
|
|
100
100
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
typing-extensions>=4.15.0
|
|
2
|
-
pkg-about>=2.
|
|
2
|
+
pkg-about>=2.4.0
|
|
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
|
|
File without changes
|
|
File without changes
|