{"id":13869706,"url":"https://github.com/paw-lu/nbpreview","last_synced_at":"2026-02-22T14:44:12.162Z","repository":{"id":37149683,"uuid":"348923735","full_name":"paw-lu/nbpreview","owner":"paw-lu","description":"A terminal viewer for Jupyter notebooks. It's like cat for ipynb files.","archived":false,"fork":false,"pushed_at":"2023-03-28T16:17:50.000Z","size":5253,"stargazers_count":186,"open_issues_count":40,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-06T04:03:09.994Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nbpreview.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paw-lu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-03-18T03:05:18.000Z","updated_at":"2025-05-21T20:51:49.000Z","dependencies_parsed_at":"2024-01-16T07:37:18.090Z","dependency_job_id":null,"html_url":"https://github.com/paw-lu/nbpreview","commit_stats":{"total_commits":1053,"total_committers":3,"mean_commits":351.0,"dds":"0.42070275403608737","last_synced_commit":"d1ea663b84de07fe780cd698960001d80b74d09b"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/paw-lu/nbpreview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paw-lu%2Fnbpreview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paw-lu%2Fnbpreview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paw-lu%2Fnbpreview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paw-lu%2Fnbpreview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paw-lu","download_url":"https://codeload.github.com/paw-lu/nbpreview/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paw-lu%2Fnbpreview/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265451443,"owners_count":23767768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-05T20:01:12.840Z","updated_at":"2025-10-21T19:25:53.563Z","avatar_url":"https://github.com/paw-lu.png","language":"Python","funding_links":[],"categories":["Python","\u003ca name=\"viewers\"\u003e\u003c/a\u003eViewers"],"sub_categories":[],"readme":"\u003c!-- title-start --\u003e\n\n![nbpreview light logo](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/images/logo_light.svg#gh-light-mode-only)\n![nbpreview dark logo](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/images/logo_dark.svg#gh-dark-mode-only)\n\n# nbpreview\n\n\u003c!-- title-end --\u003e\n\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n[![PyPI](https://img.shields.io/pypi/v/nbpreview.svg)](https://pypi.org/project/nbpreview/)\n[![Status](https://img.shields.io/pypi/status/nbpreview.svg)](https://pypi.org/project/nbpreview/)\n[![Python Version](https://img.shields.io/pypi/pyversions/nbpreview)](https://pypi.org/project/nbpreview)\n[![License](https://img.shields.io/pypi/l/nbpreview)](https://opensource.org/licenses/MIT)\n[![Read the documentation at https://nbpreview.readthedocs.io/](https://img.shields.io/readthedocs/nbpreview/latest.svg?label=Read%20the%20Docs)][documentation]\n[![Tests](https://github.com/paw-lu/nbpreview/workflows/Tests/badge.svg)](https://github.com/paw-lu/nbpreview/actions?workflow=Tests)\n[![Codecov](https://codecov.io/gh/paw-lu/nbpreview/branch/main/graph/badge.svg)](https://codecov.io/gh/paw-lu/nbpreview)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat\u0026labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)\n\nA terminal viewer for Jupyter notebooks.\nIt's like [cat](https://man7.org/linux/man-pages/man1/cat.1.html) for ipynb files.\n\n[documentation]: https://nbpreview.readthedocs.io/\n\n\u003c!-- github-only --\u003e\n\n![Hero image](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/images/hero_image.png)\n\n## Documentation\n\nnbpreview's [documentation] contains\na detailed breakdown of its [features],\n[command-line usage][usage],\nand [instructions on how to configure][configure] the tool.\n\n\u003c!-- installation-start --\u003e\n\n## Quick look\n\nWant to just see how nbpreview would render an output on your terminal?\nUse [uv] to get a preview.\nThe snippet below installs uv\n(if not already in your system)\nand uses it to render a notebook stored in this repository.\n\n```console\n% curl -LsSf https://astral.sh/uv/install.sh | sh\n% curl https://raw.githubusercontent.com/paw-lu/nbpreview/refs/heads/main/docs/example_notebook_cells/hero_notebook.ipynb | uvx nbpreview\n```\n\n## Installation\n\nnbpreview can be installed through any of the major python package managers\n(eg [uv], [pipx], or [pip] from [PyPI](https://pypi.org/)).\n\n[uv] is the easiest way to get started,\n[there are multiple ways to install it](https://docs.astral.sh/uv/getting-started/installation/).\n(Such as the example snippet above using curl).\n\n```console\n% uv tool install nbpreview\n```\n\nnbpreview may also be installed via [pip] if you prefer:\n\n```console\n% python -m pip install nbpreview\n```\n\n[pipx]: https://pypa.github.io/pipx/\n[pip]: https://pip.pypa.io/\n[uv]: https://docs.astral.sh/uv/\n\n\u003c!-- installation-end --\u003e\n\n## Features\n\n### [Syntax highlight code cells](https://nbpreview.readthedocs.io/en/latest/features.html#syntax-highlighting)\n\n![Material theme syntax highlighting](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/theme_material.svg)\n\n### [Render markdown](https://nbpreview.readthedocs.io/en/latest/features.html#markdown-rendering)\n\n![Markdown render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/markdown.svg)\n\n### [Draw images](https://nbpreview.readthedocs.io/en/latest/features.html#images)\n\n![Block drawing of image](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/images_block.svg)\n\n### [Render DataFrame](https://nbpreview.readthedocs.io/en/latest/features.html#dataframe-rendering)\n\n![DataFrame render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/dataframe.svg)\n\n### [Create previews for Vega charts](https://nbpreview.readthedocs.io/en/latest/features.html#vega-and-vegalite-charts)\n\n![DataFrame render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/vega.svg)\n\n### [Render LaTeX](https://nbpreview.readthedocs.io/en/latest/features.html#latex)\n\n![LaTeX render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/latex.svg)\n\n### [Parse HTML](https://nbpreview.readthedocs.io/en/latest/features.html#html)\n\n![HTML render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/html.svg)\n\n### [Create hyperlinks for complex content](https://nbpreview.readthedocs.io/en/latest/features.html#hyperlinks)\n\n![Hyperlink renders](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/links.svg)\n\n### [Render stderr output](https://nbpreview.readthedocs.io/en/latest/features.html#stderr)\n\n![Stderr render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/stderr.svg)\n\n### [Render tracebacks](https://nbpreview.readthedocs.io/en/latest/features.html#tracebacks)\n\n![Traceback render](https://github.com/paw-lu/nbpreview/raw/main/docs/_static/examples/svg/traceback.svg)\n\n### [Use Nerd Font icons](https://nbpreview.readthedocs.io/en/latest/features.html#nerd-fonts)\n\n## Try it out\n\nAssuming [curl] and [pipx] are installed,\nnbpreview may be tried out on the terminal by running:\n\n```console\n% curl https://raw.githubusercontent.com/paw-lu/nbpreview/main/docs/example_notebook_cells/hero_notebook.ipynb | pipx run nbpreview\n```\n\n## Usage\n\nTo use nbpreview,\ntype `nbpreview` into your terminal followed by the path of the notebook you wish to view.\n\n```console\n% nbpreview notebook.ipynb\n```\n\nSee the [command-line reference][usage] for details on options.\n\n## Contributing\n\nContributions are very welcome.\nTo learn more, see the [contributor guide][contributing].\n\n## License\n\nDistributed under the terms of the [MIT license][license],\n_nbpreview_ is free and open source software.\n\n## Issues\n\nIf you encounter any problems,\nplease [file an issue][issues] along with a detailed description.\n\n## Prior art\n\n### Similar tools\n\n\u003c!-- similar-tools-start --\u003e\n\nThanks to [@joouha] for [maintaining a list of these tools][euporie_similar_tools].\nMany of the projects here were found directly on their page.\n\n- [ipynb-term](https://github.com/PaulEcoffet/ipynbviewer)\n- [ipynbat](https://github.com/edgarogh/ipynbat)\n- [ipynbviewer](https://github.com/edgarogh/ipynbat)\n- [jcat](https://github.com/ktw361/jcat)\n- [jupview](https://github.com/Artiomio/jupview)\n- [jupytui](https://github.com/mosiman/jupytui)\n- [jut](https://github.com/kracekumar/jut)\n- [nbcat](https://github.com/jlumpe/nbcat)\n- [nbtui](https://github.com/chentau/nbtui)\n- [nbv](https://github.com/lepisma/nbv)\n- [Read-Jupyter-Notebook](https://github.com/qcw171717/Read-Jupyter-Notebook)\n\n[@joouha]: https://github.com\n[euporie_similar_tools]: https://euporie.readthedocs.io/en/latest/pages/related.html#notebook-viewers\n\n\u003c!-- similar-tools-end --\u003e\n\n### Complimentary tools\n\n\u003c!-- complimentary-tools-start --\u003e\n\nIf you're interested in complimentary tools\nthat help improve the terminal experience for notebooks,\nthere are many amazing projects out there.\n\n- **[bat](https://github.com/sharkdp/bat)**\n  is not a tool for notebooks specifically.\n  But similar to nbpreview,\n  it provides a rich output for many types of files on the terminal,\n  and is the primary inspiration for nbpreview.\n- **[euporie]**\n  is a really exciting project\n  that allows you to edit and run Jupyter notebooks on the terminal.\n- **[nbclient]**\n  is a library for executing notebooks from the command line.\n- **[nbpreview]**\n  is another project that coincidentally shares a name with this one.\n  It allows for Jupyter notebooks to be rendered\n  without running a notebook server.\n- **[nbqa]**\n  allows the use of linters and formatters on notebooks.\n  It's also used by this project.\n- **[jpterm]**\n  is and up-and-coming successor to [nbterm]\n  which will be accompanied by a web client.\n  Looking forward to seeing this develop.\n- **[nbtermix]**\n  is an actively-developed fork of [nbterm].\n- **[nbterm]**\n  lets you edit and execute Jupyter Notebooks on the terminal.\n- **[papermill]**\n  allows the parameterization and execution of Jupyter Notebooks.\n\n[nbterm]: https://github.com/davidbrochart/nbterm\n[euporie]: https://github.com/joouha/euporie\n[nbclient]: https://github.com/jupyter/nbclient\n[nbpreview]: https://github.com/jsvine/nbpreview\n[nbqa]: https://github.com/nbQA-dev/nbQA\n[jpterm]: https://github.com/davidbrochart/jpterm\n[nbtermix]: https://github.com/mtatton/nbtermix\n[papermill]: https://github.com/nteract/papermill\n\n\u003c!-- complimentary-tools-end --\u003e\n\n## Credits\n\n\u003c!-- credits-start --\u003e\n\nnbpreview relies on a lot of fantastic projects.\nCheck out the [dependencies] for a complete list of libraries that are leveraged.\n\nBesides the direct dependencies,\nthere are some other projects that directly enabled the development of nbpreview.\n\n- **[bat]**\n  is not explicitly used in this project,\n  but served as the primary inspiration.\n  This projects strives to be [bat]—but\n  for notebooks.\n  Many of nbpreview's features and command-line options are directly adopted from [bat].\n- **[Hypermodern Python Cookiecutter]**\n  is the template this project was generated on.\n  It is a fantastic project that integrates [Poetry],\n  [Nox],\n  and [pre-commit].\n  It's responsible for most of this project's CI.\n- **[justcharts]**\n  is directly used by this project\n  to generate the Vega and Vega-Lite charts.\n\n[bat]: https://github.com/sharkdp/bat\n[hypermodern python cookiecutter]: https://github.com/cjolowicz/cookiecutter-hypermodern-python\n[justcharts]: https://github.com/koaning/justcharts\n[nox]: https://nox.thea.codes/en/stable/\n[poetry]: https://python-poetry.org/\n[pre-commit]: https://pre-commit.com/\n\n\u003c!-- credits-end --\u003e\n\n[configure]: https://nbpreview.readthedocs.io/configure.html\n[contributing]: https://github.com/paw-lu/nbpreview/blob/main/CONTRIBUTING.md\n[curl]: https://curl.se/docs/\n[dependencies]: https://github.com/paw-lu/nbpreview/blob/main/pyproject.toml\n[exporting_rich_console]: https://rich.readthedocs.io/en/stable/console.html#exporting\n[features]: https://nbpreview.readthedocs.io/features.html\n[furo]: https://pradyunsg.me/furo/quickstart/\n[issues]: https://github.com/paw-lu/nbpreview/issues\n[license]: https://opensource.org/licenses/MIT\n[myst]: https://myst-parser.readthedocs.io/en/latest/\n[usage]: https://nbpreview.readthedocs.io/en/latest/usage.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaw-lu%2Fnbpreview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaw-lu%2Fnbpreview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaw-lu%2Fnbpreview/lists"}