Skip to content

v0.0.10

New: Namespace + DAG Definition (lythonic.compose.namespace)

Composable directed acyclic graph (DAG) framework built on top of a typed namespace registry.

  • Namespace — typed registry with register(), get(), register_all, and __getattr__ for dot-access to callables.
  • DagNode / DagEdge / Dag — define DAGs with the >> operator, validate with cycle detection and type checking, and introspect via context manager.
  • DagContext and NamespaceNode — runtime context injection and metadata containers for registered callables.

New: DAG Execution + Provenance (lythonic.compose.dag_runner, lythonic.compose.dag_provenance)

SQLite-backed execution engine with full provenance tracking.

  • DagRunner — linear execution with automatic output wiring, restart() for paused/failed runs, and replay() for selective re-execution.
  • DagProvenance — SQLite data layer recording run history and node outputs.
  • NullProvenance — allows DAG registration and execution without persistence (db_path is now optional).
  • Dag.clone(prefix) and DagNode >> Dag merge for composable DAG templates.

New: Namespace Config (lythonic.compose.namespace_config)

Pydantic-based configuration layer for namespaces.

  • load_namespace() — two-pass loader that resolves config into a live namespace.
  • validate_config() and dump_namespace() — validation and serialization utilities.
  • Pydantic config models and NamespaceNode.metadata support.

Changed

  • cached module refactored — removed CacheRegistry in favor of register_cached_callable() helper, migrated to the new Namespace from compose.namespace.
  • Cache pushback mechanism — added CacheRefreshPushback / CacheRefreshSuppressed exceptions with _pushback table and checks in both sync and async wrappers.

Fixes

  • Made external pause test deterministic with asyncio.Event.
  • Close SQLite connections in tests for Windows compatibility.

Documentation

  • Added testing.md strategy guide and updated CLAUDE.md with testing and documentation rules.
  • Added reference pages for dag_provenance, dag_runner, namespace_config, and updated cached reference.
  • Added documenting.md updates and cached pushback documentation.