Sentinel Values - unique objects akin to None, True, False
Project description
sentinel-value is a Python package, that helps to create Sentinel Values - special singleton objects, akin to None, NotImplemented and Ellipsis.
It implements the sentinel() function (described by PEP 661), and for advanced cases it also provides the SentinelValue() class (not a part of PEP 661).
Usage example:
from sentinel_value import sentinel
MISSING = sentinel("MISSING")
def get_something(default=MISSING):
...
if default is not MISSING:
return default
...
Or, the same thing, but using the SentinelValue class (slightly more verbose, but allows to have nice type annotations):
from typing import Union
from sentinel_value import SentinelValue
class Missing(SentinelValue):
pass
MISSING = Missing("MISSING", __name__)
def get_something(default: Union[str, Missing] = MISSING):
...
if default is not MISSING:
return default
...
Links
Read the Docs: https://sentinel-value.readthedocs.io
GitHub repository: https://github.com/vdmit11/sentinel-value
Python package: https://pypi.org/project/sentinel-value/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sentinel_value-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07f8c9049660020c0a1695c887913695b8e65f83ebcdde6ca73f885f6fb837f9 |
|
MD5 | 4cd79277f7330820930d730c64043241 |
|
BLAKE2b-256 | 63eec27c4df4a81f5fea8b6d06c90bd82babc1e6f239c67db58ee658c834bcab |