> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/data-logic/data-operations/is-none.md).

# Is None

A simple utility block that checks whether a given value is missing (None) and returns a boolean result. Use it to guard logic and prevent errors when a previous block may not provide a value.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Generic` A value to check. This can be any data type or image output from another block.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Boolean` True when the input is None, otherwise False.

## 🕹️ Controls <a href="#controls" id="controls"></a>

This block has no user-configurable controls.

## ✨ Features <a href="#features" id="features"></a>

* Straightforward presence check for any incoming data.
* Useful to drive conditional flows or to trigger fallback behavior.
* Lightweight and safe to place before blocks that require valid data.

## 📝 Usage <a href="#usage" id="usage"></a>

* Connect the output of any block to the `Generic` input to test whether that block currently provides a value.
* Use the `Boolean` output to control logic blocks (for example to gate processing, reset flows, or enable fallback actions).
* Place this block before blocks that would fail or produce unwanted results when fed with missing data.

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

When evaluated, the block returns a single boolean value indicating whether the provided input is missing. This output can be used immediately in logic operations or to trigger recovery steps.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combine with `Replace None` to automatically supply a fallback value when the input is missing.
* Use with `Data Memory` to freeze or hold a previously valid value and avoid repeated None propagation.
* Route the result into logic blocks like `Not`, `And`, or `Or` to build complex conditional flows.
* Feed the boolean into `Set - Reset` or `All True` when implementing multi-condition controls or latching behaviour.
* Use `Debug Input` to log or inspect the input before and after the check during setup and troubleshooting.
* When guarding image processing chains, pair with visualization/export blocks such as `Show Image` or `Image Logger` so you only pass valid images to viewers or file sinks.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If the block always outputs True, verify the upstream block is connected and producing data.
* If behaviour is intermittent, consider holding valid values with `Data Memory` or logging inputs with `Debug Input` to see when data is missing.
