-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[VWIP] Python overhaul #75
[VWIP] Python overhaul #75
Conversation
you can follow along with the wishlist of things for brainwaves x pyodide here. |
Does this PR deprecate #74? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just moved some files that were left in the jupyter folder. forgot to move them with the other ones. let me know when you get to the plotting part with matplotlib or if that will be in a separate pr. i have some notes on how to override some implicit behavior and have it just target a dom element
I think we'll make this PR the place for a complete Jupyter replacement. Hopefully can find some time to get to the matplotlib integration step soon. |
cool. getting a matplotlib plot to work should be straightforward. there is just a little bit we would need to tweak but I have it documented. |
@jdpigeon should we make a to-do list of things we have left to address here? |
0bf341c
to
b917a67
Compare
At this point we have been able to handle the follow:
We have the following left:
Some things to keep in mind:
|
closes #43 |
b917a67
to
70e24d3
Compare
hey @jdpigeon, could you rebase this branch to the latest master and I will then cherry-pick some of the commits from my local branch to get it all up-to-date |
c039e18
to
f2e8b82
Compare
this adds the original pyodide.js with no mods. doesn't work out of the box. gitignore src files for building. the good place if we need to remove from git history if better solution come for importing
the objective is to clean up and organize the python calls. - pyimport contains all the python modules to be used - utils is for all the function definitions - cells are independent commands to be made (maybe rename to commands) pipes.js and function.js were responsible for managing the state of the python kernel. they won't be needed in this new paradigm
to make it clear that python is being served using WebAssembly and not the jupyter, changing all the references
stumbled upon this, which might be useful: since the data processing is happening in python world and js only need images, maybe those can be passed with the onMessage. it will take python off the main thread and speed up the app. |
That sounds brilliant. Thanks Teon |
Moving this branch from teonbrooks to makebrainwaves. Should be easier to bring through the home stretch that way. |
This is the initial attempts to gut out the dependency on a local Python kernel and the communication between the app and kernel. Pyodide offers a full working kernel implemented in WebAssembly. This PR attempts to identify pain points, necessary patches for upstream dependencies, and testing ground for change.