Notebook Manager let you create and manage jupyter notebooks and kernels via neovim.
You can create notebooks and kernels using the active python
environment or with one of the supported package managers poetry
, rye
,
pipenv
. If your project directory has a toml configuration file the plugin
will default to using your package manager running commands and populating
notebook metadata.
Use notebook navigator with the following plugins to complete your vim notebook workflow:
- Neovim ^9.0
- Python ^3.8
- Required Python Packages
ipykernel
(for initializing kernels)jupyter
(for managing existing kernels)
CreateBook
: Create.ipynb
file in configured directoryDeleteBook
: Delete.ipynb
/.py
file in configured directory
createbook.mp4
j/k
: Navigate menuq
: Escape menua
: Create a new kerneld
: Delete selected kernel
kernelmenu.mp4
return {
"DavidRR-F/notebook-manager.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
},
cmd = {
"CreateBook",
"DeleteBook",
"CreateKernel",
"DeleteKernel",
"KernelMenuToggle",
},
opts = {
notebook_dir = "./notebooks",
ignore_package_manager = false,
},
keys = {
{ "<leader>km", "<cmd>:KernelMenuToggle<cr>", desc = "Toggle Kernel List Menu" },
}
}
use {
'DavidRR-F/notebook-manager.nvim',
requires = { 'nvim-lua/plenary.nvim' },
cmd = {
"CreateBook",
"DeleteBook",
"CreateKernel",
"DeleteKernel",
"KernelMenuToggle",
},
config = function()
require('notebook-manager').setup{
notebook_dir = "./notebooks",
ignore_package_manager = false,
}
end,
keys = {
{ "<leader>km", "<cmd>:KernelMenuToggle<cr>", desc = "Toggle Kernel List Menu" },
}
}
call plug#begin('~/.vim/plugged')
Plug 'nvim-lua/plenary.nvim'
Plug 'DavidRR-F/notebook-manager.nvim'
call plug#end()
" Lazy load commands
autocmd! VimEnter * command! -nargs=* CreateBook lua require('notebook-manager.commands').create_notebook(<f-args>)
autocmd! VimEnter * command! -nargs=* DeleteBook lua require('notebook-manager.commands').delete_notebook(<f-args>)
autocmd! VimEnter * command! -nargs=* CreateKernel lua require('notebook-manager.commands').create_kernel(<f-args>)
autocmd! VimEnter * command! -nargs=* DeleteKernel lua require('notebook-manager.commands').delete_kernel(<f-args>)
autocmd! VimEnter * command! KernelMenuToggle lua require('notebook-manager.commands').kernel_menu_toggle()
" Configuration
lua << EOF
require('notebook-manager').setup{
notebook_dir = "./notebooks",
ignore_package_manager = false,
}
EOF
" Keybindings
nmap <leader>km :KernelMenuToggle<CR>
Option | Description |
---|---|
notebook_dir | directory to manage notebook files |
ignore_package_manager | use active python evironment rather than projects package manager |