-
Notifications
You must be signed in to change notification settings - Fork 36
Jupyter notebook integration/mode #133
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
Conversation
Current idea: Run the kernel component of Jupyter (could be IPython, could be any other supported kernel) in a wrapper script that traces and then pack. Jupyter works as normal, but when you are done you get a RPZ file with Python, the kernel components, and all the libraries and data that are used in the notebook. This should work with a wrapper script; we can provide a custom KernelSpecManager that would use that wrapper for each existing kernel. Re-running a packed environment would need some trickery, since we need to change the connection file. A different wrapper is necessary to start the kernel via reprounzip. Relevant: jupyter/jupyter_client#157 (Jupyter needs to leave time for ReproZip to finish packing once kernel is done) |
New idea: trace/pack notebook file offline. Re-running still needs trickery, but the tracer can be written to place the connection file in a saner place? (it should probably still appear as an input file) |
Question we discussed today: how to deal with the separate notebook+reprozip files?
|
Working on the Jupyter extension to do this from the notebook UI. Goal for SciPy: one-click trace-and-pack, and save in the client side.
|
9ce865e
to
0edde47
Compare
Fixes:
|
It's important to distinguish an internal error (1), an usage error (2), and a notebook run successfully but whose code raised an exception (3).
Need to think about what this means, but something can probably be done.