Skip to main content

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

Buy Me A Coffee

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

py-undefined-0.1.7.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

py_undefined-0.1.7-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

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

Hashes for py-undefined-0.1.7.tar.gz
Algorithm Hash digest
SHA256 9fb4c64ea60ad71661db9567f3e3e2847fbb4e95cd02d3703418c0b3297f746a
MD5 67f7fb55836a7915fa70f2f1cef5d0f1
BLAKE2b-256 9ed8cc892022e629e1d8aff78627b095a81c780eb17740fadca00768c6768e67

See more details on using hashes here.

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

Hashes for py_undefined-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d0f4c9b183ff6ab616b40748ab0edd80f46ff25b22b30433e3fed6a33971545a
MD5 eedaf7e6f6e383da7bcc058353d1dce8
BLAKE2b-256 05dba8d4bc4c00ea8fbe483f5ef07ac394953779f24a13a8e14fadb3018cf633

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page