Project architecture¶
Uptimely separates spec definition, planning, and execution. The same declarative definition can be compiled into a portable plan and run by an engine.
From definition to results¶
Define the spec, prepare a plan, then execute it.
Describe the spec
Make a run plan
Get the results
- Gray
- Optional authoringPython source for writing spec definitions.
- Blue
- DefinitionsSpec JSON and the portable execution plan.
- Teal
- ActionsThe compiler prepares the plan; the engine executes it.
- Amber
- ResultsCalculated outputs and details from a run.
Python authoring is optional: it supports imports, helpers, reuse, and editor assistance, then exports to Spec JSON. Spec JSON can also be authored directly.
Spec¶
Spec JSON is the portable, authoritative definition of the spec. It describes subjects, datasets, features, functions, and mappings without depending on a particular authoring language. The other tools consume this shared contract.
Compiler¶
The compiler prepares the definition for execution. It resolves declared dependencies and creates an execution plan describing the work and its order, without tying the plan to a live engine instance.
Engine¶
The engine executes the plan against runtime data and functions. It resolves runtime values for the current environment and returns execution state, including calculated outputs and operation results.
Separating definition, planning, and execution keeps spec portable while allowing plans to run in different environments.