Using nbautoexport in VSCode
Opened this issue · 1 comments
- nbautoexport version: 0.5.2
- Python version: 3.12.4
- Operating System: macOS Sonoma 14.4
Description
I’m trying to run nbautoexport in Jupyter Notebooks opened in VSCode. Conversion from .ipynb to .py works without any problems in Jupyter Notebook/Jupyter Lab. However, whenever I connect VSCode to an active Jupyter session, neither automatic nor manual saves force the library to do the export to a .py file.
It seems probable that this is not an issue with nbautoexport itself, but rather with how VSCode saves notebook files. Nevertheless, I would be very grateful for any suggestions on how to tackle this issue.
What I Did
- Installed nbautoexport
- Tested the behaviour in Jupyter Notebook/Jupyter Lab:
- Conversion works without any problems.
- Tested the behavior in VSCode:
- Using the same session where nbautoexport worked with Jupyter Notebook/Lab (doesn’t work)
- Using a new session created in VSCode (doesn’t work)
I also tried adding % autosave 120
to force save the notebooks every 2 minutes, and it also didn’t work.
Observations:
- Jupyter Notebook/Jupyter Lab: Export to .py works as expected.
- VSCode: Neither automatic nor manual saves trigger the export.
Additional Information:
- No error messages were received during testing.
I'm not quite certain what you mean by "session" when you say "using the same session" as Jupyter Notebook/Lab. Do you mean "kernel"?
In any case, nbautoexport not working with VS Code is a general limitation we have. We hook into APIs related to Jupyter Notebook/Lab's functionality as an editor application (i.e., disk I/O) to trigger the export. VS Code is itself an editor and handles that stuff independently.
Supporting VS Code is going to involve building VS-Code-specific support, probably through a VS Code extension. It's something we're certainly interested in, as myself and other folks on our team also often use VS Code for notebooks. (Currently, my work-around is to just run nbautoexport export
from the command-line manually periodically.) I had played around with making a VS Code extension for nbautoexport a year or two ago, but I wasn't familiar with developing extensions and didn't make much progress on getting something to work.