Hi all,
As my title suggested it, I would like to get access to the notebook name (in jupyter-lab) as a variable. So I could reuse it in the notebook itself (for example to name some figure files generated in the notebook).
I saw that a similar issue was opened years ago [see here]. However I didnt find a satisfactory answer.
I like the simplicity of the answer suggested by @bill:
import ipyparams
currentNotebook = ipyparams.notebook_name
However, it doesn't work for me. I got this warning the first time I execute the first cell:
import ipyparams
Javascript Error: Jupyter is not defined
currentNotebook = ipyparams.notebook_name
currentNotebook
''
Then if I rerun the cell again, I don't have the warning message anymore but the variable currentNotebook
is still empty. (I run the cell sequentially, I didn't do a 'Run All Cells').
My Jupyter version is
jupyter notebook --version
6.0.3]
jupyter-lab --version
2.1.1
I am using my notebook mostly for python code.
@juan solution [here], using ipynbname is working for
jupyter-notebook : 6.1.6
jupyter lab : 2.2.6
but this solution is still not working for jupyter lab : 3.0.1
ipynbname is now working for jupyter 3
More details about it [here]
As an alternative you can use the following library: ipynbname
#! pip install ipynbname
import ipynbname
nb_fname = ipynbname.name()
nb_path = ipynbname.path()
This worked for me and the solution is quite straightforward.