Metadata-Version: 2.1
Name: mo-collections
Version: 5.251.22317
Summary: More Collections! Some useful data structures for dealing with Data
Home-page: https://github.com/klahnakoski/mo-collections
Author: Kyle Lahnakoski
Author-email: kyle@lahnakoski.com
License: MPL 2.0
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Provides-Extra: tests
License-File: LICENSE

More Collections
================

Some useful data structures for collections of data


### Class `Index`

Provide indexing for a list. Inner properties can be used for keys, and keys can be tuples of properties.  

### Class `UniqueIndex`

Same as Index, but includes checks and optimization to ensure members' keys are unique.

### Class `Queue`

A `Queue` is a list, with `add()` and `pop()`. It ensures members in the queue are not duplicated by not adding the ones already found in the queue.

### Class `Matrix`

A multidimensional grid of values that can be used like a `Mapping` from a-tuple-of-coordinates to the value at that coordinate. Plus a few other convenience methods.

This is a naive implementation. The hope it is a simple facade to a faster implementation.

### Class `Relation`

Store the many-to-many relations between two domains     
