Relation: a new standard (PEP) container?

Ned Batchelder ned at nedbatchelder.com
Sat Jun 20 11:01:10 EDT 2015


On Saturday, June 20, 2015 at 2:10:50 AM UTC-4, Scott wrote:
> We've been using a simple container implementation of a mathematical relation (https://simple.wikipedia.org/wiki/Relation_(mathematics)) (i.e. an invertible M:M mapping) for some time.
> 
>  
> We've been waiting for many years (decades actually) to have this concept incorporated as a standard container in one of the modern programming languages so we could swap our code with a language-standard container.  To further these efforts, we have decided to initiate a conversation with the python community on adding a relation as a standard Python container package.
>  
> Briefly the uses of a relation are:
>  
> - quickly finding the values/range associated with keys/domain (e.g. *inversion*)
> - maintaining a unique relationship between keys and values,(e.g. *isomorphism* or *aliasing*)
> - using keys to categorize (one-to-many) values (e.g. *partitioning*)
> - associating two sets in an arbitrary/bipartite manner (e.g. *tagging*)
>  
> Below is a link to an implementation, including an ipython notebook with light exposition and some canonical examples.  We'll also be presenting a poster at SciPy 2015. Let us know if this, or something like it, seems like a worthwhile addition to the standard Python distribution.

When people propose new additions to the standard library, the ususal
question is, Why is it important to be in the standard library, why not
simply let people use it as a third-party package?

You've already made it available on PyPI.  People who need it can find
it there, right?

The standard library is extended very conservatively.  The Python-Ideas
mailing list is where previous discussions like this have take place. You
can search there for similar suggestions.

--Ned.



More information about the Python-list mailing list