Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
nbformat is reference implementation of the notebook format: https://github.com/jupyter/nbformat No recent major releases.
jupytext is great, you can also review your notebooks as `.ipynb` files using GitNotebooks [https://gitnotebooks.com]. (I'm the solo dev)
If you use conda there are extensions that can help with this by automatically registering any available conda environments that include ipykernel in your Jupyter Lab environment.
nb_conda_kernels is pretty reliable but not actively maintained. Gator from the mamba folks is new and still a bit rough around the edges but looks like it will be pretty slick eventually.
https://github.com/Anaconda-Platform/nb_conda_kernels
https://github.com/mamba-org/gator
Do you have an example of how this works with another tool/language?
I don't know if I understood it correctly but maybe you could:
- Upload your notebook to Github, then create a url with Binder (part of the jupyter ecosystem) directly to an editing/fiddling playground: https://mybinder.org/
- If by user-local you mean on their own machine, they can clone your repo and run their own jupyterlab to fiddle
- If everything should stay on your own computer/server, you could share a link to your own jupyterlab and collaborate with others in real-time: https://jupyterlab-realtime-collaboration.readthedocs.io/en/...
Is there a similar notebook application like https://livebook.dev/ for Python?
I like Jupyter, but after trying out Livebook with Elixir I wish there was something similar in Python.
Smart cells and Toggling parts of code on/off is extremely useful features in a Notebook app.
You may be interested in papermill to address the parametrized analysis problem [1]. I think (but I'm not positive) this is what the data team at a previous job used to automate running notebooks for all sorts nightly reports.
[1] https://papermill.readthedocs.io/en/latest/#
The trick is that you have to deactivate the virtual environment and then resource it after adding Jupyter to that virtual environment.
Most shells cache executable paths, so the path for jupyter will be the global path, not the one for your virtual environment. This is unfortunately not at all obvious and leads to very hard to track down bugs that seem to disappear and reappear if you aren't familiar with the issue.
I have a recipe here which always works: https://github.com/nlothian/m1_huggingface_diffusers_demo#se...
If you don't have requirements.txt then do this: `pip3 install jupyter` for that line, then `deactivate` and `source ./venv/bin/activate`.
If you use conda there are extensions that can help with this by automatically registering any available conda environments that include ipykernel in your Jupyter Lab environment.
nb_conda_kernels is pretty reliable but not actively maintained. Gator from the mamba folks is new and still a bit rough around the edges but looks like it will be pretty slick eventually.
https://github.com/Anaconda-Platform/nb_conda_kernels
https://github.com/mamba-org/gator
Question for the more experienced than me but how does JupyterLab/Notebooks compare with the likes of datasette[0]?
[0] https://datasette.io/
> There aren't good boundaries between Jupyter's own Python environment, and that of your notebooks— if you have a dependency which conflicts with one of Jupyter's dependencies, then good luck.
I believe that you can use https://github.com/tweag/jupyenv for this.
To add to this, shamelessly self-promoting, Notebooker (https://github.com/man-group/notebooker) is a neat way of scheduling your Jupyter notebooks as parametrisable reports whose results are presented in a little web GUI (either as static HTML, PDF, or as reveal.js slideshow renders)
While I have no need for it's only functionality and the SAAS part of plotly, I really do like plotly python + cufflinks [1]. It lets you make interactive plots in html/js format. Which means you can save the notebook as html, and while people won't be able to rerun the code, they can still zoom in on graphs, hover to see annotations etc, which is a really nice way to share the outcome of your work in a more accessible way.
[1] https://github.com/santosjorge/cufflinks
If you're interested in an easier way to create reports using Python and Plotly/Pandas, you should check out our open-source library, Datapane: https://github.com/datapane/datapane - you can create a standalone, redistributable HTML file in a few lines of Python.
Related posts
- Show HN: Marimo – an open-source reactive notebook for Python
- Ask HN: Fastest way to turn a Jupyter notebook into a website these days?
- notebooks: do you love them or do you hate them?
- IPyVizzu: Build animated charts with simple Python syntax
- Spreadsheet errors can have disastrous consequences – yet we keep making them