Jupyter notebook client in neovim

Overview

🪐 Jupyter-Nvim

Read jupyter notebooks in neovim

image

Note: The plugin is still in alpha stage

👾 Usage

Just open any *.ipynb file and voila!

Contributing

All contributions are welcome! Even bug report count as a contribution, so if there is anything off don't hesitate to open an issue.

🚀 TODO

You can find the todo on github projects.

Comments
  • Add better defaults and documentation

    Add better defaults and documentation

    So I've been trying to get started with using this plugin...but I have no idea what keymappings are available or how to run a cell or anything... Can you help?

    opened by mstanciu552 7
  • Gitsigns compatibility error

    Gitsigns compatibility error

    Really looking forward to the development of this plugin, it looks great!

    I've been playing around a bit and came across this error whenever I open any notebook:

    Error executing vim.schedule lua callback: ...acker/start/plenary.nvim/lua/plenary/async_lib/async.lua:14: The coroutine failed with this message: Vim: E158: Invalid buffer name: 1
    

    The error is coming from the gitsigns plugin, and it appears that the problem is that the original buffer is being deleted while gitsigns is running a coroutine refering to the deleted buffer's id. This could potentially be a problem with other plugins that use async to process the buffer being deleted.

    I'm not familiar with plenary's async, but maybe the solution could be a way to await for coroutines to finish in create_jupyter_buffer.

    opened by JA-Bar 2
  • Error when open *.ipynb

    Error when open *.ipynb

    nvim raises this error when open a ipynb file.

    error caught while executing async callback:
    NvimError('Vim:E158: Invalid buffer name: 2')
    Traceback (most recent call last):
      File "/home/user/.local/share/nvim/site/pack/packer/start/jupyter-nvim/rplugin/python3/jupyter-nvim/__init__.py", line 47, in write_notebook
        nb.draw_full()
      File "/home/user/.local/share/nvim/site/pack/packer/start/jupyter-nvim/rplugin/python3/jupyter-nvim/utils.py", line 43, in draw_full
        self._nvim.funcs.sign_place(
      File "/usr/lib/python3.9/site-packages/pynvim/api/nvim.py", line 299, in call
        return self.request('nvim_call_function', name, args, **kwargs)
      File "/usr/lib/python3.9/site-packages/pynvim/api/nvim.py", line 182, in request
        res = self._session.request(name, *args, **kwargs)
      File "/usr/lib/python3.9/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request
        raise self.error_wrapper(err)
    pynvim.api.common.NvimError: Vim:E158: Invalid buffer name: 2
    
    the call was requested at
      File "/usr/lib/python3.9/site-packages/pynvim/plugin/host.py", line 124, in _on_request
        rv = handler(*args)
      File "/usr/lib/python3.9/site-packages/pynvim/plugin/host.py", line 92, in _wrap_delayed_function
        self._request_handlers[name](*args)
      File "/usr/lib/python3.9/site-packages/pynvim/plugin/host.py", line 102, in _wrap_function
        return fn(*args)
      File "/home/user/.local/share/nvim/site/pack/packer/start/jupyter-nvim/rplugin/python3/jupyter-nvim/__init__.py", line 49, in openNotebook
        self.nvim.async_call(write_notebook)
    
    opened by f3fora 1
  • `:UpdateRemotePlugins` not an editor command

    `:UpdateRemotePlugins` not an editor command

    Following the README, when trying to install the plugin via packer.nvim I get the following error:

    :UpdateRemotePlugins not an editor command
    

    And, of course, if I remove the line, it installs good but the files do not display correctly. Any advice?

    Thanks in advance.

    opened by mrswats 0
  • Adding support for running, editing and previewing cells.

    Adding support for running, editing and previewing cells.

    Hello there!

    This might sound like issue #4, but I really would like to show my interest in such features for this plugin.

    Running cells: to be able to run notebooks without jupyter. Editing cells: to be able to change an existing notebook or create a new one from scratch, inside neovim, leveraging the vim keybindings and the neovim config. Previewing cells: I do not even know if it is even possible, maybe with ueberzug. But having something like a window on the side of the notebook editing window, to preview images and, more generally, markdown cells, would be super nice.

    Cheers guys ;)

    opened by amtoine 0
  • nvim <file> throws error. Opening file from inside neovim works.

    nvim throws error. Opening file from inside neovim works.

    Hi there!

    I am so excited about this plugin as I really do not like not having access to my neovim config inside python notebooks...

    I managed to get the plugin working by running :checkhealth, installing jupyter inside my python3 and then running :UpdateRemotePlugins.

    However, the plugin throws an error when trying to open directly a notebook from the terminal with nvim /path/to/file. Error that does not appear when running :e /path/to/file inside neovim after running nvim alone in a terminal. Just to let you know ;)

    opened by amtoine 1
  • Can't seem to reproduce ipynb shown in README

    Can't seem to reproduce ipynb shown in README

    Hello!

    First: to say I am excited for this plugin would be a significant understatement. I have been looking for something like this and when I saw your post on Reddit I was thrilled!

    Second... I have installed the plugin, and even double-checked it was loaded (via PackerLoad jupyter-nvim) but cannot seem to reproduce the state you showcase in the README. Any ideas on how I could do that? I'd love to contribute to this and help in any way I can I just need to get it working as is hahah.

    Thanks in advance and really great work so far!

    opened by rkabrick 9
Owner
Ahmed Khalf
Incoming CS student at the University of Toronto.
Ahmed Khalf
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 2, 2023
Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim

Freaky fast fuzzy Denite/CtrlP matcher for vim/neovim This is a matcher plugin for denite.nvim and CtrlP.

Raghu 113 Sep 29, 2022
Bringing emacs' greatest feature to neovim - Tetris!

nvim-tetris Bringing emacs' greatest feature to neovim - Tetris! This plugin is written in Fennel using Olical's project Aniseed for creating the proj

null 129 Dec 26, 2022
🌈 Generate color palettes based on Neovim colorschemes.

Iris Iris is a Neovim plugin that generates a normalized color palette based on your colorscheme. It is named for the goddess Iris of Greek mythology,

N. G. Scheurich 45 Jul 28, 2022
🦎 A NeoVim plugin for highlighting visual selections like in a normal document editor!

?? HighStr.nvim A NeoVim plugin for highlighting visual selections like in a normal document editor! Demo TL;DR HighStr.nvim is a NeoVim plugin writte

Pocco81 222 Jan 3, 2023
Lets you view, edit and execute Jupyter Notebooks in the terminal.

Lets you view, edit and execute Jupyter Notebooks in the terminal.

David Brochart 684 Dec 28, 2022
Euporie is a text-based user interface for running and editing Jupyter notebooks

Euporie is a text-based user interface for running and editing Jupyter notebooks

null 781 Jan 1, 2023
Ipylivebash - Run shell script in Jupyter with live output

ipylivebash ipylivebash is a library to run shell script in Jupyter with live ou

Ben Lau 6 Aug 27, 2022
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie

HTTPie: human-friendly CLI HTTP client for the API era HTTPie (pronounced aitch-tee-tee-pie) is a command-line HTTP client. Its goal is to make CLI in

HTTPie 25.4k Dec 30, 2022
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.

Interactive Redis: A Cli for Redis with AutoCompletion and Syntax Highlighting. IRedis is a terminal client for redis with auto-completion and syntax

null 2.2k Dec 29, 2022
A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.

mycli A command line client for MySQL that can do auto-completion and syntax highlighting. HomePage: http://mycli.net Documentation: http://mycli.net/

dbcli 10.7k Jan 7, 2023
A command-line based, minimal torrent streaming client made using Python and Webtorrent-cli. Stream your favorite shows straight from the command line.

A command-line based, minimal torrent streaming client made using Python and Webtorrent-cli. Installation pip install -r requirements.txt It use

Jonardon Hazarika 17 Dec 11, 2022
frogtrade9000 - a command-line Rich client for the freqtrade REST API

frogtrade9000 - a command-line Rich client for the freqtrade REST API I found FreqUI too cumbersome and slow on my Raspberry Pi 400 when running multi

Robert Davey 79 Dec 2, 2022
A command-line based, minimal torrent streaming client made using Python and Webtorrent-cli.

ABOUT A command-line based, minimal torrent streaming client made using Python and Webtorrent-cli. Installation pip install -r requirements.txt It use

Janardon Hazarika 17 Dec 11, 2022
triggercmd is a CLI client for the TRIGGERcmd cloud service.

TriggerCMD CLI client triggercmd is a CLI client for the TRIGGERcmd cloud service. installation the triggercmd package is available in PyPI. to instal

Gustavo Soares 7 Oct 18, 2022
Command line client for Audience Insights

Dynamics 365 Audience Insights CLI The AuI CLI is a command line tool for Dynamics 365 Audience Insights. It is based on the customerinsights Python l

Microsoft 8 Jan 9, 2023
pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget

Currently, all the work is being done inside the refactoring branch. pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget P

Everton Correia 45 Dec 11, 2022
Splitgraph command line client and python library

Splitgraph Overview Splitgraph is a tool for building, versioning and querying reproducible datasets. It's inspired by Docker and Git, so it feels fam

Splitgraph 313 Dec 24, 2022
A terminal client for connecting to hack.chat servers

A terminal client for connecting to hack.chat servers.

V9 2 Sep 21, 2022