makebrainwaves / BrainWaves

An easy-to-use platform for EEG experimentation in the classroom
MIT License
61 stars 26 forks source link

Bundling Anaconda #164

Open psychemedia opened 3 years ago

psychemedia commented 3 years ago

I note a couple of recent examples of other electron apps bundling a Python distribution that might be of interest here:

Also note the recent jupyterlite project which bundles JupyterLab with a WASM backend to provide a Jupyter Python environment that runs in the browser. I wouldn't be surprised if an electron app were to follow.

teonbrooks commented 3 years ago

hi @psychemedia, thanks for sharing. we have an outstanding PR that we are close to closing here https://github.com/makebrainwaves/BrainWaves/pull/157 that's using Pyodide (Python on WASM) as the Python runtime so that we can make it webby. the last hurdle we are looking to cross is getting images passing from the Pyodide webworker to the JS side of things but we haven't had the time to sit down to do so.

psychemedia commented 3 years ago

Hi @teonbrooks - yep, I spotted your pyolite kernel (good stuff:-) I mentioned the jupyterlite project just in case they'd run any issues you had also encountered.

Re: anaconda, as much as anything I was picking up on your README, specifically "However, because it makes use of the MNE Python library to perform EEG analysis, it is necessary to set up an appropriate Python environment to be able to analyze collected experimental results". If a robust pattern is emerging for bundling py distributions with electron, and even automating the build of such apps via Github Actions, it might provide another route for you to distribute a standalone/self-contained version of BrainWaves if that makes sense for your userbase.