OptixLog Docs
API ReferencePipeline

IngestResult

Frozen dataclass returned by PipelineProject.ingest() — node ID, created flag, and resolved edge lists.

IngestResult is a frozen dataclass returned by every PipelineProject.ingest() call. It tells you which node was created or updated and how the server wired its edges.

from optixlog.pipeline import IngestResult

IngestResult fields

Signature

@dataclass(frozen=True)
class IngestResult:
    project_id: str
    node_id: str
    created: bool
    origin_nodes: list[EntityRef]
    forward_nodes: list[EntityRef]

Fields

Prop

Type

Working with EntityRef in results

The origin_nodes and forward_nodes lists contain EntityRef objects. Each has:

  • type — always "workflow_node" for ingest edges.
  • id — the node ID string you can pass to workflow_nodes.get().
  • name — the display name if the server returned it; None otherwise.

Example

ingest_and_inspect.py
from optixlog import SDKClient
from optixlog.pipeline import Pipeline
from optixlog_gen import SimulationNode

client = SDKClient(base_url="https://optixlog.leidos.com", api_key="sk-opt-...")
project = Pipeline(client).project("proj_grating_7f3a")

result = project.ingest(
    data=SimulationNode(config={}, solver="fdtd"),
    prompt="FDTD simulation following the layout design step.",
)

print(f"project_id:   {result.project_id}")
print(f"node_id:      {result.node_id}")
print(f"created:      {result.created}")   # True = new node, False = updated

for ref in result.origin_nodes:
    print(f"  origin: {ref.type}/{ref.id} ({ref.name})")

for ref in result.forward_nodes:
    print(f"  forward: {ref.type}/{ref.id} ({ref.name})")

On this page