Render Jupyter notebook in the terminal

Overview

jut - JUpyter notebook Terminal viewer.

The command line tool view the IPython/Jupyter notebook in the terminal.

Install

pip install jut

Usage

$jut --help
Usage: jut [OPTIONS]

Options:
  -u, --url TEXT             Render the ipynb file from the URL
  -i, --input-file FILENAME  File from the local file-system
  -h, --head INTEGER         Display first n cells. Default is 10
  -t, --tail INTEGER         Display last n cells
  -p, --single-page          Should the result be in a single page?
  -f, --full-display         Should all the contents in the file displayed?
  --help                     Show this message and exit.

ASCIICinema Demo

asciicast

Display first five cells

jut-head-example

Display last five cells

jut-tail-example

Download the file and display first five cells

jut-download-url

Comments
  • Strip vertical bars from displayed output

    Strip vertical bars from displayed output

    Selecting and copying blocks within the reported output includes the | symbol, which makes it tedious to strip out these symbols to get the valid embedded Python code. The visual display is great, but sometimes it makes working with the output in the terminal tedious.

    enhancement 
    opened by reckoner 7
  • Make default call mode work for `jut file.ipynb` without requiring `-i` option

    Make default call mode work for `jut file.ipynb` without requiring `-i` option

    Great tool, thanks! I just discovered it thanks to @davidbrochart's ping on an nbterm issue. Delighted to see more terminal-based tools evolving to help us work with notebooks when a full GUI isn't needed.

    Quick suggestion: I think the most common use case is simply "show me this file", so I think it would be a nice usability improvement to allow jut filename.ipynb work automatically without further flags needed. This amounts to making -i the default behavior.

    You could further auto-detect remote urls with a regex along the lines of qualifier:://path (I haven't toyed with that but I'm sure they exist) to allow the omission of --url too, but I see that as secondary.

    In any case, thanks again!

    enhancement 
    opened by fperez 4
  • RFE: simplify cli by accepting a non-option path/url

    RFE: simplify cli by accepting a non-option path/url

    (great thanks for your nice tool!)

    It would be a handy enhancement for the CLI to accept a positional argument and guess whether it's a URL or FILE, an ac accordingly.

    enhancement 
    opened by ankostis 3
  • Add a --force-colors switch

    Add a --force-colors switch

    Thanks for this tool! After hearing about it, I immediately wanted to integrate it with ranger so I can get previews in the file manager.

    Unfortunately, rich has no way to force colors (https://github.com/willmcgugan/rich/issues/343) and disables them with ranger's preview integration because the output isn't a terminal.

    Thus, I added a --force-colors switch to get them back:

    image

    (it still requires setting COLORTERM=8bit in the environment to get proper 256color support)

    opened by The-Compiler 1
  • Add pagination support or helping out to connect with `less -R` and have colors survive

    Add pagination support or helping out to connect with `less -R` and have colors survive

    I'm finding that even if I use less -R, when paginating jut's output I lose color highlights, not sure why... But given that your typical notebook document is long-ish, I would suggest adding pagination support less-Style, if it's not too hard...

    Alternatively, figure out a way if possible to make it so coloring survives through less, which would save you from having to reimplement less's features (I'm sure if you add pagination, people will then want search, regexes, etc, and you'd end up having to reinvent less itself :)

    opened by fperez 2
  • When the cell output is error display the error

    When the cell output is error display the error

    Reference: https://github.com/jupyter/nbformat/blob/master/nbformat/v4/nbformat.v4.0.schema.json#L276

    As of now, the only code output is displayed. The code error is ignored from rendering.

    enhancement 
    opened by kracekumar 0
Owner
Kracekumar
Server side guy specializing in Python. I am interested in back-end technologies, machine learning, automation, systems and performance.
Kracekumar
Drag’n’drop Pivot Tables and Charts for Jupyter/IPython Notebook, care of PivotTable.js

pivottablejs: the Python module Drag’n’drop Pivot Tables and Charts for Jupyter/IPython Notebook, care of PivotTable.js Installation pip install pivot

Nicolas Kruchten 512 Dec 26, 2022
IPython/Jupyter notebook module for Vega and Vega-Lite

IPython Vega IPython/Jupyter notebook module for Vega 5, and Vega-Lite 4. Notebooks with embedded visualizations can be viewed on GitHub and nbviewer.

Vega 294 Feb 12, 2021
Drag’n’drop Pivot Tables and Charts for Jupyter/IPython Notebook, care of PivotTable.js

pivottablejs: the Python module Drag’n’drop Pivot Tables and Charts for Jupyter/IPython Notebook, care of PivotTable.js Installation pip install pivot

Nicolas Kruchten 419 Feb 11, 2021
Visual Python is a GUI-based Python code generator, developed on the Jupyter Notebook environment as an extension.

Visual Python is a GUI-based Python code generator, developed on the Jupyter Notebook environment as an extension.

Visual Python 564 Jan 3, 2023
ipyvizzu - Jupyter notebook integration of Vizzu

ipyvizzu - Jupyter notebook integration of Vizzu. Tutorial · Examples · Repository About The Project ipyvizzu is the Jupyter Notebook integration of V

Vizzu 729 Jan 8, 2023
Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax.

PyDexter Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax. Setup $ pip install PyDexter

D3xter 31 Mar 6, 2021
Quickly and accurately render even the largest data.

Turn even the largest data into images, accurately Build Status Coverage Latest dev release Latest release Docs Support What is it? Datashader is a da

HoloViz 2.9k Dec 28, 2022
Quickly and accurately render even the largest data.

Turn even the largest data into images, accurately Build Status Coverage Latest dev release Latest release Docs Support What is it? Datashader is a da

HoloViz 2.4k Feb 18, 2021
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

null 3.4k Dec 29, 2022
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Dash Dash is the most downloaded, trusted Python framework for building ML & data science web apps. Built on top of Plotly.js, React and Flask, Dash t

Plotly 17.9k Dec 31, 2022
An interactive GUI for WhiteboxTools in a Jupyter-based environment

whiteboxgui An interactive GUI for WhiteboxTools in a Jupyter-based environment GitHub repo: https://github.com/giswqs/whiteboxgui Documentation: http

Qiusheng Wu 105 Dec 15, 2022
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Dash Dash is the most downloaded, trusted Python framework for building ML & data science web apps. Built on top of Plotly.js, React and Flask, Dash t

Plotly 13.9k Feb 13, 2021
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

null 3.4k Dec 30, 2022
A Jupyter - Three.js bridge

pythreejs A Python / ThreeJS bridge utilizing the Jupyter widget infrastructure. Getting Started Installation Using pip: pip install pythreejs And the

Jupyter Widgets 844 Dec 27, 2022
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Dash Dash is the most downloaded, trusted Python framework for building ML & data science web apps. Built on top of Plotly.js, React and Flask, Dash t

Plotly 14k Feb 18, 2021
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

null 3k Feb 18, 2021
A Jupyter - Three.js bridge

pythreejs A Python / ThreeJS bridge utilizing the Jupyter widget infrastructure. Getting Started Installation Using pip: pip install pythreejs And the

Jupyter Widgets 700 Feb 17, 2021
A Jupyter - Leaflet.js bridge

ipyleaflet A Jupyter / Leaflet bridge enabling interactive maps in the Jupyter notebook. Usage Selecting a basemap for a leaflet map: Loading a geojso

Jupyter Widgets 1.3k Dec 27, 2022
Draw datasets from within Jupyter.

drawdata This small python app allows you to draw a dataset in a jupyter notebook. This should be very useful when teaching machine learning algorithm

vincent d warmerdam 505 Nov 27, 2022