pythonic-fp-queues 5.1.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_queues-5.1.0/.gitignore +6 -0
- pythonic_fp_queues-5.1.0/CHANGELOG.rst +557 -0
- pythonic_fp_queues-5.1.0/LICENSE +190 -0
- pythonic_fp_queues-5.1.0/PKG-INFO +60 -0
- pythonic_fp_queues-5.1.0/README.rst +34 -0
- pythonic_fp_queues-5.1.0/pyproject.toml +76 -0
- pythonic_fp_queues-5.1.0/src/pythonic_fp/queues/__init__.py +33 -0
- pythonic_fp_queues-5.1.0/src/pythonic_fp/queues/de.py +185 -0
- pythonic_fp_queues-5.1.0/src/pythonic_fp/queues/fifo.py +143 -0
- pythonic_fp_queues-5.1.0/src/pythonic_fp/queues/lifo.py +134 -0
- pythonic_fp_queues-5.1.0/src/pythonic_fp/queues/py.typed +0 -0
- pythonic_fp_queues-5.1.0/tests/test_queues.py +558 -0
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
CHANGELOG
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
PyPI pythonic-fp.queues 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
|
+
PyPI 5.1.0 - 2025-09-25
|
|
21
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
22
|
+
|
|
23
|
+
Updated API for pythonic_fp.circulararray.auto changes. Gained
|
|
24
|
+
the ability to store None as a value.
|
|
25
|
+
|
|
26
|
+
Had planned to deprecating pythonic-fp-queues as a separate
|
|
27
|
+
PyPI project. Continued development as a part of
|
|
28
|
+
pythonic-fp.containers for a while. Decided to move development
|
|
29
|
+
back to its own PyPI pythonic-fp-queues project again.
|
|
30
|
+
|
|
31
|
+
PyPI 4.0.0 - 2025-07-12
|
|
32
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
33
|
+
|
|
34
|
+
Removed the ability to index FIFOQueue, LIFOQueue, and DEQueue
|
|
35
|
+
|
|
36
|
+
- No cutting in line!
|
|
37
|
+
- Moved all Sphinx documentation to pythonic-fp repo
|
|
38
|
+
|
|
39
|
+
PyPI 3.0.0 - 2025-07-06
|
|
40
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
41
|
+
|
|
42
|
+
First PyPI release as pythonic-fp.queues
|
|
43
|
+
|
|
44
|
+
PyPI 2.0.0 - 2025-05-22
|
|
45
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
46
|
+
|
|
47
|
+
Last PyPI release as dtools.queues
|
|
48
|
+
|
|
49
|
+
PyPI 1.0.0 - 2025-04-22
|
|
50
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
51
|
+
|
|
52
|
+
- docstring changes
|
|
53
|
+
- pyproject.toml standardization
|
|
54
|
+
- moved dtools.queues.splitends module to its own dtools repo
|
|
55
|
+
|
|
56
|
+
PyPI 0.27.0 - 2025-04-07
|
|
57
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
58
|
+
|
|
59
|
+
- First PyPI release as dtools.queues
|
|
60
|
+
|
|
61
|
+
- split dtools.datastructures into
|
|
62
|
+
|
|
63
|
+
- dtools.queues
|
|
64
|
+
- dtools.tuples
|
|
65
|
+
|
|
66
|
+
- Typing improvements
|
|
67
|
+
|
|
68
|
+
PyPI 0.25.1 - 2025-01-16
|
|
69
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
70
|
+
|
|
71
|
+
Fixed pdoc issues with new typing notation
|
|
72
|
+
|
|
73
|
+
- updated docstrings
|
|
74
|
+
- had to add TypeVars
|
|
75
|
+
|
|
76
|
+
PyPI 0.25.0 - 2025-01-17
|
|
77
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
78
|
+
|
|
79
|
+
First release under dtools.datastructures name
|
|
80
|
+
|
|
81
|
+
PyPI 0.24.0 - 2024-11-18
|
|
82
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
83
|
+
|
|
84
|
+
Changed flatMap to bind thru out project
|
|
85
|
+
|
|
86
|
+
PyPI 0.22.1 - 2024-10-20
|
|
87
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
88
|
+
|
|
89
|
+
- removed docs from repo
|
|
90
|
+
- docs for all grscheller namespace projects maintained
|
|
91
|
+
[here](https://grscheller.github.io/grscheller-pypi-namespace-docs/).
|
|
92
|
+
|
|
93
|
+
PyPI 0.21.0 - 2024-08-20
|
|
94
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
95
|
+
|
|
96
|
+
- Got back to a state maintainer is happy with
|
|
97
|
+
- Many dependencies needed updating first
|
|
98
|
+
|
|
99
|
+
Version 0.20.5.1 - 2024-08-19 (Devel environment only)
|
|
100
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
101
|
+
|
|
102
|
+
- Datastructures coming back together
|
|
103
|
+
|
|
104
|
+
- works with all the current versions of fp and circular-array
|
|
105
|
+
- preparing for PyPI 0.21.0 release
|
|
106
|
+
|
|
107
|
+
Version 0.20.2.0 - 2024-08-03 (Devel environment only)
|
|
108
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
109
|
+
|
|
110
|
+
Going down a typing rabbit hole.
|
|
111
|
+
|
|
112
|
+
- updated to use grscheller.circular-array version 3.3.0 (3.2.3.0)
|
|
113
|
+
- updated to use grscheller.fp version 0.3.0 (0.2.3.0)
|
|
114
|
+
- removed grscheller.circular-array dependency from datastructures.SplitEnd
|
|
115
|
+
- still preparing for the 1.0.0 datastructures release
|
|
116
|
+
|
|
117
|
+
- as I tighten up typing, I find I must do so for dependencies too
|
|
118
|
+
- using ``# type: ignore`` is a band-aid, use ``@overload`` and ``cast`` instead
|
|
119
|
+
- using ``@overload`` to "untype" optional parameters is the way to go
|
|
120
|
+
- use ``cast`` only when you have knowledge beyond what the typechecker can know
|
|
121
|
+
|
|
122
|
+
PyPI 0.19.0 - 2024-07-15
|
|
123
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
124
|
+
|
|
125
|
+
Continuing to prepare for PyPI release 1.0.0
|
|
126
|
+
|
|
127
|
+
- cleaned up docstrings for a 1.0.0 release
|
|
128
|
+
- considering requiring grscheller.fp as a dependency
|
|
129
|
+
|
|
130
|
+
Version 0.18.0.0 - Devel environment only
|
|
131
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
132
|
+
|
|
133
|
+
Beginning to prepare for PyPI release 1.0.0
|
|
134
|
+
|
|
135
|
+
- first devel version requiring circular-array 3.1.0
|
|
136
|
+
- still some design work to be done
|
|
137
|
+
- TODO: Verify flatMap family yields results in "natural" order
|
|
138
|
+
|
|
139
|
+
Version 0.17.0.4 - Devel environment only
|
|
140
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
141
|
+
|
|
142
|
+
Devel environment only. Start of effort to relax None restrictions.
|
|
143
|
+
|
|
144
|
+
- have begun relaxing the requirement of not storing None as a value
|
|
145
|
+
- completed for queues.py
|
|
146
|
+
|
|
147
|
+
- requires grscheller.circular-array >= 3.0.3.0
|
|
148
|
+
- perhaps next PyPI release will be v1.0.0 ???
|
|
149
|
+
|
|
150
|
+
Version 0.16.0.0 - Devel environment only
|
|
151
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
152
|
+
|
|
153
|
+
Devel environment only. Preparing to support PEP 695 generics.
|
|
154
|
+
|
|
155
|
+
- Requires Python >= 3.12
|
|
156
|
+
- preparing to support PEP 695 generics
|
|
157
|
+
|
|
158
|
+
- will require Python 3.12
|
|
159
|
+
- will not have to import typing for Python 3.12 and beyond
|
|
160
|
+
- BUT... mypy does not support PEP 695 generics yet (Pyright does)
|
|
161
|
+
|
|
162
|
+
- bumped minimum Python version to >= 3.12 in pyproject.toml
|
|
163
|
+
- map methods mutating objects don't play nice with typing
|
|
164
|
+
|
|
165
|
+
- map methods now return copies
|
|
166
|
+
- THEREFORE: tests need to be completely overhauled
|
|
167
|
+
|
|
168
|
+
Version 0.14.1.1 - Devel environment only
|
|
169
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
170
|
+
|
|
171
|
+
Preparing to add TypeVars.
|
|
172
|
+
|
|
173
|
+
- tests working with ``grscheller.circular-array >= 3.0.0, \<3.2``
|
|
174
|
+
|
|
175
|
+
- lots of mypy complaints
|
|
176
|
+
- first version using TypeVars will be 0.15.0.0
|
|
177
|
+
|
|
178
|
+
PyPI 0.14.0 - 2024-03-09
|
|
179
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
180
|
+
|
|
181
|
+
- updated dependency on CircularArray class
|
|
182
|
+
|
|
183
|
+
- dependencies = ["grscheller.circular-array >= 0.2.0, < 2.1"]
|
|
184
|
+
|
|
185
|
+
- minor README.md woodsmithing
|
|
186
|
+
- keeping project an Alpha release for now
|
|
187
|
+
|
|
188
|
+
PyPI 0.13.0 - 2024-01-30
|
|
189
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
190
|
+
|
|
191
|
+
- BREAKING API CHANGE - CircularArray class removed
|
|
192
|
+
- CircularArray moved to its own PyPI & GitHub repos
|
|
193
|
+
|
|
194
|
+
- https://pypi.org/project/grscheller.circular-array/
|
|
195
|
+
- https://github.com/grscheller/circular-array
|
|
196
|
+
|
|
197
|
+
- Fix various out-of-date docstrings
|
|
198
|
+
|
|
199
|
+
PyPI 0.12.3 - 2024-01-20
|
|
200
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
201
|
+
|
|
202
|
+
Cutting next PyPI release from development (main)
|
|
203
|
+
|
|
204
|
+
- If experiment works, will drop release branch
|
|
205
|
+
- Will not include ``docs/``
|
|
206
|
+
- Will not include ``.gitignore`` and ``.github/``
|
|
207
|
+
- Will include ``tests/``
|
|
208
|
+
- Made pytest >= 7.4 an optional test dependency
|
|
209
|
+
|
|
210
|
+
PyPI 0.12.0 - 2024-01-14
|
|
211
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
212
|
+
|
|
213
|
+
Considerable future-proofing for first real Beta release
|
|
214
|
+
|
|
215
|
+
0.11.3.4 - Devel environment only
|
|
216
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
217
|
+
|
|
218
|
+
- Finally decided to make next PyPI release Beta
|
|
219
|
+
|
|
220
|
+
- Package structure mature and not subject to change beyond additions
|
|
221
|
+
- Will endeavor to keep top level & core module names the same
|
|
222
|
+
- API changes will be deprecated before removed
|
|
223
|
+
|
|
224
|
+
0.10.14.0 - 2023-12-09 (Devel environment only)
|
|
225
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
226
|
+
|
|
227
|
+
- Finished massive renaming & repackaging effort
|
|
228
|
+
|
|
229
|
+
- to help with future growth
|
|
230
|
+
- name choices more self-documenting
|
|
231
|
+
- top level modules
|
|
232
|
+
|
|
233
|
+
- array
|
|
234
|
+
|
|
235
|
+
- CLArray
|
|
236
|
+
|
|
237
|
+
- queue
|
|
238
|
+
|
|
239
|
+
- FIFOQueue (formerly SQueue)
|
|
240
|
+
- LIFOQueue (LIFO version of above)
|
|
241
|
+
- DoubleQueue (formerly DQueue)
|
|
242
|
+
|
|
243
|
+
- stack
|
|
244
|
+
|
|
245
|
+
- Stack (formerly PStack)
|
|
246
|
+
- FStack
|
|
247
|
+
|
|
248
|
+
- tuple-like
|
|
249
|
+
|
|
250
|
+
- FTuple
|
|
251
|
+
|
|
252
|
+
0.10.8.0 - 2023-11-18 (Devel environment only)
|
|
253
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
254
|
+
|
|
255
|
+
- Bumping requires-python = ">=3.11" in pyproject.toml
|
|
256
|
+
- Currently developing & testing on Python 3.11.5
|
|
257
|
+
- 0.10.7.X will be used on the GitHub pypy3 branch
|
|
258
|
+
|
|
259
|
+
- Pypy3 (7.3.13) using Python (3.10.13)
|
|
260
|
+
- tests pass but are 4X slower
|
|
261
|
+
- LSP almost useless due to more primitive typing module
|
|
262
|
+
|
|
263
|
+
0.10.7.0 - 2023-11-18 (Devel environment only)
|
|
264
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
265
|
+
|
|
266
|
+
- Overhauled __repr__ & __str__ methods for all classes
|
|
267
|
+
|
|
268
|
+
- tests that ds == eval(repr(ds)) for all data structures ds in package
|
|
269
|
+
|
|
270
|
+
- Updated markdown overview documentation
|
|
271
|
+
|
|
272
|
+
0.10.1.0 - 2023-11-11 (Devel environment only)
|
|
273
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
274
|
+
|
|
275
|
+
- Removed flatMap methods from stateful objects
|
|
276
|
+
|
|
277
|
+
- FLArray, DQueue, SQueue, PStack
|
|
278
|
+
- kept the map method for each
|
|
279
|
+
|
|
280
|
+
- Some restructuring so package will scale better in the future
|
|
281
|
+
|
|
282
|
+
PyPI 0.9.1 - 2023-11-09
|
|
283
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
284
|
+
|
|
285
|
+
- First Beta release of grscheller.datastructures on PyPI
|
|
286
|
+
- Infrastructure stable
|
|
287
|
+
- Existing datastructures only should need API additions
|
|
288
|
+
- Type annotations working extremely well
|
|
289
|
+
- Using Pdoc3 to generate documentation on GitHub
|
|
290
|
+
|
|
291
|
+
- see https://grscheller.github.io/datastructures/
|
|
292
|
+
|
|
293
|
+
- All iterators conform to Python language "iterator protocol"
|
|
294
|
+
- Improved docstrings
|
|
295
|
+
- Future directions:
|
|
296
|
+
|
|
297
|
+
- Develop some "typed" containers
|
|
298
|
+
- Need to use this package in other projects to gain insight
|
|
299
|
+
|
|
300
|
+
PyPI 0.8.6.0 - 2023-11-05
|
|
301
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
302
|
+
|
|
303
|
+
- Finally got queue.py & stack.py inheritance sorted out
|
|
304
|
+
- LSP with Pyright working quite well
|
|
305
|
+
- Goals for next PyPI release:
|
|
306
|
+
|
|
307
|
+
- combine methods
|
|
308
|
+
|
|
309
|
+
- tail and tailOr
|
|
310
|
+
- cons and consOr
|
|
311
|
+
- head and headOr
|
|
312
|
+
|
|
313
|
+
0.8.3.0 - 2023-11-02 (Devel environment only)
|
|
314
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
315
|
+
|
|
316
|
+
Major API breaking change, Dqueue renamed DQueue. Tests now work.
|
|
317
|
+
|
|
318
|
+
0.8.0.0 - 2023-10-28 (Devel environment only)
|
|
319
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
320
|
+
|
|
321
|
+
- API breaking changes
|
|
322
|
+
|
|
323
|
+
- did not find everything returning self upon mutation
|
|
324
|
+
|
|
325
|
+
- Efforts for future directions
|
|
326
|
+
|
|
327
|
+
- decided to use pdoc3 over sphinx to generate API documentation
|
|
328
|
+
- need to resolve tension of package being Pythonic and Functional
|
|
329
|
+
|
|
330
|
+
0.7.5.0 - 2023-10-26 (Devel environment only)
|
|
331
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
332
|
+
|
|
333
|
+
- Moved pytest test suite to root of the repo
|
|
334
|
+
|
|
335
|
+
- src/grscheller/datastructures/tests -> tests/
|
|
336
|
+
- seems to be the canonical location of a test suite
|
|
337
|
+
|
|
338
|
+
- Instructions to run test suite in tests/__init__.py
|
|
339
|
+
|
|
340
|
+
PyPI 0.7.4.0 - 2023-10-25
|
|
341
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
342
|
+
|
|
343
|
+
- More mature
|
|
344
|
+
- More Pythonic
|
|
345
|
+
- Major API changes
|
|
346
|
+
- Still tagging it an Alpha release
|
|
347
|
+
|
|
348
|
+
0.7.2.0 - 2023-10-18 (Devel environment only)
|
|
349
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
350
|
+
|
|
351
|
+
- Queue & Dqueue no longer return Maybe objects
|
|
352
|
+
|
|
353
|
+
- Neither store None as a value
|
|
354
|
+
- Now safe to return None for non-existent values
|
|
355
|
+
|
|
356
|
+
- like popping or peaking from an empty queue or dqueue
|
|
357
|
+
|
|
358
|
+
0.7.0.0 - 2023-10-16 (Devel environment only)
|
|
359
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
360
|
+
|
|
361
|
+
- Added Queue data structure representing a FIFO queue
|
|
362
|
+
- Renamed two Dqueue methods
|
|
363
|
+
|
|
364
|
+
- headR -> peakLastIn
|
|
365
|
+
- headL -> peakNextOut
|
|
366
|
+
|
|
367
|
+
- Went ahead and removed Stack head method
|
|
368
|
+
|
|
369
|
+
- fair since I still labeling releases as alpha releases
|
|
370
|
+
- the API is still a work in progress
|
|
371
|
+
|
|
372
|
+
- Updated README.md
|
|
373
|
+
|
|
374
|
+
- foreshadowing making a distinction between
|
|
375
|
+
|
|
376
|
+
- objects "sharing" their data -> FP methods return copies
|
|
377
|
+
- objects "contain" their data -> FP methods mutate object
|
|
378
|
+
|
|
379
|
+
- added info on class Queue
|
|
380
|
+
|
|
381
|
+
PyPI 0.6.9.0 - 2023-10-09
|
|
382
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
383
|
+
|
|
384
|
+
- Renamed core module to iterlib module
|
|
385
|
+
|
|
386
|
+
- library just contained functions for manipulating iterators
|
|
387
|
+
- TODO: use mergeIters as a guide for an iterator "zip" function
|
|
388
|
+
|
|
389
|
+
- Class Stack better in alignment with:
|
|
390
|
+
|
|
391
|
+
- Python lists
|
|
392
|
+
|
|
393
|
+
- more natural for Stack to iterate backwards starting from head
|
|
394
|
+
- removed Stack's __getitem__ method
|
|
395
|
+
- both pop and push/append from end
|
|
396
|
+
|
|
397
|
+
- Dqueue which wraps a Circle instance
|
|
398
|
+
|
|
399
|
+
- also Dqueue does not have a __getitem__ method
|
|
400
|
+
|
|
401
|
+
- Circle which implements a circular array with a Python List
|
|
402
|
+
|
|
403
|
+
0.6.8.6 - 2023-10-08 (Devel environment only)
|
|
404
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
405
|
+
|
|
406
|
+
- 3 new methods for class Circle and Dqueue
|
|
407
|
+
|
|
408
|
+
- mapSelf, flatMapSelf, mergeMapSelf
|
|
409
|
+
|
|
410
|
+
- these correspond to map, flatMap, mergeMap
|
|
411
|
+
- except they act on the class objects themselves, not new instances
|
|
412
|
+
|
|
413
|
+
- not worth the maintenance effort maintaining two version of Dqueue
|
|
414
|
+
|
|
415
|
+
- one returning new instances
|
|
416
|
+
- the other modifying the object in place
|
|
417
|
+
|
|
418
|
+
0.6.8.3 - 2023-10-06 (Devel environment only)
|
|
419
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
420
|
+
|
|
421
|
+
- Class Carray renamed to Circle
|
|
422
|
+
|
|
423
|
+
- implements a circular array based on a Python List
|
|
424
|
+
- resizes itself as needed
|
|
425
|
+
- will handle None values being pushed and popped from it
|
|
426
|
+
- implemented in the grscheller.datastructures.circle module
|
|
427
|
+
|
|
428
|
+
- in the src/grscheller/datastructures/circle.py file
|
|
429
|
+
|
|
430
|
+
- O(1) pushing/popping to/from either end
|
|
431
|
+
- O(1) length determination
|
|
432
|
+
- O(1) indexing for setting and getting values.
|
|
433
|
+
|
|
434
|
+
- Dqueue implemented with Circle class instead of List class directly
|
|
435
|
+
- Ensured that None is never pushed to Stack & Dqueue objects
|
|
436
|
+
|
|
437
|
+
0.6.3.2 - 2023-09-30 (Devel environment only)
|
|
438
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
439
|
+
|
|
440
|
+
- Improved comments and type annotations
|
|
441
|
+
- Removed isEmpty method from Dqueue class
|
|
442
|
+
- Both Dqueue & Stack objects evaluate true when non-empty
|
|
443
|
+
- Beginning preparations for the next PyPI release
|
|
444
|
+
|
|
445
|
+
- Want to make next PyPI release a Beta release
|
|
446
|
+
- Need to improve test suite first
|
|
447
|
+
|
|
448
|
+
0.6.2.0 - 2023-09-25 (Devel environment only)
|
|
449
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
450
|
+
|
|
451
|
+
Devel environment only.
|
|
452
|
+
|
|
453
|
+
- removed isEmpty method from Stack class
|
|
454
|
+
|
|
455
|
+
0.6.1.0 - 2023-09-25 (Devel environment only)
|
|
456
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
457
|
+
|
|
458
|
+
- Maybe get() and getOrElse() API changes
|
|
459
|
+
- getting a better handle on type annotation
|
|
460
|
+
|
|
461
|
+
- work-in-progress
|
|
462
|
+
- erroneous LSP error messages greatly reduced
|
|
463
|
+
|
|
464
|
+
PyPI 0.5.2.1 - 2023-09-24
|
|
465
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
466
|
+
|
|
467
|
+
- Data structures now support a much more FP style for Python
|
|
468
|
+
|
|
469
|
+
- introduces the use of type annotations for this effort
|
|
470
|
+
- much better test coverage
|
|
471
|
+
|
|
472
|
+
PyPI 0.3.0.2 - 2023-09-09
|
|
473
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
474
|
+
|
|
475
|
+
- Updated class Dqueue
|
|
476
|
+
|
|
477
|
+
- added __eq__ method
|
|
478
|
+
- added equality tests to tests/test_dqueue.py
|
|
479
|
+
|
|
480
|
+
- Improved docstrings
|
|
481
|
+
|
|
482
|
+
PyPI 0.2.2.2 - 2023-09-04
|
|
483
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
484
|
+
|
|
485
|
+
- Decided base package should have no dependencies other than
|
|
486
|
+
|
|
487
|
+
- Python version (>=2.10 due to use of Python match statement)
|
|
488
|
+
- Python standard libraries
|
|
489
|
+
|
|
490
|
+
- Made pytest an optional [test] dependency
|
|
491
|
+
- Added src/ as a top level directory as per
|
|
492
|
+
|
|
493
|
+
- https://packaging.python.org/en/latest/tutorials/packaging-projects/
|
|
494
|
+
- could not do the same for tests/ if end users are to have access
|
|
495
|
+
|
|
496
|
+
PyPI 0.2.1.0 - 2023-09-03
|
|
497
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
498
|
+
|
|
499
|
+
First Version uploaded to PyPI: ``https://pypi.org/project/grscheller.datastructures/``
|
|
500
|
+
|
|
501
|
+
- Install from PyPI
|
|
502
|
+
|
|
503
|
+
- ``$ pip install grscheller.datastructures==0.2.1.0``
|
|
504
|
+
|
|
505
|
+
- Install from GitHub
|
|
506
|
+
|
|
507
|
+
- ``$ pip install git+https://github.com/grscheller/datastructures@v0.2.1.0``
|
|
508
|
+
|
|
509
|
+
- Made pytest a dependency
|
|
510
|
+
|
|
511
|
+
- useful & less confusing to developers and end users
|
|
512
|
+
|
|
513
|
+
- good for systems I have not tested on
|
|
514
|
+
- prevents another pytest from being picked up from shell $PATH
|
|
515
|
+
|
|
516
|
+
- using a different python version
|
|
517
|
+
- giving "package not found" errors
|
|
518
|
+
|
|
519
|
+
- for CI/CD pipelines requiring unit testing
|
|
520
|
+
|
|
521
|
+
Version 0.2.0.2 - 2023-08-29 (GitHub only release)
|
|
522
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
523
|
+
|
|
524
|
+
First version of grscheller.datastructures installed from GitHub with pip
|
|
525
|
+
``$ pip install git+https://github.com/grscheller/datastructures@v0.2.0.2``
|
|
526
|
+
|
|
527
|
+
Version 0.2.0.0 - 2023-08-29 (Devel environment only)
|
|
528
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
529
|
+
|
|
530
|
+
- BREAKING API CHANGE!!!
|
|
531
|
+
- Dqueue pushL & pushR methods now return references to self
|
|
532
|
+
|
|
533
|
+
- These methods used to return the data being pushed
|
|
534
|
+
- Now able to "." chain push methods together
|
|
535
|
+
|
|
536
|
+
- Updated tests - before making API changes
|
|
537
|
+
- Preparing first version to be "released" on GitHub
|
|
538
|
+
|
|
539
|
+
Version 0.1.1.0 - 2023-08-27 (Devel environment only)
|
|
540
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
541
|
+
|
|
542
|
+
- grscheller.datastructures moved to its own GitHub repo
|
|
543
|
+
- https://github.com/grscheller/datastructures
|
|
544
|
+
|
|
545
|
+
- GitHub and PyPI user names just a happy coincidence
|
|
546
|
+
|
|
547
|
+
Version 0.1.0.0 - 2023-08-27 (Devel environment only)
|
|
548
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
549
|
+
|
|
550
|
+
Initial version.
|
|
551
|
+
|
|
552
|
+
- Package implementing data structures which do not throw exceptions
|
|
553
|
+
- Did not push to PyPI until version 0.2.1.0
|
|
554
|
+
- Initial Python grscheller.datastructures for 0.1.0.0 commit:
|
|
555
|
+
|
|
556
|
+
- dqueue - implements a double sided queue class Dqueue
|
|
557
|
+
- stack - implements a LIFO stack class Stack
|