@volter/browser-python 0.1.76 → 0.1.78
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.
|
@@ -8,6 +8,8 @@ export interface PyodideSnapshotManifest {
|
|
|
8
8
|
/** The snapshot's own digest, of its gzipped bytes as served. */
|
|
9
9
|
integrity: string;
|
|
10
10
|
bytes: number;
|
|
11
|
+
/** The host preparation modules; reruns reuse only the artifact of these exact inputs. */
|
|
12
|
+
preparation?: string;
|
|
11
13
|
}
|
|
12
14
|
export declare const PYODIDE_SNAPSHOT_FORMAT = 1;
|
|
13
15
|
/** The snapshot of the pinned Pyodide, gzipped, taken once and kept beside it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pyodide-snapshot.d.ts","sourceRoot":"","sources":["../src/pyodide-snapshot.ts"],"names":[],"mappings":"AAuBA,qFAAqF;AACrF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,CAAC,CAAC;IACV,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pyodide-snapshot.d.ts","sourceRoot":"","sources":["../src/pyodide-snapshot.ts"],"names":[],"mappings":"AAuBA,qFAAqF;AACrF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,CAAC,CAAC;IACV,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,kFAAkF;AAClF,wBAAsB,oBAAoB,CACxC,cAAc,SAA4D,GACzE,OAAO,CAAC;IAAE,QAAQ,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CA+DnE"}
|
package/dist/pyodide-snapshot.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* starts the interpreter as before.
|
|
15
15
|
*/
|
|
16
16
|
import { existsSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
17
|
-
import { randomUUID } from "node:crypto";
|
|
17
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
18
18
|
import { homedir } from "node:os";
|
|
19
19
|
import { join } from "node:path";
|
|
20
20
|
import { gzipSync } from "node:zlib";
|
|
@@ -25,14 +25,47 @@ export const PYODIDE_SNAPSHOT_FORMAT = 1;
|
|
|
25
25
|
export async function buildPyodideSnapshot(cacheDirectory = join(homedir(), ".cache", "browser-substrate", "pyodide")) {
|
|
26
26
|
const directory = await materializePyodide(cacheDirectory);
|
|
27
27
|
const engine = pyodideArtifact("pyodide.asm.wasm").integrity;
|
|
28
|
-
const
|
|
28
|
+
const preparation = createHash("sha256")
|
|
29
|
+
.update(readFileSync(new URL(import.meta.url)))
|
|
30
|
+
.update(readFileSync(new URL("./host.js", import.meta.url)))
|
|
31
|
+
.update(readFileSync(new URL("./pyodide-artifacts.js", import.meta.url))).digest("hex");
|
|
32
|
+
const file = join(directory, `snapshot-v${PYODIDE_SNAPSHOT_FORMAT}-${preparation}.bin.gz`);
|
|
29
33
|
const record = `${file}.json`;
|
|
34
|
+
const staged = (path, data) => { const part = `${path}.${randomUUID()}.part`; writeFileSync(part, data); renameSync(part, path); };
|
|
35
|
+
const matches = async (kept, bytes) => kept.format === PYODIDE_SNAPSHOT_FORMAT && kept.pyodide === PYODIDE_VERSION && kept.engine === engine
|
|
36
|
+
&& kept.preparation === preparation && kept.bytes === bytes.byteLength && await pyodideDigest(bytes) === kept.integrity;
|
|
30
37
|
if (existsSync(file) && existsSync(record)) {
|
|
31
38
|
const kept = JSON.parse(readFileSync(record, "utf8"));
|
|
32
39
|
const bytes = new Uint8Array(readFileSync(file));
|
|
33
|
-
if (
|
|
34
|
-
|
|
40
|
+
if (await matches(kept, bytes))
|
|
41
|
+
return { manifest: kept, bytes };
|
|
42
|
+
}
|
|
43
|
+
// A started interpreter contains a hash secret and other initialization
|
|
44
|
+
// entropy. CI rerunning an exact published package uses its prepared image,
|
|
45
|
+
// rather than pretending a newly started interpreter has identical bytes.
|
|
46
|
+
const published = process.env.BROWSER_SUBSTRATE_SNAPSHOT_PACKAGE;
|
|
47
|
+
if (published) {
|
|
48
|
+
if (!/^@volter\/browser-substrate@\d+\.\d+\.\d+$/u.test(published))
|
|
49
|
+
throw new Error("Invalid published snapshot package.");
|
|
50
|
+
const base = `https://unpkg.com/${published}/dist/shell`;
|
|
51
|
+
const response = await fetch(`${base}/python-runtime-snapshot.json`, { signal: AbortSignal.timeout(30_000) });
|
|
52
|
+
if (response.status !== 404) {
|
|
53
|
+
if (!response.ok)
|
|
54
|
+
throw new Error(`The published Python snapshot manifest answered ${response.status}.`);
|
|
55
|
+
const kept = await response.json();
|
|
56
|
+
if (kept.preparation !== preparation || kept.engine !== engine || !Number.isSafeInteger(kept.bytes) || kept.bytes < 0 || kept.bytes > 128 * 1024 * 1024) {
|
|
57
|
+
throw new Error("The published Python snapshot was prepared from different inputs.");
|
|
58
|
+
}
|
|
59
|
+
const artifact = await fetch(`${base}/python-runtime-snapshot.bin`, { signal: AbortSignal.timeout(30_000) });
|
|
60
|
+
if (!artifact.ok)
|
|
61
|
+
throw new Error(`The published Python snapshot answered ${artifact.status}.`);
|
|
62
|
+
const bytes = new Uint8Array(await artifact.arrayBuffer());
|
|
63
|
+
if (!await matches(kept, bytes))
|
|
64
|
+
throw new Error("The published Python snapshot does not match its manifest.");
|
|
65
|
+
staged(file, bytes);
|
|
66
|
+
staged(record, JSON.stringify(kept));
|
|
35
67
|
return { manifest: kept, bytes };
|
|
68
|
+
}
|
|
36
69
|
}
|
|
37
70
|
const index = directory.endsWith("/") ? directory : `${directory}/`;
|
|
38
71
|
const { loadPyodide } = await import(/* @vite-ignore */ `file://${index}pyodide.mjs`);
|
|
@@ -50,9 +83,8 @@ export async function buildPyodideSnapshot(cacheDirectory = join(homedir(), ".ca
|
|
|
50
83
|
createPyodideModule: (options) => asm.default({ ...options, thisProgram: "python" }),
|
|
51
84
|
});
|
|
52
85
|
const bytes = new Uint8Array(gzipSync(pyodide.makeMemorySnapshot(), { level: 9 }));
|
|
53
|
-
const manifest = { format: PYODIDE_SNAPSHOT_FORMAT, pyodide: PYODIDE_VERSION, engine, integrity: await pyodideDigest(bytes), bytes: bytes.byteLength };
|
|
86
|
+
const manifest = { format: PYODIDE_SNAPSHOT_FORMAT, pyodide: PYODIDE_VERSION, engine, preparation, integrity: await pyodideDigest(bytes), bytes: bytes.byteLength };
|
|
54
87
|
// Each file whole or not at all: a torn pair would fail its digest and be taken again, but need not be.
|
|
55
|
-
const staged = (path, data) => { const part = `${path}.${randomUUID()}.part`; writeFileSync(part, data); renameSync(part, path); };
|
|
56
88
|
staged(file, bytes);
|
|
57
89
|
staged(record, JSON.stringify(manifest));
|
|
58
90
|
return { manifest, bytes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pyodide-snapshot.js","sourceRoot":"","sources":["../src/pyodide-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pyodide-snapshot.js","sourceRoot":"","sources":["../src/pyodide-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAgBzF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,CAAC;IAE1E,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;SACrC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9C,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3D,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,uBAAuB,IAAI,WAAW,SAAS,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAyB,EAAQ,EAAE,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtK,MAAM,OAAO,GAAG,KAAK,EAAE,IAA6B,EAAE,KAAiB,EAAoB,EAAE,CAC3F,IAAI,CAAC,MAAM,KAAK,uBAAuB,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;WAChG,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,IAAI,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;IAC5H,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAA4B,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IACD,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IACjE,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3H,MAAM,IAAI,GAAG,qBAAqB,SAAS,aAAa,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,+BAA+B,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9G,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACzG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;YAC9D,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBACxJ,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,8BAA8B,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7G,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAChG,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC/G,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;IACpE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,KAAK,aAAa,CAEnF,CAAC;IACF,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,sEAAsE;IACtE,qGAAqG;IACrG,+BAA+B;IAC/B,kHAAkH;IAClH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,KAAK,iBAAiB,CAAoE,CAAC;IACjJ,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;QAChC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE;QAC9E,mBAAmB,EAAE,CAAC,OAAgC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;KAC9G,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,QAAQ,GAA4B,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IAC7L,wGAAwG;IACxG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC"}
|
package/dist/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAMnC,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAMnC,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAqDtF"}
|
package/dist/vite.js
CHANGED
|
@@ -18,6 +18,8 @@ export function browserPythonVitePlugin(options = {}) {
|
|
|
18
18
|
// Pyodide: a worker restores it in 60 ms instead of starting Python in a
|
|
19
19
|
// second. A host that cannot take it serves none, and workers start Python.
|
|
20
20
|
const snapshot = buildPyodideSnapshot().catch((cause) => {
|
|
21
|
+
if (process.env.BROWSER_SUBSTRATE_SNAPSHOT_PACKAGE)
|
|
22
|
+
throw cause;
|
|
21
23
|
console.warn(`[python] no interpreter snapshot: ${cause instanceof Error ? cause.message : String(cause)}`);
|
|
22
24
|
return undefined;
|
|
23
25
|
});
|
package/dist/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
|