Skip to main content

dbx-tools-node-runtime

Run PythonMonkey-based packages in managed Python environments that do not provide system Node.js or npm.

pythonmonkey depends on pminit, whose wheel build executes npm inside pip's isolated build environment. nodejs-wheel exposes Python console launchers, but those launchers cannot import nodejs_wheel from that isolated process. On first use, this package installs the locked runtime into the active Python environment. It reuses npm when npm is already on PATH. Otherwise it installs nodejs-wheel>=22.20,<23 into the active environment and creates direct shell launchers to the packaged Node binary and npm CLI. It then installs pythonmonkey==1.3.2 normally so pminit can build with those launchers.

An existing npm executable or installed nodejs-wheel package is reused without enforcing an exact Node wheel version. The range applies only when the runtime must install nodejs-wheel itself.

Both installations use a check-lock-check sequence scoped to the active Python environment. Concurrent processes wait for the same install, then recheck the environment instead of installing a second copy. The lock files contain no runtime packages. Set DBX_TOOLS_NODE_RUNTIME_LOCK_DIRECTORY only when the default per-user lock directory is unsuitable.

Install and run

Install the package normally:

%pip install dbx-tools-node-runtime

If the active environment was created without pip, the first runtime installation uses CPython's bundled ensurepip before installing PythonMonkey.

Prewarm the runtime explicitly when desired:

dbx-tools-node-runtime

The same project script can execute a CommonJS file through the lazy runtime:

dbx-tools-node-runtime ./hello.js

Otherwise the first generated binding load performs the same initialization through ensure_pythonmonkey(). Generated dbx-tools bindings use PythonMonkey's standard pythonmonkey.require loader after installation.

The package also installs the Databricks SDK for Python. In notebooks and Jobs, its shared runtime exposes the SDK's default WorkspaceClient authentication to generated Node auth bindings. Empty auth options use that runtime credential source automatically. Explicit profiles, hosts, and credentials continue through the normal Node auth providers.

The package also owns a shared PythonMonkey host under shims/. A shim path encodes its specifier: ___ becomes :, __ becomes /, and every other character stays as written (node___fs__promises.ts becomes node:fs/promises). Files whose derived name has no scheme, including bootstrap.ts, are support modules rather than runtime registry entries. Duplicate derived specifiers or registry aliases fail the build.

Build and watch

build-runtime.ts bundles the bootstrap and shims into src/dbx_tools/node_runtime/runtime.js. It adds a generated-file header, avoids rewriting unchanged output, and leaves the committed artifact read-only. Build or verify it directly with:

bun packages/py/node-runtime/build-runtime.ts
bun packages/py/node-runtime/build-runtime.ts --check

In a @dbx-tools/projen Python workspace, mark this package with nodeRuntime: true. Projen then exposes repository-wide tasks rather than package-specific tasks:

bun run python-node-runtime
bun run python-node-runtime:check
bun run python-node-runtime:watch

bun run sync --watch supervises python-node-runtime:watch with the shared Python binding, barrel, and Projen configuration watchers. Projen owns only this task lifecycle; the builder, shims, generated runtime, lazy installation, and PythonMonkey loading remain in this package.

Metadata

Release files for dbx-tools-node-runtime 0.9.93

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbx-tools-node-runtime 0.9.93
File Size Uploaded
dbx_tools_node_runtime-0.9.93.tar.gz 153.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dbx-tools-node-runtime 0.9.93
File Interpreter ABI Platform
dbx_tools_node_runtime-0.9.93-py3-none-any.whl Python 3 none any Details

Total release size: 310.0 kB

Release files / dbx_tools_node_runtime-0.9.93.tar.gz

Download URL dbx_tools_node_runtime-0.9.93.tar.gz
Size 153.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9d8049b5d7c3044d23825baa9caeb1519bb2fb3a9d8c011f552f8b0d67a78bcc
BLAKE2b-256 checksum
How to use checksums
9c551650ebde5d48c0bc6dd2f311ddb1237b45915efbc0ad12e09a8727988afe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / dbx_tools_node_runtime-0.9.93-py3-none-any.whl

Download URL dbx_tools_node_runtime-0.9.93-py3-none-any.whl
Size 156.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
825335a1b8c124d08044adddc7f14c82e6a47cd4c6c106e99a6bbeda6da91213
BLAKE2b-256 checksum
How to use checksums
2b102f35a39ed56b0081eea6c1415fdbb8d4146b2bb872eb9a3a1546b13bc9e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page