Integration5 min read

Embed the Python solver

Run a supported local solver entry point inside a Python process you control.

Use a supported distribution

Obtain the licensed solver distribution and its dependency instructions from Helixor. Pin the package version, problem manifest and engine configuration together. There is no assumption here that an arbitrary package from a public index is the supported build.

Embedded execution lets you own the process lifecycle and data handling. Hardware requirements depend on the engine: selecting a GPU engine requires its compatible accelerator stack.

Inspect a packaged manifest

The manifest loader is a local Python interface. Inspect the packaged resources before creating problem records. Runtime SolverManifest objects and rich authoring manifests are different contracts.

PythonCopy
from helixor_solvers.manifest import load_packaged_manifest

manifest = load_packaged_manifest("rostering.yaml")
print(manifest.problem_type)

A local rostering integration

The local rostering entry point accepts a problem dictionary and options. Your problem.json must contain non-empty employees and shifts, with fields validated against your distribution’s manifest.

Select the engine explicitly. The example below uses the benders_dw engine; it does not imply that every problem family has the same local API.

PythonCopy
import json
from helixor_solvers.rostering_local import solve_rostering_local

with open("problem.json") as source:
    problem = json.load(source)

result = solve_rostering_local(
    problem,
    options={"engine": "benders_dw"},
)
print(result)
Integration note

Integration template: requires an installed compatible solver distribution and a complete problem.json. Inspect the returned feasibility and diagnostics before using its assignments.

Keep an application boundary

Wrap execution in your application’s resource limits, cancellation policy and result acceptance checks. Keep the source dataset and exact configuration needed to reproduce a run.

For a Java or TypeScript application, prefer a supported generated service client or an explicitly provisioned local service. This Python entry point is not a claim of a native JVM, JavaScript or WebAssembly solver.