# ComfyUI-basic_data_handling
**Repository Path**: 203014/ComfyUI-basic_data_handling
## Basic Information
- **Project Name**: ComfyUI-basic_data_handling
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-01
- **Last Updated**: 2025-12-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Basic Data Handling
Basic Python functions for manipulating data that every programmer is used to. These nodes are very lightweight and
require no additional dependencies.
## Quickstart
### Recommended Installation
1. Install [ComfyUI](https://docs.comfy.org/get_started)
2. Install [ComfyUI-Manager](https://github.com/ltdrdata/ComfyUI-Manager)
3. Look up the "Basic data handling" extension in ComfyUI-Manager
4. Restart ComfyUI
### Alternative (Manual Installation)
1. Install [ComfyUI](https://docs.comfy.org/get_started)
2. Clone this repository under `ComfyUI/custom_nodes`
3. Restart ComfyUI
## Node Categories
### BOOLEAN
Boolean logic operations:
- **Logic operations**: and, or, not, xor, nand, nor
### Cast
Type conversion nodes for ComfyUI data types:
to BOOLEAN, to FLOAT, to INT, to STRING, to DICT, to LIST, to SET
### Comparison
Value comparison nodes:
- **Basic comparisons**: equal (==), not equal (!=), greater than (>), greater than or equal (>=), less than (<), less
than or equal (<=)
- **String comparison**: StringComparison with case-sensitive/insensitive options
- **Special comparisons**: NumberInRange, IsNull
- **Container operations**: CompareLength
### Control Flow
Mechanisms to direct workflow execution:
- **Conditional branching**:
- if/else - Routes based on a boolean condition
- if/elif/.../else - Supports multiple conditional branches
- switch/case - Selects from options based on an index
- **Execution management**:
- disable flow - Conditionally enables/disables a flow
- flow select - Directs output to either "true" or "false" path
- force calculation - Prevents caching and forces recalculation
- force execution order - Controls node execution sequence
### Data List
ComfyUI list manipulation nodes (for processing individual items):
- **Creation**: create Data List (generic and type-specific versions)
- **Modification**: append, extend, insert, set item, remove, pop, pop random
- **Filtering**: filter, filter select
- **Access**: get item, first, last, slice, index, contains
- **Information**: length, count
- **Operations**: sort, reverse, zip, min, max
- **Conversion**: convert to LIST, convert to SET
### DICT
Dictionary manipulation nodes:
- **Creation**: create (generic and type-specific), create from items, create from lists, fromkeys
- **Access**: get, get_multiple, keys, values, items
- **Modification**: set, update, setdefault, merge
- **Removal**: pop, popitem, pop random, remove
- **Information**: length, contains_key
- **Operations**: filter_by_keys, exclude_keys, invert, compare
- **Conversion**: get_keys_values
### FLOAT
Floating-point operation nodes:
- **Creation**: create FLOAT from string
- **Basic arithmetic**: add, subtract, multiply, divide, divide (zero safe), power
- **Formatting**: round (to specified decimal places)
- **Conversion**: to_hex, from_hex
- **Analysis**: is_integer, as_integer_ratio
### INT
Integer operation nodes:
- **Creation**: create INT, create INT with base
- **Basic arithmetic**: add, subtract, multiply, divide, divide (zero safe), modulus, power
- **Bit operations**: bit_length, bit_count
- **Byte conversion**: to_bytes, from_bytes
### LIST
Python list manipulation nodes (as a single variable):
- **Creation**: create LIST (generic and type-specific versions)
- **Modification**: append, extend, insert, remove, pop, pop random, set_item
- **Access**: get_item, first, last, slice, index, contains
- **Information**: length, count
- **Operations**: sort, reverse, min, max
- **Conversion**: convert to data list, convert to SET
### Math
Mathematical operations:
- **Generic**: formula
- **Trigonometric functions**: sin, cos, tan, asin, acos, atan, atan2
- **Logarithmic/Exponential**: log, log10, exp, sqrt
- **Constants**: pi, e
- **Angle conversion**: degrees, radians
- **Rounding operations**: floor, ceil
- **Min/Max functions**: min, max
- **Other**: abs
### Path
File system path manipulation nodes:
- **Basic operations**: join, split, splitext, basename, dirname, normalize
- **Path information**: abspath, exists, is_file, is_dir, is_absolute, get_size, get_extension, set_extension, input_dir, output_dir
- **Directory operations**: list_dir, get_cwd
- **Path searching**: glob, common_prefix
- **Path conversions**: relative, expand_vars
- **File loading**: load STRING from file, load IMAGE from file, load IMAGE+MASK from file, load MASK from alpha
channel, load MASK from greyscale/red
- **File saving**: save STRING to file, save IMAGE to file, save IMAGE+MASK to file
### SET
Python set manipulation nodes (as a single variable):
- **Creation**: create SET (generic and type-specific versions)
- **Modification**: add, remove, discard, pop, pop random
- **Information**: length, contains
- **Set operations**: union, intersection, difference, symmetric_difference
- **Set comparison**: is_subset, is_superset, is_disjoint
- **Conversion**: convert to data list, convert to LIST
### STRING
String manipulation nodes:
- **Text case conversion**: capitalize, casefold, lower, swapcase, title, upper
- **Text inspection**: contains, endswith, find, length, rfind, startswith
- **Character type checking**: isalnum, isalpha, isascii, isdecimal, isdigit, isidentifier, islower, isnumeric,
isprintable, isspace, istitle, isupper
- **Text formatting**: center, expandtabs, ljust, rjust, zfill
- **Text splitting/joining**: join, split, rsplit, splitlines (with data list and LIST variants)
- **Text modification**: concat, count, replace, strip, lstrip, rstrip, removeprefix, removesuffix
- **Encoding/escaping**: decode, encode, escape, unescape, format_map
### Time
Date and time manipulation nodes:
- **DateTime creation/conversion**: TimeNow, TimeToUnix, UnixToTime
- **String formatting/parsing**: TimeFormat, TimeParse
- **Time calculations**: TimeDelta, TimeAddDelta, TimeSubtractDelta, TimeDifference
- **Component extraction**: TimeExtract (year, month, day, hour, etc.)
## Understanding Data Types
ComfyUI provides three different collection types that serve distinct purposes:
### Collection Types and When to Choose Them
| Type | Description | When to Choose |
|---------------|----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **data list** | Native ComfyUI list where **items are processed individually** | • When you need ComfyUI to process each item individually
• For batch operations with parallel processing
• When connecting to nodes that expect individual inputs |
| **LIST** | Python list passed as a single variable | • When you need ordered collections with preserved duplicates
• When index-based access is important
• When you need to work with the collection as a complete unit |
| **SET** | Python set passed as a single variable | • When you need to ensure unique values only
• When you need fast membership testing
• For set operations (union, intersection, etc.)
• When element order doesn't matter |