(urls: string[])
| 23 | } |
| 24 | |
| 25 | export async function setupPyodide(urls: string[]) { |
| 26 | // @ts-ignore |
| 27 | const pyodide = await loadPyodide({ fullStdLib: false, indexURL: 'https://cdn.jsdelivr.net/pyodide/v0.21.3/full/' }) |
| 28 | |
| 29 | await pyodide.loadPackage('micropip') |
| 30 | const micropip = pyodide.pyimport('micropip') |
| 31 | const promises = [ |
| 32 | ...urls.map((url) => micropip.install(url)), |
| 33 | micropip.install('types-requests==2.28.1'), |
| 34 | micropip.install('ast-comments'), |
| 35 | ] |
| 36 | |
| 37 | await Promise.all(promises) |
| 38 | |
| 39 | return pyodide |
| 40 | } |
| 41 | |
| 42 | export const loadDependencies = async (pyodide: any, newDependencies: Dependency[], urls: StaticURLs) => { |
| 43 | const micropip = pyodide.pyimport('micropip') |
no test coverage detected