> For the complete documentation index, see [llms.txt](https://pyot.iann838.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pyot.iann838.com/utils/nullsafe.md).

# Nullsafe

Module: `pyot.utils.nullsafe`

### *class* `NullSafe`

> Documentation at: <https://github.com/iann838/nullsafe-python>

Definitions:

* `__bool__` -> `None`
* `__call__` -> `NullSafe`
  * `args`: `Any`
  * `kwds`: `Any`
* `__eq__` -> `bool`
  * `o`: `object`
* `__getattr__` -> `NullSafe`
  * `k`: `str`
* `__getitem__` -> `NullSafe`
  * `k`: `str`
* `__iter__` -> `None`
* `__repr__` -> `str`
* `__setattr__` -> `None`
  * `name`: `str`
  * `value`: `Any`
* `__str__` -> `str`

### *class* `NullSafeProxy`

Extends:

* `Generic`

Definitions:

* `__getattr__` -> `Union[Any, pyot.utils.nullsafe.NullSafe]`
  * `name`: `str`
* `__getitem__` -> `Union[Any, pyot.utils.nullsafe.NullSafe]`
  * `k`: `str`
* `__init__` -> `None`
  * `o`: `~T`
* `__repr__` -> `str`
* `__setattr__` -> `None`
  * `name`: `str`
  * `value`: `Any`
* `__str__` -> `str`

### *alias* `_` \~ `nullsafe`

### *function* `nullsafe` -> `Union[~T, pyot.utils.nullsafe.NullSafe, pyot.utils.nullsafe.NullSafeProxy[~T]]`

* `o`: `~T`

### *constant* `undefined`: `undefined`
