MCPcopy Create free account
hub / github.com/MagicStack/asyncpg / Range

Class Range

asyncpg/types.py:76–223  ·  view source on GitHub ↗

Immutable representation of PostgreSQL `range` type.

Source from the content-addressed store, hash-verified

74
75
76class Range(typing.Generic[_RV]):
77 """Immutable representation of PostgreSQL `range` type."""
78
79 __slots__ = ('_lower', '_upper', '_lower_inc', '_upper_inc', '_empty')
80
81 _lower: _RV | None
82 _upper: _RV | None
83 _lower_inc: bool
84 _upper_inc: bool
85 _empty: bool
86
87 def __init__(
88 self,
89 lower: _RV | None = None,
90 upper: _RV | None = None,
91 *,
92 lower_inc: bool = True,
93 upper_inc: bool = False,
94 empty: bool = False
95 ) -> None:
96 self._empty = empty
97 if empty:
98 self._lower = self._upper = None
99 self._lower_inc = self._upper_inc = False
100 else:
101 self._lower = lower
102 self._upper = upper
103 self._lower_inc = lower is not None and lower_inc
104 self._upper_inc = upper is not None and upper_inc
105
106 @property
107 def lower(self) -> _RV | None:
108 return self._lower
109
110 @property
111 def lower_inc(self) -> bool:
112 return self._lower_inc
113
114 @property
115 def lower_inf(self) -> bool:
116 return self._lower is None and not self._empty
117
118 @property
119 def upper(self) -> _RV | None:
120 return self._upper
121
122 @property
123 def upper_inc(self) -> bool:
124 return self._upper_inc
125
126 @property
127 def upper_inf(self) -> bool:
128 return self._upper is None and not self._empty
129
130 @property
131 def isempty(self) -> bool:
132 return self._empty
133

Callers 1

test_range_issubsetMethod · 0.90

Calls

no outgoing calls

Tested by 1

test_range_issubsetMethod · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…