pyodide 0.20.1-alpha.2 → 0.21.0-alpha.1
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.
- package/console.html +70 -6
- package/distutils.tar +0 -0
- package/package.json +56 -6
- package/packages.json +1 -1
- package/pyodide.asm.data +0 -0
- package/pyodide.asm.js +2 -2
- package/pyodide.asm.wasm +0 -0
- package/pyodide.d.ts +6 -2
- package/pyodide.js +1 -15
- package/pyodide.js.map +1 -1
- package/pyodide.mjs +1 -15
- package/pyodide.mjs.map +1 -1
- package/pyodide_py.tar +0 -0
- package/pyodide-0.20.1-alpha.2.tgz +0 -0
package/console.html
CHANGED
|
@@ -15,9 +15,56 @@
|
|
|
15
15
|
--size: 1.5;
|
|
16
16
|
--color: rgba(255, 255, 255, 0.8);
|
|
17
17
|
}
|
|
18
|
+
.noblink {
|
|
19
|
+
--animation: terminal-none;
|
|
20
|
+
}
|
|
21
|
+
body {
|
|
22
|
+
background-color: black;
|
|
23
|
+
}
|
|
24
|
+
#jquery-terminal-logo {
|
|
25
|
+
color: white;
|
|
26
|
+
border-color: white;
|
|
27
|
+
position: absolute;
|
|
28
|
+
top: 7px;
|
|
29
|
+
right: 18px;
|
|
30
|
+
z-index: 2;
|
|
31
|
+
}
|
|
32
|
+
#jquery-terminal-logo a {
|
|
33
|
+
color: gray;
|
|
34
|
+
text-decoration: none;
|
|
35
|
+
font-size: 0.7em;
|
|
36
|
+
}
|
|
37
|
+
#loading {
|
|
38
|
+
display: inline-block;
|
|
39
|
+
width: 50px;
|
|
40
|
+
height: 50px;
|
|
41
|
+
position: fixed;
|
|
42
|
+
top: 50%;
|
|
43
|
+
left: 50%;
|
|
44
|
+
border: 3px solid rgba(172, 237, 255, 0.5);
|
|
45
|
+
border-radius: 50%;
|
|
46
|
+
border-top-color: #fff;
|
|
47
|
+
animation: spin 1s ease-in-out infinite;
|
|
48
|
+
-webkit-animation: spin 1s ease-in-out infinite;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@keyframes spin {
|
|
52
|
+
to {
|
|
53
|
+
-webkit-transform: rotate(360deg);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
@-webkit-keyframes spin {
|
|
57
|
+
to {
|
|
58
|
+
-webkit-transform: rotate(360deg);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
18
61
|
</style>
|
|
19
62
|
</head>
|
|
20
63
|
<body>
|
|
64
|
+
<div id="jquery-terminal-logo">
|
|
65
|
+
<a href="https://terminal.jcubic.pl/">jQuery Terminal</a>
|
|
66
|
+
</div>
|
|
67
|
+
<div id="loading"></div>
|
|
21
68
|
<script>
|
|
22
69
|
"use strict";
|
|
23
70
|
function sleep(s) {
|
|
@@ -25,7 +72,14 @@
|
|
|
25
72
|
}
|
|
26
73
|
|
|
27
74
|
async function main() {
|
|
28
|
-
|
|
75
|
+
let term;
|
|
76
|
+
globalThis.pyodide = await loadPyodide({
|
|
77
|
+
stdin: () => {
|
|
78
|
+
let result = prompt();
|
|
79
|
+
echo(result);
|
|
80
|
+
return result;
|
|
81
|
+
},
|
|
82
|
+
});
|
|
29
83
|
let namespace = pyodide.globals.get("dict")();
|
|
30
84
|
pyodide.runPython(
|
|
31
85
|
`
|
|
@@ -51,6 +105,11 @@
|
|
|
51
105
|
let await_fut = namespace.get("await_fut");
|
|
52
106
|
let pyconsole = namespace.get("pyconsole");
|
|
53
107
|
let clear_console = namespace.get("clear_console");
|
|
108
|
+
const echo = (msg, ...opts) =>
|
|
109
|
+
term.echo(
|
|
110
|
+
msg.replace("]]", "]]").replace("[[", "[["),
|
|
111
|
+
...opts
|
|
112
|
+
);
|
|
54
113
|
namespace.destroy();
|
|
55
114
|
|
|
56
115
|
let ps1 = ">>> ",
|
|
@@ -91,9 +150,9 @@
|
|
|
91
150
|
try {
|
|
92
151
|
let [value] = await wrapped;
|
|
93
152
|
if (value !== undefined) {
|
|
94
|
-
|
|
153
|
+
echo(
|
|
95
154
|
repr_shorten.callKwargs(value, {
|
|
96
|
-
separator: "\n
|
|
155
|
+
separator: "\n<long output truncated>\n",
|
|
97
156
|
})
|
|
98
157
|
);
|
|
99
158
|
}
|
|
@@ -117,7 +176,7 @@
|
|
|
117
176
|
unlock();
|
|
118
177
|
}
|
|
119
178
|
|
|
120
|
-
|
|
179
|
+
term = $("body").terminal(interpreter, {
|
|
121
180
|
greetings: banner,
|
|
122
181
|
prompt: ps1,
|
|
123
182
|
completionEscape: false,
|
|
@@ -128,7 +187,7 @@
|
|
|
128
187
|
"CTRL+C": async function (event, original) {
|
|
129
188
|
clear_console();
|
|
130
189
|
term.enter();
|
|
131
|
-
|
|
190
|
+
echo("KeyboardInterrupt");
|
|
132
191
|
term.set_command("");
|
|
133
192
|
term.set_prompt(ps1);
|
|
134
193
|
},
|
|
@@ -144,7 +203,7 @@
|
|
|
144
203
|
},
|
|
145
204
|
});
|
|
146
205
|
window.term = term;
|
|
147
|
-
pyconsole.stdout_callback = (s) =>
|
|
206
|
+
pyconsole.stdout_callback = (s) => echo(s, { newline: false });
|
|
148
207
|
pyconsole.stderr_callback = (s) => {
|
|
149
208
|
term.error(s.trimEnd());
|
|
150
209
|
};
|
|
@@ -161,6 +220,11 @@
|
|
|
161
220
|
await sleep(15);
|
|
162
221
|
term.pause();
|
|
163
222
|
};
|
|
223
|
+
|
|
224
|
+
const searchParams = new URLSearchParams(window.location.search);
|
|
225
|
+
if (searchParams.has("noblink")) {
|
|
226
|
+
$(".cmd-cursor").addClass("noblink");
|
|
227
|
+
}
|
|
164
228
|
}
|
|
165
229
|
window.console_ready = main();
|
|
166
230
|
</script>
|
package/distutils.tar
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pyodide",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0-alpha.1",
|
|
4
4
|
"description": "The Pyodide JavaScript package",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"python",
|
|
@@ -25,18 +25,25 @@
|
|
|
25
25
|
"@types/node": "^17.0.25",
|
|
26
26
|
"@types/node-fetch": "^2.6.1",
|
|
27
27
|
"@types/ws": "^8.5.3",
|
|
28
|
+
"chai": "^4.3.6",
|
|
29
|
+
"chai-as-promised": "^7.1.1",
|
|
30
|
+
"cross-env": "^7.0.3",
|
|
28
31
|
"dts-bundle-generator": "^6.7.0",
|
|
29
32
|
"error-stack-parser": "^2.0.6",
|
|
33
|
+
"express": "^4.17.3",
|
|
30
34
|
"mocha": "^9.0.2",
|
|
35
|
+
"npm-run-all": "^4.1.5",
|
|
36
|
+
"nyc": "^15.1.0",
|
|
31
37
|
"prettier": "^2.2.1",
|
|
38
|
+
"puppeteer": "^13.6.0",
|
|
32
39
|
"rollup": "^2.48.0",
|
|
33
40
|
"rollup-plugin-terser": "^7.0.2",
|
|
34
41
|
"rollup-plugin-ts": "^2.0.5",
|
|
35
42
|
"terser": "^5.7.0",
|
|
36
43
|
"ts-mocha": "^9.0.2",
|
|
37
44
|
"tsd": "^0.15.1",
|
|
38
|
-
"typedoc": "^0.22.
|
|
39
|
-
"typescript": "^4.
|
|
45
|
+
"typedoc": "^0.22.15",
|
|
46
|
+
"typescript": "^4.6.4"
|
|
40
47
|
},
|
|
41
48
|
"main": "pyodide.js",
|
|
42
49
|
"exports": {
|
|
@@ -54,17 +61,60 @@
|
|
|
54
61
|
"distutils.tar",
|
|
55
62
|
"console.html"
|
|
56
63
|
],
|
|
64
|
+
"browser": {
|
|
65
|
+
"child_process": false,
|
|
66
|
+
"crypto": false,
|
|
67
|
+
"fs": false,
|
|
68
|
+
"fs/promises": false,
|
|
69
|
+
"path": false,
|
|
70
|
+
"vm": false,
|
|
71
|
+
"ws": false
|
|
72
|
+
},
|
|
57
73
|
"scripts": {
|
|
58
|
-
"test": "
|
|
74
|
+
"test": "npm-run-all test:*",
|
|
75
|
+
"test:unit": "cross-env TEST_NODE=1 ts-mocha -p tsconfig.test.json test/unit/**/*.test.ts",
|
|
76
|
+
"test:node": "cross-env TEST_NODE=1 mocha test/integration/**/*.test.js",
|
|
77
|
+
"test:browser": "mocha test/integration/**/*.test.js",
|
|
78
|
+
"coverage": "cross-env TEST_NODE=1 npm-run-all coverage:*",
|
|
79
|
+
"coverage:build": "nyc npm run test:node"
|
|
59
80
|
},
|
|
60
81
|
"mocha": {
|
|
82
|
+
"bail": false,
|
|
61
83
|
"timeout": 30000,
|
|
62
|
-
"
|
|
84
|
+
"full-trace": true,
|
|
85
|
+
"inline-diffs": true,
|
|
86
|
+
"check-leaks": false,
|
|
87
|
+
"global": [
|
|
88
|
+
"pyodide",
|
|
89
|
+
"page",
|
|
90
|
+
"chai"
|
|
91
|
+
],
|
|
92
|
+
"file": [
|
|
93
|
+
"test/conftest.js"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
"nyc": {
|
|
97
|
+
"reporter": [
|
|
98
|
+
"html",
|
|
99
|
+
"text-summary"
|
|
100
|
+
],
|
|
101
|
+
"include": [
|
|
102
|
+
"*.ts"
|
|
103
|
+
],
|
|
104
|
+
"all": true,
|
|
105
|
+
"clean": true,
|
|
106
|
+
"cache": false,
|
|
107
|
+
"instrument": false,
|
|
108
|
+
"checkCoverage": true,
|
|
109
|
+
"statements": 95,
|
|
110
|
+
"functions": 95,
|
|
111
|
+
"branches": 80,
|
|
112
|
+
"lines": 95
|
|
63
113
|
},
|
|
64
114
|
"tsd": {
|
|
65
115
|
"compilerOptions": {
|
|
66
116
|
"lib": [
|
|
67
|
-
"
|
|
117
|
+
"ES2017",
|
|
68
118
|
"DOM"
|
|
69
119
|
]
|
|
70
120
|
}
|
package/packages.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"info": {"arch": "wasm32", "platform": "
|
|
1
|
+
{"info": {"arch": "wasm32", "platform": "emscripten_3_1_13", "version": "0.21.0a1"}, "packages": {"atomicwrites": {"name": "atomicwrites", "version": "1.4.0", "file_name": "atomicwrites-1.4.0-py2.py3-none-any.whl", "install_dir": "site", "sha256": "237146adf2f517b84d907b8b579caaec792d5243bb4c117b57560629c2dc79a0", "depends": [], "imports": ["atomicwrites"]}, "attrs": {"name": "attrs", "version": "21.4.0", "file_name": "attrs-21.4.0-py2.py3-none-any.whl", "install_dir": "site", "sha256": "4393237a312ba2ec6fa490b93566cde759f5a4de1e25118c56ae998c38fe4e8b", "depends": ["six"], "imports": ["attr"]}, "cpp-exceptions-test": {"name": "cpp-exceptions-test", "version": "0.1", "file_name": "cpp-exceptions-test-0.1.zip", "install_dir": "dynlib", "sha256": "088fcd75ce1692f3c249ce8de905817ea3ea29206ec6cea5d277256e8c092e50", "shared_library": true, "depends": [], "imports": ["cpp-exceptions-test"]}, "distutils": {"name": "distutils", "version": "1.0", "file_name": "distutils.tar", "install_dir": "lib", "sha256": "3b1e2f843b2ccc6051de76cfefcded12f823ab001434d2433123b3db622b5bcb", "depends": [], "imports": ["distutils"]}, "fpcast-test": {"name": "fpcast-test", "version": "0.1", "file_name": "fpcast_test-0.1.1-cp310-cp310-emscripten_3_1_13_wasm32.whl", "install_dir": "site", "sha256": "fc577390d579c21de678ab740c0ae27f32402734885b7c6785bc502fa9d6d107", "depends": [], "imports": ["fpcast_test"]}, "iniconfig": {"name": "iniconfig", "version": "1.1.1", "file_name": "iniconfig-1.1.1-py2.py3-none-any.whl", "install_dir": "site", "sha256": "5de5455987d5a66ace8fe11db6815b57befeea9b6819e88ae88807701298aa20", "depends": [], "imports": ["iniconfig"]}, "jinja2": {"name": "Jinja2", "version": "3.1.1", "file_name": "Jinja2-3.1.1-py3-none-any.whl", "install_dir": "site", "sha256": "3f5068218f8ca47de3de1f1c9be066c2a540eb9bed1d17f0353a9b6aee1b0630", "depends": ["markupsafe"], "imports": ["jinja2"]}, "markupsafe": {"name": "MarkupSafe", "version": "2.1.1", "file_name": "MarkupSafe-2.1.1-cp310-cp310-emscripten_3_1_13_wasm32.whl", "install_dir": "site", "sha256": "8e5b3281ca206a92405108a724f4992dcdfec0d5a718765d63a512f10562130e", "depends": [], "imports": ["markupsafe"]}, "micropip": {"name": "micropip", "version": "0.1", "file_name": "micropip-0.1-py3-none-any.whl", "install_dir": "site", "sha256": "8e947375560230746273c740e4d26a904a048221536b72933b26d1f546f2bb3c", "depends": ["pyparsing", "packaging", "distutils"], "imports": ["micropip"]}, "more-itertools": {"name": "more-itertools", "version": "8.12.0", "file_name": "more_itertools-8.12.0-py3-none-any.whl", "install_dir": "site", "sha256": "f8e09598a125c346dd5e69ead05459280e5b347fe1e4dbaa92aa6e45350476d8", "depends": [], "imports": ["more_itertools"]}, "openssl": {"name": "openssl", "version": "1.1.1n", "file_name": "openssl-1.1.1n.zip", "install_dir": "dynlib", "sha256": "29480dd5e9d9d1a69627abd29ede0ab730c435988edf395118fd8c1f977c7f9b", "shared_library": true, "depends": [], "imports": ["openssl"]}, "packaging": {"name": "packaging", "version": "21.3", "file_name": "packaging-21.3-py3-none-any.whl", "install_dir": "site", "sha256": "bb80805523dc2a1f24d44dec76474f1f9a5b72c535ba3afccd72fe52ee47e502", "depends": ["pyparsing"], "imports": ["packaging"]}, "pluggy": {"name": "pluggy", "version": "1.0.0", "file_name": "pluggy-1.0.0-py2.py3-none-any.whl", "install_dir": "site", "sha256": "80c41b914a0f60f136b62c374d5980ffe37d1af492047699b1e1bb613f52a2d8", "depends": [], "imports": ["pluggy"]}, "py": {"name": "py", "version": "1.11.0", "file_name": "py-1.11.0-py2.py3-none-any.whl", "install_dir": "site", "sha256": "59cb61e1123f6eabbf7974474e46f501ed4cd843e6759272409a286e36af23ae", "depends": [], "imports": ["py", "py.code"]}, "pyparsing": {"name": "pyparsing", "version": "3.0.7", "file_name": "pyparsing-3.0.7-py3-none-any.whl", "install_dir": "site", "sha256": "9cb547629bc7703312a8c8e46531cce1cc0a19c7e24fd3869b98431e90dac9fb", "depends": [], "imports": ["pyparsing"]}, "pytest": {"name": "pytest", "version": "7.1.1", "file_name": "pytest-7.1.1-py3-none-any.whl", "install_dir": "site", "sha256": "aa556bd16302f318888e7ba6a8166cd84c6cb31764d8dd9741473c4410aa52ed", "depends": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools", "six", "iniconfig"], "imports": ["pytest"]}, "pytz": {"name": "pytz", "version": "2022.1", "file_name": "pytz-2022.1-py2.py3-none-any.whl", "install_dir": "site", "sha256": "d06a432bc742ccce9051043fa62771787c4b5c620d4611633e31ea52515de3e4", "depends": [], "imports": ["pytz"]}, "regex": {"name": "regex", "version": "2022.3.15", "file_name": "regex-2022.3.15-cp310-cp310-emscripten_3_1_13_wasm32.whl", "install_dir": "site", "sha256": "6d3fdd2ced1ae9cf59e6a771ffe9aebb2bce9136eb4cd59fdf65eb5715d1dfdd", "depends": [], "imports": ["regex"], "unvendored_tests": true}, "regex-tests": {"name": "regex-tests", "version": "2022.3.15", "depends": ["regex"], "imports": [], "file_name": "regex-tests.tar", "install_dir": "site", "sha256": "afaa6f0455b93f9d4ff54056a69bd932a4082ce5a376e044123419f59062b1fd"}, "setuptools": {"name": "setuptools", "version": "62.0.0", "file_name": "setuptools-62.0.0-py3-none-any.whl", "install_dir": "site", "sha256": "ff5d5c7806624a298caaa62a6bc7246f88a72135a33bf3807d10083dec7f1a4c", "depends": ["distutils", "pyparsing"], "imports": ["setuptools", "pkg_resources"]}, "sharedlib-test": {"name": "sharedlib-test", "version": "1.0", "file_name": "sharedlib-test-1.0.zip", "install_dir": "dynlib", "sha256": "3acb04720253832756563b81359bb3d17f6f4dc3ff25a1b961f3ff5523b9e984", "shared_library": true, "depends": [], "imports": ["sharedlib-test"]}, "sharedlib-test-py": {"name": "sharedlib-test-py", "version": "1.0", "file_name": "sharedlib_test_py-1.0-cp310-cp310-emscripten_3_1_13_wasm32.whl", "install_dir": "site", "sha256": "c200cda407a33858b01d044b676ee269bdff32a6204777e9610765623a3e0664", "depends": ["sharedlib-test"], "imports": ["sharedlib_test"]}, "six": {"name": "six", "version": "1.16.0", "file_name": "six-1.16.0-py2.py3-none-any.whl", "install_dir": "site", "sha256": "634cb16760fff9ebd1009030ccab240545906787d3c95453a00b50fc4847462c", "depends": [], "imports": ["six"]}, "ssl": {"name": "ssl", "version": "1.0.0", "file_name": "ssl-1.0.0.zip", "install_dir": "lib", "sha256": "93f9d8469b0e60863924b4dd5253766d5c623da6f77a10ff18db9695dd4b7b49", "shared_library": true, "depends": ["openssl"], "imports": ["ssl"]}, "tblib": {"name": "tblib", "version": "1.7.0", "file_name": "tblib-1.7.0-py2.py3-none-any.whl", "install_dir": "site", "sha256": "2532542bdb8b27077934a3f26b48c201afa2fc38f35fc6339a85babb4d382806", "depends": [], "imports": ["tblib"]}, "test": {"name": "test", "version": "1.0", "file_name": "test.tar", "install_dir": "lib", "sha256": "dd6b8b2cdc6904db79063469e36a053db85f077621bd5a5ed265cadfedbba1a2", "depends": [], "imports": ["test"]}}}
|
package/pyodide.asm.data
CHANGED
|
Binary file
|