refac: pyodide

This commit is contained in:
Timothy Jaeryang Baek 2025-02-04 17:29:10 -08:00
parent 266899acc0
commit 9c0a783991

View File

@ -40,6 +40,23 @@ async function loadPyodideAndPackages(packages: string[] = []) {
packages: ['micropip']
});
let mountDir = '/mnt';
self.pyodide.FS.mkdirTree(mountDir);
// self.pyodide.FS.mount(self.pyodide.FS.filesystems.IDBFS, {}, mountDir);
// // Load persisted files from IndexedDB (Initial Sync)
// await new Promise<void>((resolve, reject) => {
// self.pyodide.FS.syncfs(true, (err) => {
// if (err) {
// console.error('Error syncing from IndexedDB:', err);
// reject(err);
// } else {
// console.log('Successfully loaded from IndexedDB.');
// resolve();
// }
// });
// });
const micropip = self.pyodide.pyimport('micropip');
// await micropip.set_index_urls('https://pypi.org/pypi/{package_name}/json');
@ -66,6 +83,19 @@ self.onmessage = async (event) => {
self.result = processResult(self.result);
console.log('Python result:', self.result);
// Persist any changes to IndexedDB
// await new Promise<void>((resolve, reject) => {
// self.pyodide.FS.syncfs(false, (err) => {
// if (err) {
// console.error('Error syncing to IndexedDB:', err);
// reject(err);
// } else {
// console.log('Successfully synced to IndexedDB.');
// resolve();
// }
// });
// });
} catch (error) {
self.stderr = error.toString();
}