Skip to content

Concept Taxonomy

This taxonomy organizes the 200 mountainash concepts into 11 categories aligned with the package's architecture layers.

Categories

FOUND — Foundation Concepts

Prerequisites and external knowledge: Python type system, DataFrame libraries, SQL, design patterns (visitor, DAG, method chaining). These are concepts a developer brings to mountainash, not concepts mountainash teaches.

INFRA — Core Infrastructure

Shared infrastructure that all other modules depend on: backend/dtype/operation enums, type guards, factory base classes, lazy imports, and the constants module.

EXAPI — Expression API

The user-facing fluent expression API: col/lit/when factory functions, namespace operations (.str, .dt, .struct, .list, .name), operator overloading, aggregation, window functions, and null handling.

EXAST — Expression AST & System

Internal expression architecture: the 7 Pydantic-based AST node types, function key enums (FKEY_SUBSTRAIT_, FKEY_MOUNTAINASH_), function registry, unified visitor, and protocol contracts.

EXBAK — Expression Backends

Backend implementations that compile expression AST to native code: PolarsExpressionSystem, NarwhalsExpressionSystem, IbisExpressionSystem, backend composition via multiple inheritance, and cross-backend testing patterns.

RLAPI — Relation API

The user-facing fluent relation API: relation() factory, Relation class with filter/sort/join/group_by/conform/unnest, GroupedRelation, terminal operations (.to_polars, .collect), and build-then-collect pattern.

RLAST — Relation AST & System

Internal relation architecture: 10 Substrait-aligned + 4 extension node types, relation protocols, UnifiedRelationVisitor, RelationVisitRegistry, OptimisationRegistry, and visitor composition with expression visitor.

RLBAK — Relation Backends

Backend implementations for relational operations: PolarsRelationSystem (LazyFrame), NarwhalsRelationSystem, IbisRelationSystem (SQL), cross-type joins, backend divergences, and execution targeting.

TYPES — Type System & Schema

Universal type metadata: TypeSpec/FieldSpec/FieldConstraints, UniversalType enum, Frictionless Table Schema alignment, schema extraction from DataFrames/dataclasses/Pydantic, validation, and cross-backend type conversion.

DAG — DAG & DataPackage

Multi-resource orchestration: RelationDAG with two-edge graph model (dependency vs constraint edges), topological collection, ref_resolver, Frictionless DataPackage/DataResource/TableDialect, and FK integrity checking.

PIPE — Pipeline Framework

Declarative pipeline orchestration: PipelineBuilder fluent API, step/source decorators, PipelineSpec, ParamSpec typed parameter binding, ParamsRelNode/PipelineStepRelNode AST integration, fold_params, and pipeline runners.

Taxonomy Summary Table

TaxonomyID Category Name Concept Range Count
FOUND Foundation Concepts 1-12 12
INFRA Core Infrastructure 13-24 12
EXAPI Expression API 25-54 30
EXAST Expression AST & System 55-78 24
EXBAK Expression Backends 79-94 16
RLAPI Relation API 95-114 20
RLAST Relation AST & System 115-134 20
RLBAK Relation Backends 135-146 12
TYPES Type System & Schema 147-168 22
DAG DAG & DataPackage 169-186 18
PIPE Pipeline Framework 187-200 14