Dtools-datastructures

Latest version: v0.25.0

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 11

0.6.8.6

* 3 new methods for class Circle and Dqueue
* mapSelf, flatMapSelf, mergeMapSelf
* these correspond to map, flatMap, mergeMap
* except they act on the class objects themselves, not new instances
* these new methods will NOT be added to the Stack class
* they would destroy node sharing
* did add a map method which returns a new instance (with new nodes)
* TODO: add flatMap and mergeMap methods
* probably will add them to the Dqueue class too
* not worth the maintenance effort maintaining two version of Dqueue
* one returning new instances
* the other modifying the object in place

0.6.8.3

* Stack now works with Python Reversed builtin function
* using a __reversed__ method which is O(n)
* never figured out why reversed() failed with __getitems__ & __len__
* this would have been O(n^2) anyway
* Stack no longer implements the __getitems__ method
* class Carray renamed to Circle
* implements a circular array based on a Python List
* resizes itself as needed
* will handle None values being pushed and popped from it
* implemented in the grscheller.datastructures.circle module
* in the src/grscheller/datastructures/circle.py file
* O(1) pushing/popping to/from either end
* O(1) length determination
* O(1) indexing for setting and getting values.
* Dqueue implemented with Circle class instead of List class directly
* Ensured that None is never pushed to Stack & Dqueue objects

0.6.4.1

* Initial prototypes for map and flatMap for Dqueue class
* Started grscheller.datastructures.core module
* used for grscheller.datastructures implementation
* no particular need to indicate them to be _private
* exports the following functions so far
* concatIters - sequentially concatenate multiple iterators
* mergeIters - merge multiple iterators until one is exhausted
* mapIter - lazily map a function over an iterator stream
* Decided to keep Alpha for next PyPI release

0.6.3.2

* Made functional module into a sub package of datastructures
* Improved comments and type annotations
* Removed isEmpty method from Dqueue class
* Both Dqueue & Stack objects evaluate true when non-empty
* Beginning preparations for the next PyPI release
* Want to make next PyPI release a Beta release
* Need to improve test suite first

0.6.2.0

* Started work on a Left biased Either Monad
* removed isEmpty method from Stack class

0.6.1.0

* Maybe get() and getOrElse() API changes
* getting a better handle on type annotation
* work-in-progress
* erroneous LSP error messages greatly reduced

Page 9 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.