psycopg2-range-overlaps

Use & and = on psycopg2 range types.


License
BSD-3-Clause
Install
pip install psycopg2-range-overlaps==1.0.0

Documentation

Psycopg2 Range Overlaps

This module overrides the Range.__and__ function, so that it returns a boolean value based on if the two objects overlap.

The rationale behind this is that it mirrors the range && range operator in postgres:

>>> DateRange(None, b) & DateRange(b, None)
False
>>> DateRange(None, None) & DateRange(a, b)
True

There is also an improved equality operator, and a function for normalising ranges (if possible).