Bundled Python and Node.js

Some skills run small scripts, for example to check a finished Office file (Create and check Office documents). Those scripts need Python, so DataMind Oda prepares its own copy of Python, with Node.js and pnpm where the copy provides them. This page covers how that copy is prepared, used and kept current.

What the bundled runtimes are for

For what the copy contains, see Workspace dependencies.

The Load workspace dependencies step

When a task first needs the runtimes, Oda prepares the copy and the chat shows a step called Load workspace dependencies. The step returns one JSON object holding the absolute paths into the prepared copy, and the scripts a skill runs use those paths. Asking again returns the same object, so the copy is not prepared again for each task.

Where the copy is used

When the copy changes

Questions, answered

Why does Oda need its own Python and Node.js?

Some skills run small scripts, for example to check a finished Office file. Those scripts use the copy of Python that Oda prepares, so they always find Oda's copy and its libraries, not whatever happens to be installed on the computer.

What is the Load workspace dependencies step in a chat?

It is the step that prepares the copy and hands the task the absolute paths into it, so the scripts a skill runs find the bundled runtimes. Asking again returns the same paths.

Will Oda change my own Python or Node.js setup?

No. The runtimes are Oda's own copy. Nothing is added to your Python, Node.js or packages, and PATH and your package-manager settings stay as they are.

Can I point Oda at a copy of my own?

Yes. A deployment setting can point Oda at a prepared copy of your own instead of the one that comes with the app, and an empty value turns the bundled runtimes off. This is not changed in a chat.

What happens when the bundled copy changes?

While the copy stays the same, Oda reuses it, and any packages added to it are kept. When the copy changes, Oda prepares the new copy beside the current one and switches to it in one step, so a task never runs on a half-prepared copy.

What happens if preparing a new copy fails?

Oda falls back safely: the previous complete copy serves one more task, and the next attempt tries again. On Windows, a switch blocked by a file in use is retried for about ten seconds first.

What does primary runtime: incompatible platform or architecture mean?

The copy Oda was given was prepared for a different kind of system, so it cannot run on this computer. Oda reports the reason instead of working around it; a task that needs the runtimes cannot run until a copy that fits this computer is available. Ask your administrator for one.

What does primary runtime: invalid metadata mean?

Oda could not read the copy's own description as a valid set of runtimes, so it refuses the copy instead of using one it cannot trust. Ask your administrator so a valid copy can be provided.

What does workspace dependencies: source and root must be absolute paths mean?

The locations Oda was given for the runtimes are not full paths, so it cannot prepare the copy. This belongs to how Oda is set up; ask your administrator.