kern-sandbox 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +7 -4
  2. package/index.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,9 +2,12 @@
2
2
 
3
3
  Run LLM/agent-generated code in a fast, **local**, daemonless kernel sandbox, straight from Node.
4
4
 
5
+ On npm: [`npm install kern-sandbox`](https://www.npmjs.com/package/kern-sandbox). For Python, the same
6
+ package is on PyPI: [`kern-sandbox`](https://pypi.org/project/kern-sandbox/).
7
+
5
8
  It is a thin, dependency-free wrapper around the [`kern`](https://github.com/getkern/kern) binary:
6
9
  a fresh, isolated box per call, network off by default, hard resource caps, and a timeout the binding
7
- itself enforces. E2B/Firecracker territory, but local and about 1.6 MB, with no cloud, no account, no VM.
10
+ itself enforces. microVM-grade isolation, but local and about 1.6 MB, with no cloud, no account, no VM.
8
11
 
9
12
  ```js
10
13
  const kern = require("kern-sandbox");
@@ -32,8 +35,8 @@ You also need the `kern` binary on `PATH` (or point `$KERN_BIN` at it). One line
32
35
  curl -fsSL https://raw.githubusercontent.com/getkern/kern/main/install.sh | sh
33
36
  ```
34
37
 
35
- kern needs a Linux kernel with unprivileged user namespaces + cgroup v2. On Windows it runs under WSL2;
36
- on macOS, inside a Linux VM. Node 18+.
38
+ kern needs a Linux kernel with unprivileged user namespaces + cgroup v2. On Windows it runs under WSL2.
39
+ Node 18+.
37
40
 
38
41
  ## A session: files persist, processes are ephemeral
39
42
 
@@ -147,7 +150,7 @@ Desktop / Cursor) ships in the Python package `kern-sandbox` (`pip install kern-
147
150
  ## Charts, rich results, live output, and checkpoints
148
151
 
149
152
  **Rich results (the "code interpreter" pattern).** `runCode` runs Python by default, and like a
150
- Jupyter/E2B cell it captures rich, mime-typed values into `result.results` (a list of `Result`) with
153
+ Jupyter cell it captures rich, mime-typed values into `result.results` (a list of `Result`) with
151
154
  **no Jupyter kernel**: the value of the code's **last bare expression**, every **`display(obj)`** call,
152
155
  and **every open matplotlib figure automatically** (no `savefig`). Accessors: `.png`/`.jpeg` (Buffer),
153
156
  `.html`, `.svg`, `.markdown`, `.json`, `.text`.
package/index.js CHANGED
@@ -36,7 +36,7 @@ const crypto = require("crypto");
36
36
  const zlib = require("zlib");
37
37
  const { spawn, spawnSync } = require("child_process");
38
38
 
39
- const VERSION = "0.1.7";
39
+ const VERSION = "0.1.8";
40
40
 
41
41
  const DEFAULT_IMAGE = "python:3.12-slim";
42
42
  const WORKSPACE = "/workspace"; // where the persistent workspace is mounted inside every box
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kern-sandbox",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "A fast, local, daemonless code-interpreter sandbox for agent/LLM code: run Python/JS/Bash, get rich results (charts, tables), no cloud/account/VM. A thin, dependency-free wrapper around the kern binary.",
5
5
  "keywords": [
6
6
  "sandbox",