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.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a78fef8de27ea6f24a66bccb49925874b87a2aeb4bfab3e8dc91935106f57d |
|
MD5 | 7bac6dfc339753ba26f0661aeba52c7c |
|
BLAKE2b-256 | 4b43d2113a3a9f7fb09d10ff7497c58142942987f9d9ec81e5a8a8ce2f8ef057 |