Skip to content

uriyyo/typed-undefined

Repository files navigation

Typed Undefined

When None is not valid default value you can always use undefined.

from undefined import Undefined, undefined, resolve


def foo(bar: Undefined[int] = undefined) -> int:
    return resolve(undefined, 10)


foo(1)  # ok
foo(1.0)  # error

a: Undefined[int] = 1  # ok
b: Undefined[int] = 0.5  # error

mypy integration

You should add undefined_mypy to list of mypy plugins:

[mypy]
plugins = undefined.mypy