Skip to content

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.

01 / DEFINE

Describe the spec

OPTIONAL Python authoring A developer-friendly way to write definitions
export
SOURCE OF TRUTH Spec JSON Or write this document directly
02 / PREPARE

Make a run plan

COMPILER Optimize the plan Resolves dependencies and execution order
produces
PORTABLE PLAN Execution plan What runs, and in what order
03 / RUN

Get the results

ENGINE Execute the plan Connects the plan to live data and functions
returns
OUTPUT Analytical results Calculated outputs and run details
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.