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(__name__, "MISSING")
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-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab2501cb3f40c412a105b9a93089780c571468963f7bbcd0b5772ecdcfdc8cc |
|
MD5 | f964d85190ed1cc41018d9bcf3bd29e0 |
|
BLAKE2b-256 | 29d0757561b23d945e9f7431306a8dc2e60425115df55cef1d142ab52132e08f |