semantica.core is the coordination layer for the framework:
Semantica orchestrator coordinates the full KG construction pipeline from a YAML config
ConfigManager loads YAML config with deep-merge, validation, and environment variable overrides
PluginRegistry enables dynamic component registration and loading at runtime
LifecycleManager manages startup/shutdown with health monitoring and lifecycle hooks
Use individual modules directly for the vast majority of use cases. Reach for semantica.core only when you need application-level lifecycle management, centralized config, or a plugin system.
What You Get
- Semantica — High-level orchestrator: coordinates the full KG construction pipeline from a single
config.yaml. Entry point for application-level deployments.
- ConfigManager — YAML config with deep-merge,
SEMANTICA_ env var overrides, and dot-notation nested key access. Keeps secrets out of source files.
- LifecycleManager — Ordered startup/shutdown hooks, health monitoring, and a 6-state machine. Essential for long-running services like FastAPI apps.
- PluginRegistry — Register custom ingestors, parsers, exporters, or any component. Load them by name at runtime: no imports required.
Exported Classes
Semantica (Orchestration)
Semantica is the high-level entry point that coordinates the full KG construction pipeline:
Core Methods
ConfigManager
Centralized config loading with deep-merge and environment variable overrides:
YAML Configuration
Environment variable overrides (prefix SEMANTICA_):
Use double underscores (__) to produce a dot separator for nested key access. The implementation strips the SEMANTICA_ prefix, lowercases the result, and replaces __ with . before calling set_nested_value() on the config dict.
LifecycleManager
Manages framework state with a defined state machine and ordered startup/shutdown hooks:
State machine: UNINITIALIZED → INITIALIZING → READY → RUNNING → STOPPING → STOPPED
PluginRegistry
Register custom components that participate in the full pipeline: provenance tracking, retry policies, and parallel execution included:
MethodRegistry
Register custom orchestration methods and dispatch them by name:
When to Use Core vs. Individual Modules
Use Semantica and LifecycleManager only when building a long-running application (e.g. a FastAPI service) that needs ordered startup, health checks, and graceful shutdown. For scripts and notebooks, use individual modules directly.
- Pipeline — Pipeline execution and step orchestration.
- Utils — Shared utilities used by Core internally.
- Getting Started — Learn the basics before using Core.
- LLMs — Configure LLM providers via ConfigManager.