Glossary¶
C¶
chdb¶
Embedded ClickHouse engine that runs in-process. No server needed — pip install aaiclick includes it. Used when AAICLICK_CH_URL starts with chdb://.
ColumnInfo¶
Schema definition for a single column: ClickHouse type string (e.g. "Int64", "Array(String)") plus nullable flag.
Computed¶
NamedTuple with type and expression fields, used with with_columns() to add SQL expression columns to a View. Import from aaiclick.data.models.
D¶
data_context()¶
Async context manager that manages Object lifecycle. Creates a ClickHouse client, tracks Objects via weakrefs, and marks them stale on exit. Entry point for all data operations.
DataResult¶
Return type of Object.data() — a union of scalar values, lists, and dicts depending on the Object's fieldtype.
F¶
Fieldtype¶
Metadata tag ('s', 'a', 'd') stored as a YAML comment on each column. Indicates whether the Object holds a scalar, array, or dict.
G¶
GroupByQuery¶
Returned by obj.group_by("key"). Supports aggregation (.sum(), .mean(), etc.) and .having() filters. Returns a dict Object.
L¶
LazyOperator¶
Subclass of Object returned by every binary dunder on an Object (a + b, a == b, a & b, etc.). Captures the operation plan (lhs, rhs, operator, precomputed result schema) and defers the ClickHouse CREATE TABLE + INSERT INTO ... SELECT until the LazyOperator is awaited. .as_(name, scope=...) controls the result table name and lifetime. See Object API → Lazy Operator Results.
M¶
MergeTree¶
Default ClickHouse table engine for persistent objects. Stores data on disk with efficient columnar compression. Temporary objects use Memory engine by default.
O¶
Object¶
Python wrapper for a ClickHouse table. Each Object instance corresponds to one table. Supports operator overloading (+, -, *, .mean(), .group_by()) that creates new tables with results. Becomes stale when its data_context() exits.
open_object()¶
Reopens an existing persistent Object by name in a new data_context(). Loads the schema from ClickHouse. Raises RuntimeError if the table doesn't exist.
P¶
Persistent Object¶
An Object created with name= parameter. Stored with a p_ table prefix, uses MergeTree engine, and survives data_context() exits. Reopen with open_object().
S¶
Scalar Broadcast¶
Automatic conversion of Python scalars (int, float, bool, str) to single-value Objects in binary operations. Both obj * 2 and 2 * obj work.
Schema¶
Dataclass holding an Object's column definitions, fieldtype, engine, and ordering. Passed to create_object() or inferred automatically by create_object_from_value().
Snowflake ID¶
Timestamp-encoded unique identifier — globally unique 64-bit ID with millisecond-precision timestamp. aaiclick uses Snowflake IDs to mint table names (t_<snowflake>) and as the advisory-lock key for cross-process insert serialisation.
V¶
View¶
Read-only filtered projection of an Object — references the same table, no data copy. Created via obj.view(), obj.where(), obj["col"], obj.with_columns(), or obj.explode(). Supports all read operations but cannot insert().