/typed-undefined

🐒 smth like JS undefined but in Python

Primary LanguagePythonMIT LicenseMIT

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