pythonic-fp.iterables 3.0.0__tar.gz → 4.0.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.
- pythonic_fp_iterables-4.0.0/CHANGELOG.rst +190 -0
- {pythonic_fp_iterables-3.0.0 → pythonic_fp_iterables-4.0.0}/PKG-INFO +17 -12
- {pythonic_fp_iterables-3.0.0 → pythonic_fp_iterables-4.0.0}/README.md +13 -8
- {pythonic_fp_iterables-3.0.0 → pythonic_fp_iterables-4.0.0}/pyproject.toml +4 -12
- pythonic_fp_iterables-4.0.0/src/pythonic_fp/iterables.py +653 -0
- pythonic_fp_iterables-3.0.0/.github/workflows/static.yml +0 -43
- pythonic_fp_iterables-3.0.0/src/pythonic_fp/iterables.py +0 -455
- {pythonic_fp_iterables-3.0.0 → pythonic_fp_iterables-4.0.0}/LICENSE +0 -0
- {pythonic_fp_iterables-3.0.0 → pythonic_fp_iterables-4.0.0}/src/pythonic_fp/py.typed +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
CHANGELOG
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
PyPI pythonic-fp.iterables project.
|
|
5
|
+
|
|
6
|
+
Semantic Versioning
|
|
7
|
+
-------------------
|
|
8
|
+
|
|
9
|
+
Strict 3 digit semantic versioning adopted 2025-05-19.
|
|
10
|
+
|
|
11
|
+
- **MAJOR** version incremented for incompatible API changes
|
|
12
|
+
- **MINOR** version incremented for backward compatible added functionality
|
|
13
|
+
- **PATCH** version incremented for backward compatible bug fixes
|
|
14
|
+
|
|
15
|
+
See `Semantic Versioning 2.0.0 <https://semver.org>`_.
|
|
16
|
+
|
|
17
|
+
Releases and Important Milestones
|
|
18
|
+
---------------------------------
|
|
19
|
+
|
|
20
|
+
4.0.0 - 2025-07-16
|
|
21
|
+
~~~~~~~~~~~~~~~~~~
|
|
22
|
+
|
|
23
|
+
Primary purpose was to bring Sphinx documentation in alignment
|
|
24
|
+
with other pythonic-fp projects. Ended up making substantial
|
|
25
|
+
Sphinx documentation improvements. Will use this documentation
|
|
26
|
+
for the other pythonic-fp projects.
|
|
27
|
+
|
|
28
|
+
- API change
|
|
29
|
+
|
|
30
|
+
- renamed pythonic_fp.iterables.foldl to pythonic_fp.iterables.fold_left
|
|
31
|
+
|
|
32
|
+
3.0.0 - 2025-07-06
|
|
33
|
+
~~~~~~~~~~~~~~~~~~
|
|
34
|
+
|
|
35
|
+
First PyPI release as ``pythonic-fp.iterables``
|
|
36
|
+
|
|
37
|
+
- dropping dtools namespace name because there is a repo by that name.
|
|
38
|
+
|
|
39
|
+
2.0.0 - 2025-05-22
|
|
40
|
+
~~~~~~~~~~~~~~~~~~
|
|
41
|
+
|
|
42
|
+
- Moved dtools.fp.iterables to its own PyPI project
|
|
43
|
+
|
|
44
|
+
- dtools.iterables
|
|
45
|
+
|
|
46
|
+
- Moved dtools.fp.err_handling to the dtools.containers PyPI project
|
|
47
|
+
|
|
48
|
+
- Moved class MayBe -> module dtools.containers.maybe
|
|
49
|
+
- Moved class Xor -> module dtools.containers.xor
|
|
50
|
+
- dropped lazy methods
|
|
51
|
+
|
|
52
|
+
- will import dtools.fp.lazy directly for this functionality
|
|
53
|
+
|
|
54
|
+
1.7.0 - 2025-04-22
|
|
55
|
+
~~~~~~~~~~~~~~~~~~
|
|
56
|
+
|
|
57
|
+
Last PyPI release as dtools.fp
|
|
58
|
+
|
|
59
|
+
- API changes along the lines of dtools.ca 3.12
|
|
60
|
+
- typing improvements
|
|
61
|
+
- docstring changes
|
|
62
|
+
- pyproject.toml standardization
|
|
63
|
+
|
|
64
|
+
1.6.0 - 2025-04-07
|
|
65
|
+
~~~~~~~~~~~~~~~~~~
|
|
66
|
+
|
|
67
|
+
- typing improvements
|
|
68
|
+
|
|
69
|
+
1.4.0 - 2025-03-16
|
|
70
|
+
~~~~~~~~~~~~~~~~~~
|
|
71
|
+
|
|
72
|
+
- much work dtools.iterables
|
|
73
|
+
|
|
74
|
+
- finally implemented scReduceL and scReduceR functions
|
|
75
|
+
- tweaked API across iterables module
|
|
76
|
+
|
|
77
|
+
1.3.0 - 2025-01-17
|
|
78
|
+
~~~~~~~~~~~~~~~~~~
|
|
79
|
+
|
|
80
|
+
First release as dtools.fp
|
|
81
|
+
|
|
82
|
+
Repo name changes.
|
|
83
|
+
|
|
84
|
+
- GitHub: fp -> dtools-fp
|
|
85
|
+
- PyPI: grscheller.fp -> dtools.fp
|
|
86
|
+
|
|
87
|
+
1.0.1 - 2024-10-20
|
|
88
|
+
~~~~~~~~~~~~~~~~~~
|
|
89
|
+
|
|
90
|
+
- removed docs from repo
|
|
91
|
+
- docs for all grscheller namespace projects maintained here
|
|
92
|
+
|
|
93
|
+
- https://grscheller.github.io/grscheller-pypi-namespace-docs/
|
|
94
|
+
|
|
95
|
+
1.0.0 - 2024-10-18
|
|
96
|
+
~~~~~~~~~~~~~~~~~~
|
|
97
|
+
|
|
98
|
+
Decided to make this release first stable release.
|
|
99
|
+
|
|
100
|
+
- renamed module fp.woException to fp.err_handling
|
|
101
|
+
- pytest improvements based on pytest documentation
|
|
102
|
+
|
|
103
|
+
0.4.0 - 2024-10-03
|
|
104
|
+
~~~~~~~~~~~~~~~~~~
|
|
105
|
+
|
|
106
|
+
Long overdue PyPI release.
|
|
107
|
+
|
|
108
|
+
0.3.4.0 - 2024-09-30
|
|
109
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
110
|
+
|
|
111
|
+
Development environment only.
|
|
112
|
+
|
|
113
|
+
- API change for fp.iterables
|
|
114
|
+
|
|
115
|
+
- function name changes
|
|
116
|
+
|
|
117
|
+
- ``foldL``, ``foldR``, ``foldLsc``, ``foldRsc``
|
|
118
|
+
- ``sc`` stands for "short circuit"
|
|
119
|
+
|
|
120
|
+
- all now return class woException.MB
|
|
121
|
+
|
|
122
|
+
0.3.3.7 - 2024-09-22
|
|
123
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
124
|
+
|
|
125
|
+
Development environment only.
|
|
126
|
+
|
|
127
|
+
- added more functions to fp.iterables module
|
|
128
|
+
|
|
129
|
+
- take(it: Iterable[D], n: int) -> Iterator[D]
|
|
130
|
+
- takeWhile(it: Iterable[D], pred: Callable\[[D], bool\]) -> Iterator[D]
|
|
131
|
+
- drop(it: Iterable[D], n: int) -> Iterator[D]
|
|
132
|
+
- dropWhile(it: Iterable[D], pred: Callable\[[D], bool\]) -> Iterator[D]
|
|
133
|
+
|
|
134
|
+
0.3.3.4 - 2024-09-16
|
|
135
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
136
|
+
|
|
137
|
+
Development environment only.
|
|
138
|
+
|
|
139
|
+
- fp.iterables ``foldL_sc`` & ``foldR_sc`` now have
|
|
140
|
+
|
|
141
|
+
- common paradigm
|
|
142
|
+
- similar signatures
|
|
143
|
+
|
|
144
|
+
0.3.3.3 - 2024-09-15
|
|
145
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
146
|
+
|
|
147
|
+
Development environment only.
|
|
148
|
+
|
|
149
|
+
- added fp.iterables function ``foldR_sc``
|
|
150
|
+
|
|
151
|
+
- shortcut version of ``foldR``
|
|
152
|
+
- not fully tested
|
|
153
|
+
- docstring not updated
|
|
154
|
+
|
|
155
|
+
0.3.3.2 - 2024-09-14
|
|
156
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
157
|
+
|
|
158
|
+
Development environment only.
|
|
159
|
+
|
|
160
|
+
- added fp.iterables function ``foldL_sc``
|
|
161
|
+
|
|
162
|
+
- shortcut version of foldL
|
|
163
|
+
|
|
164
|
+
0.3.1 - 2024-08-20
|
|
165
|
+
~~~~~~~~~~~~~~~~~~
|
|
166
|
+
|
|
167
|
+
Now fp.iterables no longer exports ``CONCAT``, ``MERGE``, ``EXHAUST``.
|
|
168
|
+
|
|
169
|
+
- for grscheller.datastructures
|
|
170
|
+
|
|
171
|
+
- grscheller.datastructures.ftuple
|
|
172
|
+
- grscheller.datastructures.split_ends
|
|
173
|
+
|
|
174
|
+
0.2.0 - 2024-07-26
|
|
175
|
+
~~~~~~~~~~~~~~~~~~
|
|
176
|
+
|
|
177
|
+
- from last PyPI release
|
|
178
|
+
|
|
179
|
+
- added accumulate function to fp.iterators
|
|
180
|
+
|
|
181
|
+
- overall much better docstrings
|
|
182
|
+
|
|
183
|
+
0.1.0 - 2024-07-11
|
|
184
|
+
~~~~~~~~~~~~~~~~~~
|
|
185
|
+
|
|
186
|
+
Initial PyPI release as grscheller.fp
|
|
187
|
+
|
|
188
|
+
Replicated functionality from grscheller.datastructures.
|
|
189
|
+
|
|
190
|
+
- ``grscheller.core.iterlib -> grscheller.fp.iterators``
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonic-fp.iterables
|
|
3
|
-
Version:
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 4.0.0
|
|
4
|
+
Summary: Library of functions for iterating iterables.
|
|
5
5
|
Keywords: iterables,iterators
|
|
6
6
|
Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
|
|
7
7
|
Requires-Python: >=3.12
|
|
@@ -17,8 +17,8 @@ License-File: LICENSE
|
|
|
17
17
|
Requires-Dist: pythonic-fp.circulararray>=5.0.0
|
|
18
18
|
Requires-Dist: pythonic-fp.containers >=2.0.0
|
|
19
19
|
Requires-Dist: pythonic-fp.fptools >=3.0.0
|
|
20
|
-
Project-URL: Changelog, https://
|
|
21
|
-
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp
|
|
20
|
+
Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-iterables/blob/main/CHANGELOG.rst
|
|
21
|
+
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp/iterables/API/development/build/html/releases.html
|
|
22
22
|
Project-URL: Homepage, https://github.com/grscheller/pythonic-fp/blob/main/README.md
|
|
23
23
|
Project-URL: Source, https://github.com/grscheller/pythonic-fp-iterables
|
|
24
24
|
|
|
@@ -26,24 +26,29 @@ Project-URL: Source, https://github.com/grscheller/pythonic-fp-iterables
|
|
|
26
26
|
|
|
27
27
|
PyPI project
|
|
28
28
|
[pythonic-fp.iterators](https://pypi.org/project/pythonic-fp.iterables/)
|
|
29
|
-
implementing a Python
|
|
29
|
+
implementing a Python library of functions for iterables and iterators.
|
|
30
30
|
|
|
31
31
|
- Concatenating and merging iterables
|
|
32
32
|
- Dropping and taking values from iterables
|
|
33
33
|
- Reducing and accumulating iterables
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
|
|
35
|
+
#### Info:
|
|
36
|
+
|
|
37
|
+
This library assumes that at all times iterator protocol
|
|
38
|
+
is followed. This means that all iterators are iterable and
|
|
39
|
+
that ``iter(some_iterator) is some_iterator``.
|
|
40
|
+
|
|
41
|
+
#### Note:
|
|
42
|
+
|
|
43
|
+
Iterables are not necessarily iterators.
|
|
39
44
|
|
|
40
45
|
This PyPI project is part of of the grscheller
|
|
41
46
|
[pythonic-fp namespace projects](https://github.com/grscheller/pythonic-fp/blob/main/README.md).
|
|
42
47
|
|
|
43
48
|
## Documentation
|
|
44
49
|
|
|
45
|
-
Documentation hosted on
|
|
46
|
-
[GitHub Pages](https://grscheller.github.io/pythonic-fp
|
|
50
|
+
Documentation for this PyPI projects is hosted on
|
|
51
|
+
[GitHub Pages](https://grscheller.github.io/pythonic-fp/iterators/API/development/build/html/releases.html).
|
|
47
52
|
|
|
48
53
|
## Copyright and License
|
|
49
54
|
|
|
@@ -2,24 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
PyPI project
|
|
4
4
|
[pythonic-fp.iterators](https://pypi.org/project/pythonic-fp.iterables/)
|
|
5
|
-
implementing a Python
|
|
5
|
+
implementing a Python library of functions for iterables and iterators.
|
|
6
6
|
|
|
7
7
|
- Concatenating and merging iterables
|
|
8
8
|
- Dropping and taking values from iterables
|
|
9
9
|
- Reducing and accumulating iterables
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
|
|
11
|
+
#### Info:
|
|
12
|
+
|
|
13
|
+
This library assumes that at all times iterator protocol
|
|
14
|
+
is followed. This means that all iterators are iterable and
|
|
15
|
+
that ``iter(some_iterator) is some_iterator``.
|
|
16
|
+
|
|
17
|
+
#### Note:
|
|
18
|
+
|
|
19
|
+
Iterables are not necessarily iterators.
|
|
15
20
|
|
|
16
21
|
This PyPI project is part of of the grscheller
|
|
17
22
|
[pythonic-fp namespace projects](https://github.com/grscheller/pythonic-fp/blob/main/README.md).
|
|
18
23
|
|
|
19
24
|
## Documentation
|
|
20
25
|
|
|
21
|
-
Documentation hosted on
|
|
22
|
-
[GitHub Pages](https://grscheller.github.io/pythonic-fp
|
|
26
|
+
Documentation for this PyPI projects is hosted on
|
|
27
|
+
[GitHub Pages](https://grscheller.github.io/pythonic-fp/iterators/API/development/build/html/releases.html).
|
|
23
28
|
|
|
24
29
|
## Copyright and License
|
|
25
30
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pythonic-fp.iterables"
|
|
3
|
-
version = "
|
|
3
|
+
version = "4.0.0"
|
|
4
4
|
readme = "README.md"
|
|
5
5
|
requires-python = ">=3.12"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -23,8 +23,8 @@ dependencies = [
|
|
|
23
23
|
dynamic = ["description"]
|
|
24
24
|
|
|
25
25
|
[project.urls]
|
|
26
|
-
Changelog = "https://
|
|
27
|
-
Documentation = "https://grscheller.github.io/pythonic-fp
|
|
26
|
+
Changelog = "https://github.com/grscheller/pythonic-fp-iterables/blob/main/CHANGELOG.rst"
|
|
27
|
+
Documentation = "https://grscheller.github.io/pythonic-fp/iterables/API/development/build/html/releases.html"
|
|
28
28
|
Homepage = "https://github.com/grscheller/pythonic-fp/blob/main/README.md"
|
|
29
29
|
Source = "https://github.com/grscheller/pythonic-fp-iterables"
|
|
30
30
|
|
|
@@ -33,7 +33,7 @@ requires = ["flit_core>=3.12,<4"]
|
|
|
33
33
|
build-backend = "flit_core.buildapi"
|
|
34
34
|
|
|
35
35
|
[tool.flit.sdist]
|
|
36
|
-
exclude = ["dist", "
|
|
36
|
+
exclude = ["dist", "tests", ".gitignore", ".mypy_cache", ".pytest_cache"]
|
|
37
37
|
|
|
38
38
|
[tool.mypy]
|
|
39
39
|
enable_incomplete_feature = ["NewGenericSyntax"]
|
|
@@ -43,14 +43,6 @@ warn_redundant_casts = true
|
|
|
43
43
|
warn_return_any = true
|
|
44
44
|
warn_unused_configs = true
|
|
45
45
|
|
|
46
|
-
[tool.pylsp]
|
|
47
|
-
python_path = [
|
|
48
|
-
"/home/grs/devel/pypi/fptools/pythonic-fp-iterables/src",
|
|
49
|
-
"/home/grs/devel/pypi/fptools/pythonic-fp-circulararray/src",
|
|
50
|
-
"/home/grs/devel/pypi/fptools/pythonic-fp-containers/src",
|
|
51
|
-
"/home/grs/devel/pypi/fptools/pythonic-fp-fptools/src",
|
|
52
|
-
]
|
|
53
|
-
|
|
54
46
|
[tool.pylsp-mypy]
|
|
55
47
|
enabled = true
|
|
56
48
|
live-mode = true
|