dbx-tools-node-runtime
Run PythonMonkey-based packages in managed Python environments that do not provide system Node.js or npm.
Quick Start
%pip install dbx-tools-node-runtime
On first use, the package installs the locked PythonMonkey runtime into the
active Python environment. It reuses npm when available; otherwise it installs
nodejs-wheel>=22.20,<23 and uses the packaged Node and npm executables.
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.
Runtime Installation
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 shared PythonMonkey host lives 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.
Metadata
Release files for dbx-tools-node-runtime 0.9.126
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dbx_tools_node_runtime-0.9.126.tar.gz | 156.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dbx_tools_node_runtime-0.9.126-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 316.3 kB
Release files / dbx_tools_node_runtime-0.9.126.tar.gz
| Download URL | dbx_tools_node_runtime-0.9.126.tar.gz |
|---|---|
| Size | 156.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c207d0f1e64fa41bb2f86525aebc7fd77f1a8ec2492f44d13efb9b497219b1a7
|
|
BLAKE2b-256 checksum How to use checksums |
15708d214f18d3cf15a65359505b09265b194d8adb3c796aa2610ba09a98bde1
|
| 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 13, 2026.
Transparency logRelease files / dbx_tools_node_runtime-0.9.126-py3-none-any.whl
| Download URL | dbx_tools_node_runtime-0.9.126-py3-none-any.whl |
|---|---|
| Size | 159.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d15a72f0af6215de1dd9783f8cdb217c246b99c27997a54f00f0fe12917b438
|
|
BLAKE2b-256 checksum How to use checksums |
42b9b29d0012fd83226f973f1f29742a34e9d0c62e5ade0aea435e1159f16c32
|
| 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 13, 2026.
Transparency log