_.isEllipsis
A check for the literal dot-dot-dot singleton
- obj
- *
_.isEllipsis checks whether the object on its input is the Python Ellipsis singleton - the ... literal. It's part of the sfinktah/comfy-ovum pack's ovum/underscore family, the auto-generated wrappers around underscore3 (a Python port of Underscore.js). It does what it says, correctly: type(self.obj) is type(Ellipsis). The only honest thing to add is that you will basically never encounter a reason to check this in a ComfyUI workflow.
The README's family warning - work in progress, "not recommended for use in workflows" - exists precisely because of nodes like this. The underscore3 library has an isEllipsis method, the generator wrapped every method it found, and out came a node that answers a question nobody in a graph is asking.
What it does
Python's Ellipsis is a singleton object, written as .... It's mostly used inside NumPy and torch as a slicing shorthand - arr[..., 0] means "keep all leading dimensions, take column 0." As a value that travels through a graph, it's nearly unheard of. The check is exact-type: ... → True, everything else → False.
The one scenario where this could surface: a custom node that uses ... internally as a sentinel and leaks it out, or an expression node that evaluates Python and ends up with ... as a result. If you're debugging something and want to confirm "yes, that weird value on the wire is the Ellipsis singleton," this node gives you the answer. That's the whole use case.
Like the rest of the family, it takes a plain value and returns the boolean, or takes a _.CHAIN from _.chain and keeps the chain going.
Inputs and outputs
obj- the only input, type*, optional.- Output - a single
*socket holding a Python bool (the family's generic-typed output quirk).
Where it fits
It's a diagnostic curiosity. The _.isX family as a whole is best treated as a type-detection kit for "what the heck is this object" debugging, and _.isEllipsis is the least-likely member of that kit. In a practical workflow you will not need it - but if you're chasing a mystery value and have the pack installed, it costs nothing to rule out.
Installing it
Install the pack via ComfyUI Manager - search comfy-ovum - or:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart ComfyUI. No extra dependencies; underscore3 is vendored in the repo.
Gotchas
- Only the
Ellipsissingleton matches - there's no other way to construct one, and nothing else is the same type. - It's an exact-type check, so this one genuinely can't misfire; the challenge is ever finding input worth feeding it.
- Output wire is
*, notBOOLEAN.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| objopt | * | Primary input object. Also accepts _.CHAIN to continue chaining. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |