Provides an Undefined constant.
Project description
Py-Undefined
A light-weight dependency free 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.4.tar.gz
(6.7 kB
view details)
Built Distribution
File details
Details for the file py-undefined-0.1.4.tar.gz
.
File metadata
- Download URL: py-undefined-0.1.4.tar.gz
- Upload date:
- Size: 6.7 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 | 7b3512da22eb161d3a3331415eabf2c573d3f595aa63367e82e16df48a571044 |
|
MD5 | bcc605c08bd1dd59faa99bdefe91353b |
|
BLAKE2b-256 | 134758cf05ccabdda38f124735e5c013202db7531253edee12c4bf5e87c4e1b2 |
File details
Details for the file py_undefined-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: py_undefined-0.1.4-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 | a5205b56bbe570fd18d23685c846a71e1eec4c45d81444996ba4b6167d7547c0 |
|
MD5 | db101cdbadec7b96ba713fa38917530c |
|
BLAKE2b-256 | 4524add387ea7dd3ca7f64dddebd95339c9b20da21dbeb9eb67d025f27ce8695 |