How do you suggest solving the version control issue with Jupyter notebooks?
I have a client who is using jupyter notebooks for their EDA. They are modifying notebooks here and there and it's causing a lot of hassle for merging. Also, reviewing notebooks in environments such as Azure Repo is not easy because you have to read the raw ipynb file to find where you want to comment. A solution would be to use Jupytext to avoid the problem. However, Jupytext doesn't play well with managed instances using vscode (the plugin is old).
So, is there a way to utilize the functionalities of developing in notebooks but also, avoid using ipynb files?
09/12/2023, 10:21 AM
Hey @Siavash Sakhavi it’s a shame they’re not using GitHub as there is now an experimental feature to do this.
• I think the modern way to do this is via the following nbdime
• Also worth checking out native way of doing this for VS Code
• nbreview, nbdev and nbqa
and I don't see anything in https://github.com/microsoft/vscode-python/issues/ mentioning jupytext or text-based notebooks either...
the fundamental problem is that text-based notebooks cannot store outputs in their current form, as far as I know. and the moment people start using jupytext, they might as well write a normal Python script with comments... so I'm not sure if that's the reason why jupytext is not more widespread.
in the past, I've found some problems with the synchronization between the ipynb and the text based format
09/13/2023, 8:39 AM
@datajoely Thanks. I tried the native VSCode method. The problem is that it "creates" a new notebook vs opening a py as a notebook.
@Juan Luis it depends how frequently you want to observe the ouputs. If the outputs are removed from cache after closing the notebook and you have already saved your images, it shouldn't be a problem.
I also had the idea of "gitignoring" ipynb files entirely manually asking the developer to sync their ipynb to the .py via the vscode-jupyter interface.
If anyone wants to run it, they can just create a notebook from the ,py locally.