Provides an Undefined constant.
Project description
Py-Undefined
A light-weight library providing an Undefined
type to Python.
Install
Py-Undefined is on PyPI and can be installed with:
pip install py-undefined
Or with Poetry
poetry add py-undefined
Usage
The Undefined
class from this module can be used as a variable type and a value.
from py_undefined import Undefined
a: Undefined | int = Undefined
assert a is Undefined
Why?
This is very useful to web frameworks that need to distinguish between receiving null as a parameter value vs not receiving that parameter at all.
Example
# Framework that can now pass `Undefined` instead of `None` to method if param was absent from request.
@framework.method()
def update(a: int | Undefined, b: int | None | Undefined) -> None:
if a is not Undefined:
...
if b is not Undefined:
...
This allows for a client to use this method to update only what values are provided.
my_client.update(b=1) # Set b.
my_client.update(a=2) # Set a without setting b to None.
my_client.update(b=None) # b can be set to None explicitly.
Support The Developer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
py-undefined-0.1.7.tar.gz
(6.8 kB
view details)
Built Distribution
File details
Details for the file py-undefined-0.1.7.tar.gz
.
File metadata
- Download URL: py-undefined-0.1.7.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.12 Linux/6.6.6-76060606-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fb4c64ea60ad71661db9567f3e3e2847fbb4e95cd02d3703418c0b3297f746a |
|
MD5 | 67f7fb55836a7915fa70f2f1cef5d0f1 |
|
BLAKE2b-256 | 9ed8cc892022e629e1d8aff78627b095a81c780eb17740fadca00768c6768e67 |
File details
Details for the file py_undefined-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: py_undefined-0.1.7-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.12 Linux/6.6.6-76060606-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0f4c9b183ff6ab616b40748ab0edd80f46ff25b22b30433e3fed6a33971545a |
|
MD5 | eedaf7e6f6e383da7bcc058353d1dce8 |
|
BLAKE2b-256 | 05dba8d4bc4c00ea8fbe483f5ef07ac394953779f24a13a8e14fadb3018cf633 |