pythonic-fp.containers 3.0.1__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.
Files changed (29) hide show
  1. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/CHANGELOG.rst +184 -197
  2. pythonic_fp_containers-4.0.0/PKG-INFO +62 -0
  3. pythonic_fp_containers-4.0.0/README.rst +35 -0
  4. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/pyproject.toml +8 -14
  5. pythonic_fp_containers-4.0.0/src/pythonic_fp/containers/__init__.py +31 -0
  6. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/src/pythonic_fp/containers/functional_tuple.py +36 -29
  7. pythonic_fp_containers-4.0.0/src/pythonic_fp/containers/functional_tuple.pyi +22 -0
  8. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/src/pythonic_fp/containers/immutable_list.py +37 -37
  9. pythonic_fp_containers-4.0.0/src/pythonic_fp/containers/immutable_list.pyi +28 -0
  10. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/tests/test_immutable_list_fp.py +0 -18
  11. pythonic_fp_containers-3.0.1/PKG-INFO +0 -62
  12. pythonic_fp_containers-3.0.1/README.rst +0 -34
  13. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/__init__.py +0 -31
  14. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/functional_tuple.pyi +0 -58
  15. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/immutable_list.pyi +0 -72
  16. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/__init__.py +0 -31
  17. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/de.py +0 -178
  18. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/de.pyi +0 -45
  19. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/fifo.py +0 -143
  20. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/fifo.pyi +0 -44
  21. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/lifo.py +0 -134
  22. pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues/lifo.pyi +0 -40
  23. pythonic_fp_containers-3.0.1/tests/queues/test_queues.py +0 -558
  24. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/.gitignore +0 -0
  25. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/LICENSE +0 -0
  26. /pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/py.typed → /pythonic_fp_containers-4.0.0/src/pythonic_fp/containers/__init__.pyi +0 -0
  27. {pythonic_fp_containers-3.0.1/src/pythonic_fp/containers/queues → pythonic_fp_containers-4.0.0/src/pythonic_fp/containers}/py.typed +0 -0
  28. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/tests/test_functional_tuple.py +0 -0
  29. {pythonic_fp_containers-3.0.1 → pythonic_fp_containers-4.0.0}/tests/test_immutable_list.py +0 -0
@@ -17,8 +17,20 @@ See `Semantic Versioning 2.0.0 <https://semver.org>`_.
17
17
  Releases and Important Milestones
18
18
  ---------------------------------
19
19
 
20
- 3.0.0 - TBD
21
- ~~~~~~~~~~~
20
+ PyPI 4.0.0 - 2025-09-09
21
+ ~~~~~~~~~~~~~~~~~~~~~~~
22
+
23
+ Decided not to deprecated pythonic-fp.queues and moved queue development
24
+ back to there.
25
+
26
+ PyPI 3.0.1 - 2025-09-09
27
+ ~~~~~~~~~~~~~~~~~~~~~~~
28
+
29
+ - added .pyi files
30
+ - updated Sphinx docs to new format
31
+
32
+ PyPI 3.0.0 - 2025-08-02
33
+ ~~~~~~~~~~~~~~~~~~~~~~~
22
34
 
23
35
  Coordinated entire project pythonic-fp PyPI deployment.
24
36
 
@@ -27,15 +39,15 @@ Coordinated entire project pythonic-fp PyPI deployment.
27
39
 
28
40
  - deprecating pythonic-fp.queues
29
41
 
30
- 2.0.0 - 2025-07-06
31
- ~~~~~~~~~~~~~~~~~~
42
+ PyPI 2.0.0 - 2025-07-06
43
+ ~~~~~~~~~~~~~~~~~~~~~~~
32
44
 
33
45
  First PyPI release as pythonic-fp.containers
34
46
 
35
47
  - switched from pdoc to Sphinx for docstring documentation generation.
36
48
 
37
- 1.0.0 - 2025-05-22
38
- ~~~~~~~~~~~~~~~~~~
49
+ PyPI 1.0.0 - 2025-05-22
50
+ ~~~~~~~~~~~~~~~~~~~~~~~
39
51
 
40
52
  First PyPI release as dtools.containers
41
53
 
@@ -45,15 +57,15 @@ First PyPI release as dtools.containers
45
57
  - maybe.py -> implements the "maybe" monad from FP
46
58
  - xor.py -> implements a left biased either monad from FP
47
59
 
48
- 0.27.1 - 2025-04-22
49
- ~~~~~~~~~~~~~~~~~~~
60
+ PyPI 0.27.1 - 2025-04-22
61
+ ~~~~~~~~~~~~~~~~~~~~~~~~
50
62
 
51
63
  - replaced camelCaseNames method names with snake_case_names
52
64
  - docstring changes
53
65
  - pyproject.toml standardization
54
66
 
55
- 0.27.0 - 2025-04-07
56
- ~~~~~~~~~~~~~~~~~~~
67
+ PyPI 0.27.0 - 2025-04-07
68
+ ~~~~~~~~~~~~~~~~~~~~~~~~
57
69
 
58
70
  - first PyPI release as dtools.tuples
59
71
 
@@ -64,26 +76,26 @@ First PyPI release as dtools.containers
64
76
 
65
77
  - typing improvements
66
78
 
67
- 0.25.1 - 2025-01-16
68
- ~~~~~~~~~~~~~~~~~~~
79
+ PyPI 0.25.1 - 2025-01-16
80
+ ~~~~~~~~~~~~~~~~~~~~~~~~
69
81
 
70
82
  - Fixed pdoc issues with new typing notation
71
83
 
72
84
  - updated docstrings
73
85
  - had to add TypeVars
74
86
 
75
- 0.25.0 - 2025-01-17
76
- ~~~~~~~~~~~~~~~~~~~
87
+ PyPI 0.25.0 - 2025-01-17
88
+ ~~~~~~~~~~~~~~~~~~~~~~~~
77
89
 
78
90
  - First release under dtools.datastructures name
79
91
 
80
- 0.24.0 - 2024-11-18
81
- ~~~~~~~~~~~~~~~~~~~
92
+ PyPI 0.24.0 - 2024-11-18
93
+ ~~~~~~~~~~~~~~~~~~~~~~~~
82
94
 
83
95
  - Changed flatMap to bind thru out project
84
96
 
85
- 0.23.1 - 2024-11-18
86
- ~~~~~~~~~~~~~~~~~~~
97
+ PyPI 0.23.1 - 2024-11-18
98
+ ~~~~~~~~~~~~~~~~~~~~~~~~
87
99
 
88
100
  - Fixed bug with datastructures.tuple module
89
101
 
@@ -97,15 +109,15 @@ First PyPI release as dtools.containers
97
109
 
98
110
  - ``FT[D](*ds: D) -> ftuple[D]``
99
111
 
100
- 0.22.1 - 2024-10-20
101
- ~~~~~~~~~~~~~~~~~~~
112
+ PyPI 0.22.1 - 2024-10-20
113
+ ~~~~~~~~~~~~~~~~~~~~~~~~
102
114
 
103
115
  Removed docs from repo. Documentation for all grscheller namespace
104
116
  projects is now maintained
105
117
  here: https://grscheller.github.io/grscheller-pypi-namespace-docs/
106
118
 
107
- 0.22.0 - 2024-10-18
108
- ~~~~~~~~~~~~~~~~~~~
119
+ PyPI 0.22.0 - 2024-10-18
120
+ ~~~~~~~~~~~~~~~~~~~~~~~~
109
121
 
110
122
  - made classes in nodes module less passive with better encapsulation
111
123
  - compatible with:
@@ -113,8 +125,8 @@ here: https://grscheller.github.io/grscheller-pypi-namespace-docs/
113
125
  - grscheller.fp >= 1.0.0 < 1.0.1
114
126
  - grscheller.circular-array >= 3.6.1 < 3.7
115
127
 
116
- 0.21.0 - 2024-08-20
117
- ~~~~~~~~~~~~~~~~~~~
128
+ PyPI 0.21.0 - 2024-08-20
129
+ ~~~~~~~~~~~~~~~~~~~~~~~~
118
130
 
119
131
  Got back to a state maintainer is happy with. Many dependencies needed
120
132
  updating first.
@@ -122,8 +134,8 @@ updating first.
122
134
  - works with all the current versions of fp and circular-array
123
135
  - preparing for PyPI 0.21.0 release
124
136
 
125
- 0.20.5.0 - 2024-08-17
126
- ~~~~~~~~~~~~~~~~~~~~~
137
+ Version 0.20.5.0 - 2024-08-17
138
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127
139
 
128
140
  Development environment only. Datastructures coming back together
129
141
 
@@ -141,8 +153,8 @@ Development environment only. Datastructures coming back together
141
153
  - need to find good SplitEnd use case
142
154
  - other Stack variants like SplintEnd??? (shared data/node variants?)
143
155
 
144
- 0.20.2.0 - 2024-08-03
145
- ~~~~~~~~~~~~~~~~~~~~~
156
+ PyPI 0.20.2.0 - 2024-08-03
157
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
146
158
 
147
159
  Development environment only.
148
160
  Still preparing for 1.0.0 datastructures release.
@@ -154,27 +166,27 @@ Still preparing for 1.0.0 datastructures release.
154
166
  - using `@overload` to "untype" optional parameters is the way to go
155
167
  - use `cast` only when you have knowledge beyond what the typechecker can know
156
168
 
157
- 0.19.0 - 2024-07-15
158
- ~~~~~~~~~~~~~~~~~~~
169
+ PyPI 0.19.0 - 2024-07-15
170
+ ~~~~~~~~~~~~~~~~~~~~~~~~
159
171
 
160
172
  - continuing to prepare for PyPI release 1.0.0
161
173
  - cleaned up docstrings for a 1.0.0 release
162
174
  - changed accumulate1 to accumulate for FTuple
163
175
  - considering requiring grscheller.fp as a dependency
164
176
 
165
- 0.18.0.0 - Beginning to prepare for PyPI release 1.0.0
166
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
177
+ Version 0.18.0.0 - Devel environment only
178
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
167
179
 
168
- Devel environment only.
180
+ Beginning to prepare for PyPI release 1.0.0
169
181
 
170
182
  - first devel version requiring circular-array 3.1.0
171
183
  - still some design work to be done
172
184
  - TODO: Verify flatMap family yields results in "natural" order
173
185
 
174
- 0.17.0.4 - Start of effort to relax None restrictions
175
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186
+ Version 0.17.0.4 - Devel environment only
187
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
176
188
 
177
- Devel environment only.
189
+ Start of effort to relax None restrictions.
178
190
 
179
191
  - have begun relaxing the requirement of not storing None as a value
180
192
 
@@ -183,10 +195,10 @@ Devel environment only.
183
195
  - requires grscheller.circular-array >= 3.0.3.0
184
196
  - perhaps next PyPI release will be v1.0.0 ???
185
197
 
186
- 0.16.0.0 - Preparing to support PEP 695 generics
187
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
198
+ Version 0.16.0.0 - Devel environment only
199
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
188
200
 
189
- Devel environment only.
201
+ Preparing to support PEP 695 generics.
190
202
 
191
203
  - Requires Python >= 3.12
192
204
  - preparing to support PEP 695 generics
@@ -201,18 +213,18 @@ Devel environment only.
201
213
  - map methods now return copies
202
214
  - THEREFORE: tests need to be completely overhauled
203
215
 
204
- 0.14.1.1 - Preparing to add TypeVars
205
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
216
+ Version 0.14.1.1 - Devel environment only
217
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
206
218
 
207
- Devel environment only.
219
+ Preparing to add TypeVars.
208
220
 
209
221
  - tests working with grscheller.circular-array >= 3.0.0, \<3.2
210
222
 
211
223
  - lots of mypy complaints
212
224
  - first version using TypeVars will be 0.15.0.0
213
225
 
214
- 0.14.0 - 2024-03-09
215
- ~~~~~~~~~~~~~~~~~~~
226
+ PyPI 0.14.0 - 2024-03-09
227
+ ~~~~~~~~~~~~~~~~~~~~~~~~
216
228
 
217
229
  - updated dependency on CircularArray class
218
230
 
@@ -221,10 +233,10 @@ Devel environment only.
221
233
  - minor README.md wordsmithing
222
234
  - keeping project an Alpha release for now
223
235
 
224
- 0.13.3.1 - Preparing for another PyPI release soon
225
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
236
+ Version 0.13.3.1 - Devel environment only
237
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
226
238
 
227
- Devel environment only.
239
+ Preparing for another PyPI release soon.
228
240
 
229
241
  - overhauled docstrings with Markdown markup
230
242
  - updated pyproject.py to drop project back to an Alpha release
@@ -244,15 +256,15 @@ Devel environment only.
244
256
 
245
257
  - use foldL instead
246
258
 
247
- 0.13.2 - 2024-02-20
248
- ~~~~~~~~~~~~~~~~~~~
259
+ PyPI 0.13.2 - 2024-02-20
260
+ ~~~~~~~~~~~~~~~~~~~~~~~~
249
261
 
250
262
  Forgot to update pyproject.toml dependencies.
251
263
 
252
264
  - ``dependencies = ["grscheller.circular-array >= 0.1.1, < 1.1"]``
253
265
 
254
- 0.13.1 - 2024-01-31
255
- ~~~~~~~~~~~~~~~~~~~
266
+ PyPI 0.13.1 - 2024-01-31
267
+ ~~~~~~~~~~~~~~~~~~~~~~~~
256
268
 
257
269
  - FTuple now supports both slicing and indexing
258
270
 
@@ -264,8 +276,8 @@ Forgot to update pyproject.toml dependencies.
264
276
 
265
277
  - forgot to update CHANGELOG for v0.13.0 release
266
278
 
267
- 0.13.0 - 2024-01-30
268
- ~~~~~~~~~~~~~~~~~~~
279
+ PyPI 0.13.0 - 2024-01-30
280
+ ~~~~~~~~~~~~~~~~~~~~~~~~
269
281
 
270
282
  - BREAKING API CHANGE - CircularArray class removed
271
283
  - CircularArray moved to its own PyPI & GitHub repos
@@ -275,8 +287,8 @@ Forgot to update pyproject.toml dependencies.
275
287
 
276
288
  - Fix various out-of-date docstrings
277
289
 
278
- 0.12.3 - 2024-01-20
279
- ~~~~~~~~~~~~~~~~~~~
290
+ PyPI 0.12.3 - 2024-01-20
291
+ ~~~~~~~~~~~~~~~~~~~~~~~~
280
292
 
281
293
  - cutting next PyPI release from development (main)
282
294
 
@@ -286,36 +298,36 @@ Forgot to update pyproject.toml dependencies.
286
298
  - will include ``tests/``
287
299
  - made pytest >= 7.4 an optional test dependency
288
300
 
289
- 0.12.2 - 2024-01-17
290
- ~~~~~~~~~~~~~~~~~~~
301
+ PyPI 0.12.2 - 2024-01-17
302
+ ~~~~~~~~~~~~~~~~~~~~~~~~
291
303
 
292
304
  - fixed Stack reverse() method
293
305
 
294
306
  - should have caught this when I fixed FStack on last PyPI release
295
307
  - more Stack tests
296
308
 
297
- 0.12.1 - 2024-01-15
298
- ~~~~~~~~~~~~~~~~~~~
309
+ PyPI 0.12.1 - 2024-01-15
310
+ ~~~~~~~~~~~~~~~~~~~~~~~~
299
311
 
300
312
  - BUG FIX: FStack reverse() method
301
313
  - added more tests
302
314
 
303
- 0.12.0 - PyPI Release date 2024-01-14
304
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
315
+ PyPI 0.12.0 - 2024-01-14
316
+ ~~~~~~~~~~~~~~~~~~~~~~~~
305
317
 
306
318
  - Considerable future-proofing for first real Beta release
307
319
 
308
- 0.11.3.4 - Finally decided to make next PyPI release Beta
309
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
320
+ Version 0.11.3.4 - Devel environment only
321
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
310
322
 
311
- Devel environment only.
323
+ Finally decided to make next PyPI release Beta
312
324
 
313
325
  - Package structure mature and not subject to change beyond additions
314
326
  - Will endeavor to keep top level & core module names the same
315
327
  - API changes will be deprecated before removed
316
328
 
317
- 0.11.0 - 2023-12-20
318
- ~~~~~~~~~~~~~~~~~~~
329
+ PyPI 0.11.0 - 2023-12-20
330
+ ~~~~~~~~~~~~~~~~~~~~~~~~
319
331
 
320
332
  - A lot of work done on class CLArray
321
333
 
@@ -326,124 +338,113 @@ Devel environment only.
326
338
 
327
339
  - mostly for the freedom to rename and restructure the package
328
340
 
329
- 0.10.17.0+ (0.11.0-RC2) - 2023-12-17
330
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
341
+ Version 0.10.17.0+ - 2023-12-17 (Devel environment only)
342
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
331
343
 
332
- Devel environment only.
333
-
334
- - Second release candidate - probably will become next PyPI release
335
-
336
- - main now development branch, release will be release branch
337
- - decided to drop it back to Alpha
338
-
339
- - making datastructures a Beta release was premature
340
- - classifier "Development Status :: 3 - Alpha"
341
-
342
- - will cut next PyPI release with Flit from release branch
343
- - will need to regenerate docs on release & move to main
344
- - things to add in main before next release
345
-
346
- - will not make ``Maybe`` or ``Nothing`` a singleton
347
- - last touched ``CLArray`` refactor
348
- - improve ``CLArray`` test coverage
344
+ Second release candidate (0.11.0-RC2). Probably will
345
+ become next PyPI release.
349
346
 
350
- - Things for future PYPI releases
347
+ - main now development branch, release will be release branch
348
+ - decided to drop it back to Alpha
351
349
 
352
- - inherit ``FTuple`` from ``Tuple`` (use ``__new__``) for performance boost
353
- - hold off using ``__slots__`` until I understand them better
350
+ - making datastructures a Beta release was premature
351
+ - classifier "Development Status :: 3 - Alpha"
354
352
 
355
- 0.10.14.2 (0.11.0-RC1) - 2023-12-11
356
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
353
+ - will cut next PyPI release with Flit from release branch
354
+ - will need to regenerate docs on release & move to main
355
+ - things to add in main before next release
357
356
 
358
- Devel environment only.
359
-
360
- - First release candidate - unlikely this will be the next PyPI release
361
-
362
- - will cut next PyPI release with Flit from main branch
363
- - removed docs directory before merge (docs/ will be main only)
364
- - things to add in main before next release
357
+ - will not make ``Maybe`` or ``Nothing`` a singleton
358
+ - last touched ``CLArray`` refactor
359
+ - improve ``CLArray`` test coverage
365
360
 
366
- - make Maybe Nothing a singleton (use ``__new__``)
367
- - derive FTuple from Tuple (use ``__new__``) for performance boost
368
- - simplify CLArray to use a Queue instead of CircularArray & iterator
369
- - start using ``__slots__`` for performance boost to data structures
361
+ - Things for future PYPI releases
370
362
 
371
- - efficiency trumps extensibility
372
- - prevents client code adding arbitrary attributes & methods
373
- - smaller size & quicker method/attribute lookups
374
- - big difference when dealing with huge number of data structures
363
+ - inherit ``FTuple`` from ``Tuple`` (use ``__new__``) for performance boost
364
+ - hold off using ``__slots__`` until I understand them better
375
365
 
376
- 0.10.14.0 - 2023-12-09
377
- ~~~~~~~~~~~~~~~~~~~~~~
366
+ Version 0.10.14.2 - 2023-12-11 (Devel environment only)
367
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
378
368
 
379
- Devel environment only.
369
+ First release candidate (0.11.0-RC1). Unlikely this will be
370
+ the next PyPI release.
380
371
 
381
- - Finished massive renaming & repackaging effort
372
+ - will cut next PyPI release with Flit from main branch
373
+ - removed docs directory before merge (docs/ will be main only)
374
+ - things to add in main before next release
382
375
 
383
- - to help with future growth in future
384
- - name choices more self-documenting
385
- - top level modules
376
+ - make Maybe Nothing a singleton (use ``__new__``)
377
+ - derive FTuple from Tuple (use ``__new__``) for performance boost
378
+ - simplify CLArray to use a Queue instead of CircularArray & iterator
379
+ - start using ``__slots__`` for performance boost to data structures
386
380
 
387
- - array
381
+ - efficiency trumps extensibility
382
+ - prevents client code adding arbitrary attributes & methods
383
+ - smaller size & quicker method/attribute lookups
384
+ - big difference when dealing with huge number of data structures
388
385
 
389
- - ``CLArray``
386
+ Version 0.10.14.0 - 2023-12-09 (Devel environment only)
387
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
390
388
 
391
- - queue
389
+ Finished massive renaming & repackaging effort
392
390
 
393
- - ``FIFOQueue`` (formerly ``SQueue``)
394
- - ``LIFOQueue`` (LIFO version of above)
395
- - ``DoubleQueue`` (formerly ``DQueue``)
391
+ - to help with future growth in future
392
+ - name choices more self-documenting
393
+ - top level modules
396
394
 
397
- - stack
395
+ - array
398
396
 
399
- - ``Stack`` (formerly ``PStack``)
400
- - ``FStack``
397
+ - ``CLArray``
401
398
 
402
- - tuple-like
399
+ - queue
403
400
 
404
- - ``FTuple``
401
+ - ``FIFOQueue`` (formerly ``SQueue``)
402
+ - ``LIFOQueue`` (LIFO version of above)
403
+ - ``DoubleQueue`` (formerly ``DQueue``)
405
404
 
406
- 0.10.11.0 - 2023-11-27
407
- ~~~~~~~~~~~~~~~~~~~~~~
405
+ - stack
408
406
 
409
- Devel environment only.
407
+ - ``Stack`` (formerly ``PStack``)
408
+ - ``FStack``
410
409
 
411
- - Created new datastructures class ``CLArray``
410
+ - tuple-like
412
411
 
413
- - more imperative version of ``FCLArray``
412
+ - ``FTuple``
414
413
 
415
- - has an iterator to swap None values instead of a default value
414
+ Version 0.10.11.0 - 2023-11-27 (Devel environment only)
415
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
416
416
 
417
- - when iterator is exhausted, will swap in ``()`` for ``None``
417
+ Created new datastructures class ``CLArray``. Made package
418
+ overall more "atomic".
418
419
 
419
- - no ``flatMap`` type methods
420
- - ``map`` method mutates ``self``
421
- - can be resized
422
- - returns false when ``CLArray`` contains no non-``()`` elements
420
+ - more imperative version of ``FCLArray``
423
421
 
424
- - TODO: does not yet handle StopIteration events properly
422
+ - has an iterator to swap None values instead of a default value
425
423
 
426
- - made package more overall "atomic"
424
+ - when iterator is exhausted, will swap in ``()`` for ``None``
427
425
 
428
- 0.10.10.0 - 2023-11-26
429
- ~~~~~~~~~~~~~~~~~~~~~~
426
+ - no ``flatMap`` type methods
427
+ - ``map`` method mutates ``self``
428
+ - can be resized
429
+ - returns false when ``CLArray`` contains no non-``()`` elements
430
430
 
431
- Devel environment only.
431
+ - TODO: does not yet handle StopIteration events properly
432
432
 
433
- - More or less finalized ``FCLArray`` API
433
+ Version 0.10.10.0 - 2023-11-26 (Devel environment only)
434
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
434
435
 
435
- - finished overriding default ``flatMap``, ``mergeMap`` & ``exhaustMap`` from FP
436
- - need ``mergeMap`` & ``exhaustMap`` versions of unit tests
437
- - found this data structure very interesting
436
+ More or less finalized ``FCLArray`` API.
438
437
 
439
- - hopefully find a use for it
438
+ - finished overriding default ``flatMap``, ``mergeMap`` & ``exhaustMap`` from FP
439
+ - need ``mergeMap`` & ``exhaustMap`` versions of unit tests
440
+ - found this data structure very interesting
440
441
 
441
- - considering a simpler ``CLArray`` version
442
+ - hopefully find a use for it
442
443
 
443
- 0.10.8.0 - 2023-11-18
444
- ~~~~~~~~~~~~~~~~~~~~~
444
+ - considering a simpler ``CLArray`` version
445
445
 
446
- Devel environment only.
446
+ Version 0.10.8.0 - 2023-11-18 (Devel environment only)
447
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
447
448
 
448
449
  - Bumping requires-python = ">=3.11" in pyproject.toml
449
450
 
@@ -454,10 +455,8 @@ Devel environment only.
454
455
  - tests pass but are 4X slower
455
456
  - LSP almost useless due to more primitive typing module
456
457
 
457
- 0.10.7.0 - 2023-11-18
458
- ~~~~~~~~~~~~~~~~~~~~~
459
-
460
- Devel environment only.
458
+ Version 0.10.7.0 - 2023-11-18 (Devel environment only)
459
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
461
460
 
462
461
  - Overhauled ``__repr__`` & ``__str__`` methods for all classes
463
462
 
@@ -474,8 +473,8 @@ Devel environment only.
474
473
 
475
474
  - Updated markdown overview documentation
476
475
 
477
- 0.10.1.0 - 2023-11-11
478
- ~~~~~~~~~~~~~~~~~~~~~
476
+ Version 0.10.1.0 - 2023-11-11 (Devel environment only)
477
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
479
478
 
480
479
  Devel environment only.
481
480
 
@@ -486,8 +485,8 @@ Devel environment only.
486
485
 
487
486
  - some restructuring so package will scale better in the future
488
487
 
489
- 0.9.1 - 2023-11-09
490
- ~~~~~~~~~~~~~~~~~~
488
+ PyPI 0.9.1 - 2023-11-09
489
+ ~~~~~~~~~~~~~~~~~~~~~~~
491
490
 
492
491
  - First Beta release of grscheller.datastructures on PyPI
493
492
  - Infrastructure stable
@@ -506,8 +505,8 @@ Devel environment only.
506
505
  - Monad transformers???
507
506
  - Need to use this package in other projects to gain insight
508
507
 
509
- 0.8.4.0 - 2023-11-03
510
- ~~~~~~~~~~~~~~~~~~~~
508
+ Version 0.8.4.0 - 2023-11-03 (Devel environment only)
509
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
511
510
 
512
511
  Devel environment only.
513
512
 
@@ -516,8 +515,8 @@ Devel environment only.
516
515
  - wrapped tuple with a FP interface
517
516
  - initial minimal viable product
518
517
 
519
- 0.8.3.0 - 2023-11-02
520
- ~~~~~~~~~~~~~~~~~~~~
518
+ Version 0.8.3.0 - 2023-11-02 (Devel environment only)
519
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
521
520
 
522
521
  Devel environment only.
523
522
 
@@ -532,8 +531,8 @@ Devel environment only.
532
531
 
533
532
  - tests now work
534
533
 
535
- 0.8.0.0 - 2023-10-28
536
- ~~~~~~~~~~~~~~~~~~~~
534
+ Version 0.8.0.0 - 2023-10-28 (Devel environment only)
535
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
537
536
 
538
537
  Devel environment only.
539
538
 
@@ -546,8 +545,8 @@ Devel environment only.
546
545
  - decided to use pdoc3 over sphinx to generate API documentation
547
546
  - need to resolve tension of package being Pythonic and Functional
548
547
 
549
- 0.7.5.0 - 2023-10-26
550
- ~~~~~~~~~~~~~~~~~~~~
548
+ PyPI 0.7.5.0 - 2023-10-26
549
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
551
550
 
552
551
  - moved pytest test suite to root of the repo
553
552
 
@@ -556,8 +555,8 @@ Devel environment only.
556
555
 
557
556
  - instructions to run test suite in ``tests/__init__.py``
558
557
 
559
- 0.7.4.0 - 2023-10-25
560
- ~~~~~~~~~~~~~~~~~~~~
558
+ Version 0.7.4.0 - 2023-10-25 (Devel environment only)
559
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
561
560
 
562
561
  Devel environment only.
563
562
 
@@ -566,22 +565,18 @@ Devel environment only.
566
565
  - Major API changes
567
566
  - Still tagging it an Alpha release
568
567
 
569
- 0.7.0.0 - 2023-10-16
570
- ~~~~~~~~~~~~~~~~~~~~
571
-
572
- Devel environment only.
573
-
574
- - updated README.md
568
+ Version 0.7.0.0 - 2023-10-16 (Devel environment only)
569
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
575
570
 
576
- - foreshadowing making a distinction between
571
+ Updated README.md file.
577
572
 
578
- - objects "sharing" their data -> FP methods return copies
579
- - objects "contain" their data -> FP methods mutate object
573
+ - foreshadowing making a distinction between
580
574
 
581
- 0.6.9.0 - 2023-10-09
582
- ~~~~~~~~~~~~~~~~~~~~
575
+ - objects "sharing" their data -> FP methods return copies
576
+ - objects "contain" their data -> FP methods mutate object
583
577
 
584
- Devel environment only.
578
+ Version 0.6.9.0 - 2023-10-09 (Devel environment only)
579
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
585
580
 
586
581
  - renamed core module to iterlib module
587
582
 
@@ -596,10 +591,8 @@ Devel environment only.
596
591
  - removed Stack's ``__getitem__`` method
597
592
  - both pop and push/append from end
598
593
 
599
- 0.2.2.2 - 2023-09-04
600
- ~~~~~~~~~~~~~~~~~~~~
601
-
602
- PyPI release.
594
+ PyPI 0.2.2.2 - 2023-09-04
595
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
603
596
 
604
597
  - decided base package should have no dependencies other than
605
598
 
@@ -612,10 +605,8 @@ PyPI release.
612
605
  - https://packaging.python.org/en/latest/tutorials/packaging-projects/
613
606
  - could not do the same for tests/ if end users are to have access
614
607
 
615
- 0.2.1.0 - 2023-09-03
616
- ~~~~~~~~~~~~~~~~~~~~
617
-
618
- PyPI release.
608
+ PyPI 0.2.1.0 - 2023-09-03
609
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
619
610
 
620
611
  - first Version uploaded to PyPI
621
612
  - https://pypi.org/project/grscheller.datastructures/
@@ -640,28 +631,24 @@ PyPI release.
640
631
 
641
632
  - for CI/CD pipelines requiring unit testing
642
633
 
643
- 0.2.0.2 - 2023-08-29
644
- ~~~~~~~~~~~~~~~~~~~~
645
-
646
- GitHub only release date.
634
+ Version 0.2.0.2 - 2023-08-29 (GitHub only)
635
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
647
636
 
648
637
  - First version able to be installed from GitHub with pip
649
638
  - ``$ pip install git+https://github.com/grscheller/datastructures@v0.2.0.2``
650
639
 
651
- 0.1.1.0 - 2023-08-27
652
- ~~~~~~~~~~~~~~~~~~~~
653
-
654
- Devel environment only.
640
+ Version 0.1.1.0 - 2023-08-27 (Devel environment only)
641
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
655
642
 
656
643
  - grscheller.datastructures moved to its own GitHub repo
657
644
  - https://github.com/grscheller/datastructures
658
645
 
659
646
  - GitHub and PyPI user names just a happy coincidence
660
647
 
661
- 0.1.0.0 - 2023-08-27
662
- ~~~~~~~~~~~~~~~~~~~~
648
+ Version 0.1.0.0 - 2023-08-27 (Devel environment only)
649
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
663
650
 
664
- Initial version, devel environment only.
651
+ Initial version.
665
652
 
666
653
  - Package implementing data structures which do not throw exceptions
667
654
  - Did not push to PyPI until version 0.2.1.0