Great work on this project! π
I think it would be a good idea to add code to try and install a Python module if it's not already installed.
I wrote a very simple proof-of-concept for one of my projects here:
https://github.com/tjosepo/deno_numpy/blob/main/src/shared/numpy.ts
import { python, PythonError } from "../../deps.ts";
let numpy: any;
try {
numpy = python.import("numpy");
} catch (error: unknown) {
if (!(error instanceof PythonError)) throw error;
if (error.message !== "No module named 'numpy'") throw error;
const p = Deno.run({ cmd: "pip install numpy".split(" ") });
await p.status();
numpy = python.import("numpy");
}
export default numpy;
This approach isn't perfect as it assumes the user has pip installed, but I feel like it would be a good improvement for most users, and it can be further iterated upon in the future.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too