@stlite/desktop 0.76.2 → 0.77.0
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/bin/dump_artifacts.js +30 -30
- package/build/assets/{FileDownload.esm-BP72wB_u.js → FileDownload.esm-DJiSKkNf.js} +1 -1
- package/build/assets/{FormClearHelper-BIZNCxvb.js → FormClearHelper-Dhc_r76k.js} +1 -1
- package/build/assets/{Hooks-C30HoPXz.js → Hooks-DrFfRfR6.js} +1 -1
- package/build/assets/{InputInstructions-B9wXy3U4.js → InputInstructions-DBmZV4qq.js} +1 -1
- package/build/assets/{ProgressBar-BlPlcnwu.js → ProgressBar-D8toyv14.js} +1 -1
- package/build/assets/{RenderInPortalIfExists-DSHuT3NO.js → RenderInPortalIfExists-BgiI3__B.js} +1 -1
- package/build/assets/{Toolbar-B1zMj-jg.js → Toolbar-BTpOoeAP.js} +1 -1
- package/build/assets/{base-input-CMN1_Ew_.js → base-input-BNFPjj94.js} +1 -1
- package/build/assets/{createSuper-D4gvBB5j.js → createSuper-D-IHZlzE.js} +1 -1
- package/build/assets/{data-grid-overlay-editor-CgsMGcDx.js → data-grid-overlay-editor-3T3wOgR5.js} +1 -1
- package/build/assets/{downloader-Dv4W7rem.js → downloader-BRNWhhPt.js} +1 -1
- package/build/assets/{es6-R_bosjbV.js → es6-BGfGTfFo.js} +2 -2
- package/build/assets/{getPrototypeOf-CHt6AZp_.js → getPrototypeOf-Bfvf6jYJ.js} +1 -1
- package/build/assets/{iframeResizer.contentWindow-9-Xlr32c.js → iframeResizer.contentWindow-CAd9E7Yv.js} +1 -1
- package/build/assets/{index-BDNxxQ4v.js → index-14giYAR7.js} +1 -1
- package/build/assets/{index-BkBgJKWs.js → index-2GihT9MS.js} +1 -1
- package/build/assets/{index-Cjn3IAUe.js → index-BCXIPEnn.js} +1 -1
- package/build/assets/{index-CRKAbc7H.js → index-BbkQg7FB.js} +1 -1
- package/build/assets/{index-dkm5JtmN.js → index-Bf8NyENV.js} +1 -1
- package/build/assets/{index-BLvsCvkf.js → index-BgM3jrky.js} +1 -1
- package/build/assets/{index-DqEaj7EU.js → index-BkQMwfmi.js} +1 -1
- package/build/assets/{index-Be0wHUx-.js → index-BzdmnoFw.js} +1 -1
- package/build/assets/{index-BEeaeEPl.js → index-C1nS5RIf.js} +1 -1
- package/build/assets/{index-UQryvozB.js → index-CCQ8WBbz.js} +1 -1
- package/build/assets/{index-Bu07mO_x.js → index-CRU3QRmk.js} +1 -1
- package/build/assets/{index-BB6FwCEX.js → index-CSeZQPbV.js} +1 -1
- package/build/assets/{index-bnfkOWdV.js → index-CWQIbxk6.js} +1 -1
- package/build/assets/{index-DBeV5cvz.js → index-CeMslFeR.js} +1 -1
- package/build/assets/{index-DmCDp6tz.js → index-CqPAWIlG.js} +1 -1
- package/build/assets/{index-D2caMYlF.js → index-CzMG-04F.js} +1 -1
- package/build/assets/{index-DgKoCzGM.js → index-D20xuISa.js} +1 -1
- package/build/assets/{index-B3bELqRU.js → index-DEAAmCoL.js} +1 -1
- package/build/assets/{index-DP9siobZ.js → index-DGyUD6Fc.js} +1 -1
- package/build/assets/{index-8qq2hPcx.js → index-DLzppoKu.js} +1 -1
- package/build/assets/{index-CoumX680.js → index-DS1KzaKA.js} +1 -1
- package/build/assets/{index-CMQsen11.js → index-DSp2Cc2a.js} +1 -1
- package/build/assets/{index-D7beHGbk.js → index-DVBTaPM3.js} +5 -5
- package/build/assets/{index-C9-3Tvo1.js → index-DWl7GYN1.js} +1 -1
- package/build/assets/{index-CxiUGvN5.js → index-DXhp4_Bh.js} +1 -1
- package/build/assets/{index-BKKZmTqZ.js → index-Dd4zWSqM.js} +1 -1
- package/build/assets/{index-B0CwOTPz.js → index-DlrQfTa3.js} +1 -1
- package/build/assets/{index-B1L1envm.js → index-DpQaX_zS.js} +1 -1
- package/build/assets/{index-B3quCHCi.js → index-DtCnxC7q.js} +1 -1
- package/build/assets/{index-DxHnoro7.js → index-DvDmgZ7F.js} +1 -1
- package/build/assets/{index-W-TZSd1E.js → index-DwF2Kd5G.js} +1 -1
- package/build/assets/{index-DfPuZgVe.js → index-IG3UXYla.js} +1 -1
- package/build/assets/{index-BZMvJ6Yf.js → index-R99zJVpL.js} +1 -1
- package/build/assets/{index-BL2qQWaL.js → index-c-P5wgpW.js} +1 -1
- package/build/assets/{index-D_ZpMtCx.js → index-hfjIuaWS.js} +1 -1
- package/build/assets/{index-DuoBWGu3.js → index-lyJc68Dt.js} +45 -45
- package/build/assets/{index-DjNlghsG.js → index-uFJhQ6op.js} +1 -1
- package/build/assets/{input-OLwqq6dJ.js → input-B0OfG1Hd.js} +1 -1
- package/build/assets/{memory-K1u1sl9P.js → memory-Db7tbqiS.js} +1 -1
- package/build/assets/{number-overlay-editor-BPRtr2ZH.js → number-overlay-editor-DNvGPhC6.js} +1 -1
- package/build/assets/{sandbox-CuSVz6A0.js → sandbox-0hHf-j9y.js} +1 -1
- package/build/assets/{slicedToArray-CFP8r_hv.js → slicedToArray-C3Kk8BEP.js} +1 -1
- package/build/assets/{textarea-BgOZDoS8.js → textarea-DjoYY0dF.js} +1 -1
- package/build/assets/{timepicker-BD9p-9JQ.js → timepicker-Cn0ZGw9I.js} +1 -1
- package/build/assets/{uniqueId-D81S8Chc.js → uniqueId-K4UOiJl2.js} +1 -1
- package/build/assets/{useBasicWidgetState-DgnZoFWi.js → useBasicWidgetState-BzSjsdCt.js} +1 -1
- package/build/assets/{useOnInputChange-DTjT_cKQ.js → useOnInputChange-VVCu-n8v.js} +1 -1
- package/build/assets/{withFullScreenWrapper-BzdPuFtI.js → withFullScreenWrapper-BggmGF09.js} +1 -1
- package/build/assets/{worker-DzcNcnW5.js → worker-DddKT6_v.js} +1 -1
- package/build/electron/worker.js +11 -12
- package/build/index.html +1 -1
- package/build/pyodide/pyodide-lock.json +1 -1
- package/build/pyodide/pyodide.asm.js +1 -1
- package/build/pyodide/pyodide.asm.wasm +0 -0
- package/build/pyodide/pyodide.mjs +3 -3
- package/build/pyodide/python_stdlib.zip +0 -0
- package/package.json +9 -10
- package/wheels/streamlit-1.41.0-cp312-none-any.whl +0 -0
package/build/electron/worker.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
var
|
|
2
|
-
`).filter(e=>!e.startsWith("#")).map(e=>e.replace(Ee,"")).map(e=>e.trim()).filter(e=>e!=="")}D.parseRequirementsTxt=Ie});var Q=E(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.PromiseDelegate=void 0;var W=class{promise;resolveInternal;rejectInternal;constructor(){this.promise=new Promise((e,t)=>{this.resolveInternal=e,this.rejectInternal=t})}resolve(e){this.resolveInternal(e)}reject(e){this.rejectInternal(e)}};U.PromiseDelegate=W});var Y=E(k=>{"use strict";var Ce=k&&k.__createBinding||(Object.create?function(r,e,t,o){o===void 0&&(o=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,o,n)}:function(r,e,t,o){o===void 0&&(o=t),r[o]=e[t]}),$=k&&k.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Ce(e,r,t)};Object.defineProperty(k,"__esModule",{value:!0});$(V(),k);$(X(),k);$(Q(),k)});var te=E((Qe,ee)=>{"use strict";function b(r){if(typeof r!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(r))}function Z(r,e){for(var t="",o=0,n=-1,s=0,i,a=0;a<=r.length;++a){if(a<r.length)i=r.charCodeAt(a);else{if(i===47)break;i=47}if(i===47){if(!(n===a-1||s===1))if(n!==a-1&&s===2){if(t.length<2||o!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var l=t.lastIndexOf("/");if(l!==t.length-1){l===-1?(t="",o=0):(t=t.slice(0,l),o=t.length-1-t.lastIndexOf("/")),n=a,s=0;continue}}else if(t.length===2||t.length===1){t="",o=0,n=a,s=0;continue}}e&&(t.length>0?t+="/..":t="..",o=2)}else t.length>0?t+="/"+r.slice(n+1,a):t=r.slice(n+1,a),o=a-n-1;n=a,s=0}else i===46&&s!==-1?++s:s=-1}return t}function Te(r,e){var t=e.dir||e.root,o=e.base||(e.name||"")+(e.ext||"");return t?t===e.root?t+o:t+r+o:o}var M={resolve:function(){for(var e="",t=!1,o,n=arguments.length-1;n>=-1&&!t;n--){var s;n>=0?s=arguments[n]:(o===void 0&&(o=process.cwd()),s=o),b(s),s.length!==0&&(e=s+"/"+e,t=s.charCodeAt(0)===47)}return e=Z(e,!t),t?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(e){if(b(e),e.length===0)return".";var t=e.charCodeAt(0)===47,o=e.charCodeAt(e.length-1)===47;return e=Z(e,!t),e.length===0&&!t&&(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return b(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,t=0;t<arguments.length;++t){var o=arguments[t];b(o),o.length>0&&(e===void 0?e=o:e+="/"+o)}return e===void 0?".":M.normalize(e)},relative:function(e,t){if(b(e),b(t),e===t||(e=M.resolve(e),t=M.resolve(t),e===t))return"";for(var o=1;o<e.length&&e.charCodeAt(o)===47;++o);for(var n=e.length,s=n-o,i=1;i<t.length&&t.charCodeAt(i)===47;++i);for(var a=t.length,l=a-i,_=s<l?s:l,f=-1,d=0;d<=_;++d){if(d===_){if(l>_){if(t.charCodeAt(i+d)===47)return t.slice(i+d+1);if(d===0)return t.slice(i+d)}else s>_&&(e.charCodeAt(o+d)===47?f=d:d===0&&(f=0));break}var m=e.charCodeAt(o+d),O=t.charCodeAt(i+d);if(m!==O)break;m===47&&(f=d)}var v="";for(d=o+f+1;d<=n;++d)(d===n||e.charCodeAt(d)===47)&&(v.length===0?v+="..":v+="/..");return v.length>0?v+t.slice(i+f):(i+=f,t.charCodeAt(i)===47&&++i,t.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(b(e),e.length===0)return".";for(var t=e.charCodeAt(0),o=t===47,n=-1,s=!0,i=e.length-1;i>=1;--i)if(t=e.charCodeAt(i),t===47){if(!s){n=i;break}}else s=!1;return n===-1?o?"/":".":o&&n===1?"//":e.slice(0,n)},basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');b(e);var o=0,n=-1,s=!0,i;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,l=-1;for(i=e.length-1;i>=0;--i){var _=e.charCodeAt(i);if(_===47){if(!s){o=i+1;break}}else l===-1&&(s=!1,l=i+1),a>=0&&(_===t.charCodeAt(a)?--a===-1&&(n=i):(a=-1,n=l))}return o===n?n=l:n===-1&&(n=e.length),e.slice(o,n)}else{for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===47){if(!s){o=i+1;break}}else n===-1&&(s=!1,n=i+1);return n===-1?"":e.slice(o,n)}},extname:function(e){b(e);for(var t=-1,o=0,n=-1,s=!0,i=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(l===47){if(!s){o=a+1;break}continue}n===-1&&(s=!1,n=a+1),l===46?t===-1?t=a:i!==1&&(i=1):t!==-1&&(i=-1)}return t===-1||n===-1||i===0||i===1&&t===n-1&&t===o+1?"":e.slice(t,n)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return Te("/",e)},parse:function(e){b(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;var o=e.charCodeAt(0),n=o===47,s;n?(t.root="/",s=1):s=0;for(var i=-1,a=0,l=-1,_=!0,f=e.length-1,d=0;f>=s;--f){if(o=e.charCodeAt(f),o===47){if(!_){a=f+1;break}continue}l===-1&&(_=!1,l=f+1),o===46?i===-1?i=f:d!==1&&(d=1):i!==-1&&(d=-1)}return i===-1||l===-1||d===0||d===1&&i===l-1&&i===a+1?l!==-1&&(a===0&&n?t.base=t.name=e.slice(1,l):t.base=t.name=e.slice(a,l)):(a===0&&n?(t.name=e.slice(1,i),t.base=e.slice(1,l)):(t.name=e.slice(a,i),t.base=e.slice(a,l)),t.ext=e.slice(i,l)),a>0?t.dir=e.slice(0,a-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};M.posix=M;ee.exports=M});var B=require("node:worker_threads");var de=I(Y());var C=I(te()),re="/home/pyodide",q=r=>`${re}/${r}`,R=(r,e)=>r==null?C.default.resolve(re,e):C.default.resolve(q(r),e);function oe(r,e){let t=C.default.normalize(e),n=C.default.dirname(t).split("/"),s=[];for(let i of n){s.push(i);let a=s.join("/");if(r.FS.analyzePath(a).exists){if(r.FS.isDir(a))throw new Error(`"${a}" already exists and is not a directory.`);continue}try{r.FS.mkdir(a)}catch(l){throw console.error(`Failed to create a directory "${a}"`),l}}}function j(r,e,t,o){oe(r,e),r.FS.writeFile(e,t,o)}function se(r,e,t){oe(r,t),r.FS.rename(e,t)}var Ne="[",De="(<=>!~",Ue=";",xe="@",We=new RegExp(`[${Ne+De+Ue+xe}]`);function $e(r){return r.split(We)[0].trim()}function H(r){return r.forEach(t=>{let o;try{o=new URL(t)}catch{return}if(o.protocol==="emfs:"||o.protocol==="file:")throw new Error(`"emfs:" and "file:" protocols are not allowed for the requirement (${t})`)}),r.filter(t=>$e(t)==="streamlit"?(console.warn(`Streamlit is specified in the requirements ("${t}"), but it will be ignored. A built-in version of Streamlit will be used.`),!1):!0)}async function qe(r){let e=typeof process<"u"&&process.versions?.node,t;e?t=(await import("node:path")).sep:t="/";let o=r.slice(0,r.lastIndexOf(t)+1);if(r.endsWith(".mjs")){if(e){let n=await import("node:path"),s=await import("node:url");!r.includes("://")&&n.isAbsolute(r)&&(r=s.pathToFileURL(r).href)}return{scriptURL:r,pyodideIndexURL:o,isESModule:!0}}else return{scriptURL:r,pyodideIndexURL:o,isESModule:!1}}async function ne(r,e){let{scriptURL:t,pyodideIndexURL:o,isESModule:n}=await qe(r),s;return n?s=(await import(t)).loadPyodide:(importScripts(t),s=self.loadPyodide),s({...e,indexURL:o})}function ie(r){r.runPython(`
|
|
1
|
+
var ae=Object.create;var q=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,ge=Object.prototype.hasOwnProperty;var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ue=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ce(e))!ge.call(t,n)&&n!==r&&q(t,n,{get:()=>e[n],enumerable:!(s=le(e,n))||s.enumerable});return t};var C=(t,e,r)=>(r=t!=null?ae(de(t)):{},ue(e||!t||!t.__esModule?q(r,"default",{value:t,enumerable:!0}):r,t));var z=fe((We,j)=>{"use strict";function b(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function B(t,e){for(var r="",s=0,n=-1,o=0,i,a=0;a<=t.length;++a){if(a<t.length)i=t.charCodeAt(a);else{if(i===47)break;i=47}if(i===47){if(!(n===a-1||o===1))if(n!==a-1&&o===2){if(r.length<2||s!==2||r.charCodeAt(r.length-1)!==46||r.charCodeAt(r.length-2)!==46){if(r.length>2){var l=r.lastIndexOf("/");if(l!==r.length-1){l===-1?(r="",s=0):(r=r.slice(0,l),s=r.length-1-r.lastIndexOf("/")),n=a,o=0;continue}}else if(r.length===2||r.length===1){r="",s=0,n=a,o=0;continue}}e&&(r.length>0?r+="/..":r="..",s=2)}else r.length>0?r+="/"+t.slice(n+1,a):r=t.slice(n+1,a),s=a-n-1;n=a,o=0}else i===46&&o!==-1?++o:o=-1}return r}function he(t,e){var r=e.dir||e.root,s=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+s:r+t+s:s}var R={resolve:function(){for(var e="",r=!1,s,n=arguments.length-1;n>=-1&&!r;n--){var o;n>=0?o=arguments[n]:(s===void 0&&(s=process.cwd()),o=s),b(o),o.length!==0&&(e=o+"/"+e,r=o.charCodeAt(0)===47)}return e=B(e,!r),r?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(e){if(b(e),e.length===0)return".";var r=e.charCodeAt(0)===47,s=e.charCodeAt(e.length-1)===47;return e=B(e,!r),e.length===0&&!r&&(e="."),e.length>0&&s&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return b(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,r=0;r<arguments.length;++r){var s=arguments[r];b(s),s.length>0&&(e===void 0?e=s:e+="/"+s)}return e===void 0?".":R.normalize(e)},relative:function(e,r){if(b(e),b(r),e===r||(e=R.resolve(e),r=R.resolve(r),e===r))return"";for(var s=1;s<e.length&&e.charCodeAt(s)===47;++s);for(var n=e.length,o=n-s,i=1;i<r.length&&r.charCodeAt(i)===47;++i);for(var a=r.length,l=a-i,_=o<l?o:l,f=-1,c=0;c<=_;++c){if(c===_){if(l>_){if(r.charCodeAt(i+c)===47)return r.slice(i+c+1);if(c===0)return r.slice(i+c)}else o>_&&(e.charCodeAt(s+c)===47?f=c:c===0&&(f=0));break}var m=e.charCodeAt(s+c),M=r.charCodeAt(i+c);if(m!==M)break;m===47&&(f=c)}var v="";for(c=s+f+1;c<=n;++c)(c===n||e.charCodeAt(c)===47)&&(v.length===0?v+="..":v+="/..");return v.length>0?v+r.slice(i+f):(i+=f,r.charCodeAt(i)===47&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(b(e),e.length===0)return".";for(var r=e.charCodeAt(0),s=r===47,n=-1,o=!0,i=e.length-1;i>=1;--i)if(r=e.charCodeAt(i),r===47){if(!o){n=i;break}}else o=!1;return n===-1?s?"/":".":s&&n===1?"//":e.slice(0,n)},basename:function(e,r){if(r!==void 0&&typeof r!="string")throw new TypeError('"ext" argument must be a string');b(e);var s=0,n=-1,o=!0,i;if(r!==void 0&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var a=r.length-1,l=-1;for(i=e.length-1;i>=0;--i){var _=e.charCodeAt(i);if(_===47){if(!o){s=i+1;break}}else l===-1&&(o=!1,l=i+1),a>=0&&(_===r.charCodeAt(a)?--a===-1&&(n=i):(a=-1,n=l))}return s===n?n=l:n===-1&&(n=e.length),e.slice(s,n)}else{for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===47){if(!o){s=i+1;break}}else n===-1&&(o=!1,n=i+1);return n===-1?"":e.slice(s,n)}},extname:function(e){b(e);for(var r=-1,s=0,n=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(l===47){if(!o){s=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===46?r===-1?r=a:i!==1&&(i=1):r!==-1&&(i=-1)}return r===-1||n===-1||i===0||i===1&&r===n-1&&r===s+1?"":e.slice(r,n)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return he("/",e)},parse:function(e){b(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return r;var s=e.charCodeAt(0),n=s===47,o;n?(r.root="/",o=1):o=0;for(var i=-1,a=0,l=-1,_=!0,f=e.length-1,c=0;f>=o;--f){if(s=e.charCodeAt(f),s===47){if(!_){a=f+1;break}continue}l===-1&&(_=!1,l=f+1),s===46?i===-1?i=f:c!==1&&(c=1):i!==-1&&(c=-1)}return i===-1||l===-1||c===0||c===1&&i===l-1&&i===a+1?l!==-1&&(a===0&&n?r.base=r.name=e.slice(1,l):r.base=r.name=e.slice(a,l)):(a===0&&n?(r.name=e.slice(1,i),r.base=e.slice(1,l)):(r.name=e.slice(a,i),r.base=e.slice(a,l)),r.ext=e.slice(i,l)),a>0?r.dir=e.slice(0,a-1):n&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};R.posix=R;j.exports=R});var U=require("node:worker_threads");var me="[",pe="(<=>!~",_e=";",ye="@",Ie=new RegExp(`[${me+pe+_e+ye}]`);var O=class{promise;resolveInternal;rejectInternal;constructor(){this.promise=new Promise((e,r)=>{this.resolveInternal=e,this.rejectInternal=r})}resolve(e){this.resolveInternal(e)}reject(e){this.rejectInternal(e)}};var E=C(z()),J="/home/pyodide",N=t=>`${J}/${t}`,A=(t,e)=>t==null?E.default.resolve(J,e):E.default.resolve(N(t),e);function G(t,e){let r=E.default.normalize(e),n=E.default.dirname(r).split("/"),o=[];for(let i of n){o.push(i);let a=o.join("/");if(t.FS.analyzePath(a).exists){if(t.FS.isDir(a))throw new Error(`"${a}" already exists and is not a directory.`);continue}try{t.FS.mkdir(a)}catch(l){throw console.error(`Failed to create a directory "${a}"`),l}}}function D(t,e,r,s){G(t,e),t.FS.writeFile(e,r,s)}function K(t,e,r){G(t,r),t.FS.rename(e,r)}var ve="[",Pe="(<=>!~",be=";",Se="@",we=new RegExp(`[${ve+Pe+be+Se}]`);function ke(t){return t.split(we)[0].trim()}function x(t){return t.forEach(r=>{let s;try{s=new URL(r)}catch{return}if(s.protocol==="emfs:"||s.protocol==="file:")throw new Error(`"emfs:" and "file:" protocols are not allowed for the requirement (${r})`)}),t.filter(r=>ke(r)==="streamlit"?(console.warn(`Streamlit is specified in the requirements ("${r}"), but it will be ignored. A built-in version of Streamlit will be used.`),!1):!0)}async function Ae(t){let e=typeof process<"u"&&process.versions?.node,r;e?r=(await import("node:path")).sep:r="/";let s=t.slice(0,t.lastIndexOf(r)+1);if(t.endsWith(".mjs")){if(e){let n=await import("node:path"),o=await import("node:url");!t.includes("://")&&n.isAbsolute(t)&&(t=o.pathToFileURL(t).href)}return{scriptURL:t,pyodideIndexURL:s,isESModule:!0}}else return{scriptURL:t,pyodideIndexURL:s,isESModule:!1}}async function V(t,e){let{scriptURL:r,pyodideIndexURL:s,isESModule:n}=await Ae(t),o;return n?o=(await import(r)).loadPyodide:(importScripts(r),o=self.loadPyodide),o({...e,indexURL:s})}function X(t){t.runPython(`
|
|
3
2
|
import micropip
|
|
4
3
|
micropip.add_mock_package(
|
|
5
4
|
"pyarrow", "0.0.1",
|
|
@@ -25,17 +24,17 @@ class ChunkedArray:
|
|
|
25
24
|
"""
|
|
26
25
|
}
|
|
27
26
|
)
|
|
28
|
-
`)}async function
|
|
27
|
+
`)}async function Q(t,e,r){let s=t.pyimport("pyodide"),n=f=>s.code.find_imports(f).toJs(),o=r.map(f=>n(f)),l=Array.from(new Set(o.flat())).filter(f=>!t.runPython(`__import__('importlib').util.find_spec('${f}')`)).map(f=>t._api._import_name_to_package_name.get(f)).filter(f=>f);if(l.length===0)return;let _=new MessageChannel;e({type:"event:moduleAutoLoad",data:{packagesToLoad:l}},_.port2);try{let f=await t.loadPackage(l);_.port1.postMessage({type:"moduleAutoLoad:success",data:{loadedPackages:f}}),_.port1.close();return}catch(f){throw _.port1.postMessage({type:"moduleAutoLoad:error",error:f}),_.port1.close(),f}}typeof global<"u"&&typeof global.self>"u"&&(self=global);function Y(t,e,r){let s=Q(t,e,r);self.__moduleAutoLoadPromise__=s,t.runPythonAsync(`
|
|
29
28
|
from streamlit.runtime.scriptrunner import script_runner
|
|
30
29
|
from js import __moduleAutoLoadPromise__
|
|
31
30
|
|
|
32
31
|
script_runner.moduleAutoLoadPromise = __moduleAutoLoadPromise__
|
|
33
|
-
`)}var
|
|
32
|
+
`)}var T=null;function Z(t,e,r,s){function n(c){e({type:"event:progress",data:{message:c}})}let o,i,a=new O;async function l(){let c=await a.promise,m={...r,...c};console.debug("Initial data",m);let{entrypoint:M,files:v,archives:P,requirements:d,prebuiltPackageNames:u,wheels:y,pyodideUrl:h=t,streamlitConfig:S,idbfsMountpoints:k,nodefsMountpoints:L,moduleAutoLoad:re}=m,I=x(d);T?(n("Pyodide is already loaded."),console.debug("Pyodide is already loaded."),o=await T):(n("Loading Pyodide."),console.debug("Loading Pyodide."),T=V(h,{stdout:console.log,stderr:console.error}),o=await T,y&&(I.unshift(y.streamlit),I.unshift(y.stliteLib)),console.debug("Loaded Pyodide"));let W=!1;k&&(W=!0,k.forEach(g=>{o.FS.mkdir(g),o.FS.mount(o.FS.filesystems.IDBFS,{},g)}),await new Promise((g,p)=>{o.FS.syncfs(!0,w=>{w?p(w):g()})})),L&&Object.entries(L).forEach(([g,p])=>{o.FS.mkdir(g),o.FS.mount(o.FS.filesystems.NODEFS,{root:p},g)}),n("Mounting files.");let $=[];await Promise.all(Object.keys(v).map(async g=>{let p=v[g];g=A(s,g);let w;"url"in p?(console.debug(`Fetch a file from ${p.url}`),w=await fetch(p.url).then(F=>F.arrayBuffer()).then(F=>new Uint8Array(F))):w=p.data,console.debug(`Write a file "${g}"`),D(o,g,w,v.opts),g.endsWith(".py")&&$.push(g)})),n("Unpacking archives."),await Promise.all(P.map(async g=>{let p;"url"in g?(console.debug(`Fetch an archive from ${g.url}`),p=await fetch(g.url).then(ie=>ie.arrayBuffer())):p=g.buffer;let{format:w,options:F}=g;console.debug("Unpack an archive",{format:w,options:F}),o.unpackArchive(p,w,F)})),await o.loadPackage("micropip");let te=o.pyimport("micropip");if(n("Mocking some packages."),console.debug("Mock pyarrow"),X(o),console.debug("Mocked pyarrow"),n("Installing packages."),console.debug("Installing the prebuilt packages:",u),await o.loadPackage(u),console.debug("Installed the prebuilt packages"),console.debug("Installing the requirements:",I),await te.install.callKwargs(I,{keep_going:!0}),console.debug("Installed the requirements"),re){let g=$.map(p=>o.FS.readFile(p,{encoding:"utf8"}));Y(o,e,g)}await o.runPythonAsync(`
|
|
34
33
|
import importlib
|
|
35
34
|
importlib.invalidate_caches()
|
|
36
|
-
`),n("Loading streamlit package."),console.debug("Loading the Streamlit package"),await
|
|
35
|
+
`),n("Loading streamlit package."),console.debug("Loading the Streamlit package"),await o.runPythonAsync(`
|
|
37
36
|
import streamlit.runtime
|
|
38
|
-
`),console.debug("Loaded the Streamlit package"),n("Setting up the loggers."),console.debug("Setting the loggers"),await
|
|
37
|
+
`),console.debug("Loaded the Streamlit package"),n("Setting up the loggers."),console.debug("Setting the loggers"),await o.runPythonAsync(`
|
|
39
38
|
import logging
|
|
40
39
|
import streamlit.logger
|
|
41
40
|
|
|
@@ -53,7 +52,7 @@ for name in streamlit.logger._loggers.keys():
|
|
|
53
52
|
logger.setLevel(logging.NOTSET)
|
|
54
53
|
|
|
55
54
|
streamlit.logger._loggers = {}
|
|
56
|
-
`);let
|
|
55
|
+
`);let oe=(g,p)=>{g>=40?console.error(p):g>=30?console.warn(p):g>=20?console.info(p):console.debug(p)};self.__logCallback__=oe,await o.runPythonAsync(`
|
|
57
56
|
def setup_loggers(streamlit_level, streamlit_message_format):
|
|
58
57
|
from js import __logCallback__
|
|
59
58
|
|
|
@@ -82,14 +81,14 @@ def setup_loggers(streamlit_level, streamlit_message_format):
|
|
|
82
81
|
streamlit_handler.setFormatter(streamlit_formatter)
|
|
83
82
|
streamlit_logger.addHandler(streamlit_handler)
|
|
84
83
|
streamlit_logger.setLevel(streamlit_level.upper())
|
|
85
|
-
`);let
|
|
84
|
+
`);let se=(S?.["logger.level"]??"INFO").toString(),ne=S?.["logger.messageFormat"]??"%(asctime)s %(message)s";if(o.globals.get("setup_loggers")(se,ne),console.debug("Set the loggers"),n("Mocking some Streamlit functions for the browser environment."),console.debug("Mocking some Streamlit functions"),await o.runPythonAsync(`
|
|
86
85
|
import streamlit
|
|
87
86
|
|
|
88
87
|
def is_cacheable_msg(msg):
|
|
89
88
|
return False
|
|
90
89
|
|
|
91
90
|
streamlit.runtime.runtime.is_cacheable_msg = is_cacheable_msg
|
|
92
|
-
`),console.debug("Mocked some Streamlit functions"),
|
|
91
|
+
`),console.debug("Mocked some Streamlit functions"),W){n("Setting up the IndexedDB filesystem synchronizer."),console.debug("Setting up the IndexedDB filesystem synchronizer");let g=!1;self.__scriptFinishedCallback__=()=>{console.debug("The script has finished. Syncing the filesystem."),g||(g=!0,o.FS.syncfs(!1,p=>{g=!1,p&&console.error(p)}))},await o.runPythonAsync(`
|
|
93
92
|
from streamlit.runtime.app_session import AppSession
|
|
94
93
|
from streamlit.runtime.scriptrunner import ScriptRunnerEvent
|
|
95
94
|
from js import __scriptFinishedCallback__
|
|
@@ -104,15 +103,15 @@ def wrap_app_session_on_scriptrunner_event(original_method):
|
|
|
104
103
|
return wrapped
|
|
105
104
|
|
|
106
105
|
AppSession._on_scriptrunner_event = wrap_app_session_on_scriptrunner_event(AppSession._on_scriptrunner_event)
|
|
107
|
-
`),console.debug("Set up the IndexedDB filesystem synchronizer")}let
|
|
106
|
+
`),console.debug("Set up the IndexedDB filesystem synchronizer")}let H=A(s,M);return n("Booting up the Streamlit server."),console.debug("Setting up the Streamlit configuration"),self.__sharedWorkerMode__=s!=null,self.__streamlitFlagOptions__={"browser.gatherUsageStats":!1,...S,"runner.fastReruns":!1},await o.runPythonAsync(`
|
|
108
107
|
from stlite_lib.bootstrap import load_config_options, prepare
|
|
109
108
|
from js import __sharedWorkerMode__, __streamlitFlagOptions__
|
|
110
109
|
|
|
111
110
|
flag_options = __streamlitFlagOptions__.to_py()
|
|
112
111
|
load_config_options(flag_options, __sharedWorkerMode__)
|
|
113
112
|
|
|
114
|
-
main_script_path = "${
|
|
113
|
+
main_script_path = "${H}"
|
|
115
114
|
args = []
|
|
116
115
|
|
|
117
116
|
prepare(main_script_path, args)
|
|
118
|
-
`),console.debug("Set up the Streamlit configuration"),console.debug("Booting up the Streamlit server"),i=
|
|
117
|
+
`),console.debug("Set up the Streamlit configuration"),console.debug("Booting up the Streamlit server"),i=o.pyimport("stlite_lib.server.Server")(H,s?N(s):null),await i.start(),console.debug("Booted up the Streamlit server"),e({type:"event:loaded"}),m}let _=l().catch(c=>{throw e({type:"event:error",data:{error:c}}),c}),f=async c=>{let m=c.data;if(m.type==="initData"){a.resolve(m.data);return}let{moduleAutoLoad:M}=await _,v=c.ports[0];function P(d){v.postMessage(d)}try{switch(m.type){case"reboot":{console.debug("Reboot the Streamlit server",m.data);let{entrypoint:d}=m.data;i.stop(),console.debug("Booting up the Streamlit server"),i=o.pyimport("stlite_lib.server.Server")(d),i.start(),console.debug("Booted up the Streamlit server"),P({type:"reply"});break}case"websocket:connect":{console.debug("websocket:connect",m.data);let{path:d}=m.data;i.start_websocket(d,(u,y)=>{if(y){let h=u,S=h.getBuffer("u8");h.destroy();let k=new Uint8ClampedArray(S.data.buffer,S.data.byteOffset,S.data.byteLength);e({type:"websocket:message",data:{payload:new Uint8Array(k)}})}else e({type:"websocket:message",data:{payload:u}})}),P({type:"reply"});break}case"websocket:send":{console.debug("websocket:send",m.data);let{payload:d}=m.data;i.receive_websocket_from_js(d);break}case"http:request":{console.debug("http:request",m.data);let{request:d}=m.data,u=(y,h,S)=>{let k=new Map(h.toJs()),L=S.toJs();console.debug({statusCode:y,headers:k,body:L}),P({type:"http:response",data:{response:{statusCode:y,headers:k,body:L}}})};i.receive_http_from_js(d.method,decodeURIComponent(d.path),d.headers,d.body,u);break}case"file:write":{let{path:d,data:u,opts:y}=m.data,h=A(s,d);M&&typeof u=="string"&&h.endsWith(".py")&&(console.debug(`Auto install the requirements in ${h}`),Y(o,e,[u])),console.debug(`Write a file "${h}"`),D(o,h,u,y),P({type:"reply"});break}case"file:rename":{let{oldPath:d,newPath:u}=m.data,y=A(s,d),h=A(s,u);console.debug(`Rename "${y}" to ${h}`),K(o,y,h),P({type:"reply"});break}case"file:unlink":{let{path:d}=m.data,u=A(s,d);console.debug(`Remove "${u}`),o.FS.unlink(u),P({type:"reply"});break}case"file:read":{let{path:d,opts:u}=m.data;console.debug(`Read "${d}"`);let y=o.FS.readFile(d,u);P({type:"reply:file:read",data:{content:y}});break}case"install":{let{requirements:d}=m.data,u=o.pyimport("micropip"),y=x(d);console.debug("Install the requirements:",y),await u.install.callKwargs(y,{keep_going:!0}).then(()=>{console.debug("Successfully installed"),P({type:"reply"})})}}}catch(d){if(console.error(d),!(d instanceof Error))throw d;let u=new Error(d.message);u.name=d.name,u.stack=d.stack,P({type:"reply",error:u})}};return e({type:"event:start"}),f}function ee(){let t=process.env.NODEFS_MOUNTPOINTS;if(!t)return;let e;try{e=JSON.parse(t)}catch{console.error(`Failed to parse NODEFS_MOUNTPOINTS as JSON: ${t}`);return}if(typeof e!="object"){console.error(`NODEFS_MOUNTPOINTS is not an object: ${t}`);return}if(Array.isArray(e)){console.error(`NODEFS_MOUNTPOINTS is an array: ${t}`);return}if(Object.keys(e).some(r=>typeof r!="string")){console.error(`NODEFS_MOUNTPOINTS has non-string keys: ${t}`);return}if(Object.values(e).some(r=>typeof r!="string")){console.error(`NODEFS_MOUNTPOINTS has non-string values: ${t}`);return}return e}var Fe=t=>{console.debug("[worker thread] postMessage from worker",t),U.parentPort?.postMessage(t)},Re=Z(process.env.PYODIDE_URL,Fe,{nodefsMountpoints:ee()});U.parentPort?.on("message",({data:t,port:e})=>{console.debug("[worker thread] parentPort.onMessage",{data:t,port:e}),Re({data:t,ports:[e]})});
|
package/build/index.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
7
|
<title>Stlite Desktop</title>
|
|
8
8
|
<!-- The Content-Security-Policy setting will be injected at build time. See craco.config.js. -->
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-lyJc68Dt.js"></script>
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index.O26j_t8G.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|