Skip to main content

A JupyterLab extension to convert plaintext files to jupyter notebooks

Project description

jupyter-plainb

Github Actions Status

A JupyterLab extension to convert plaintext files to Jupyter notebooks

Installation

pip install jupyter-plainb

Requirements

  • JupyterLab >= 4.0.0

Usage

1. Convert to Notebook

Select a .py or .md file in the file browser → right-click → Convert to Notebook submenu → pick a parser.

  • If a .ipynb with the same base name already exists, a confirmation dialog asks before overwriting.

2. Open With (Direct notebook editor)

You can open and edit .py or .md files directly in the JupyterLab Notebook editor without generating a .ipynb file.

  • Right-click a .py or .md file in the file browser → hover over Open With → select Notebook.
  • Edits and cell runs save directly back to the original plaintext file format.

3. Convert to Plain Text (Reverse conversion)

Convert an existing .ipynb notebook back to one of the supported plaintext formats.

  • Right-click a .ipynb file → hover over Convert to Plain Text submenu → select a target format.

4. Auto-convert on startup

Add plainTextNotebookConfig to jupyter_config.json (or JupyterLite's jupyter-lite.json):

{
  "jupyter-config-data": {
    "plainTextNotebookConfig": {
      "rules": [
        { "dir": "percent", "parser": "parsePy" },
        { "dir": "sphinx_gallery", "parser": "parseSphinxGallery" },
        { "dir": "markdown", "parser": "parseClassicMd" },
        { "dir": "myst", "parser": "parseMystMd" }
      ]
    }
  }
}

Each rule watches a directory and converts matching files on JupyterLab startup (skips files that already have a .ipynb sibling).

Supported formats

Parser Menu label File type Format
parsePy Percent format (.py) .py Jupytext percent
parseSphinxGallery Sphinx Gallery (.py) .py Sphinx-Gallery
parseClassicMd Classic Markdown (.md) .md Standard markdown — fenced code blocks become code cells
parseMystMd MyST Notebook (.md) .md MyST-NB {code-cell} directives

Uninstall

pip uninstall jupyter-plainb

Contributing

See CONTRIBUTING.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter_plainb-0.2.1.tar.gz (395.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyter_plainb-0.2.1-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_plainb-0.2.1.tar.gz.

File metadata

  • Download URL: jupyter_plainb-0.2.1.tar.gz
  • Upload date:
  • Size: 395.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for jupyter_plainb-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e19282d3db327510c2ff1ad262b0aee6f91be00d4448e2fe33b656ec11b8bc5b
MD5 07d08049fc1f5c32051a9230fb355d0e
BLAKE2b-256 2ef117d2fbed4cd29888ec4bf6648aa29b4f1c578c0a8b8cd13a70c1ceace0ba

See more details on using hashes here.

File details

Details for the file jupyter_plainb-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: jupyter_plainb-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for jupyter_plainb-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6c1af363c3d9d2bcd1e2f1e5c9c897763ffbc66932de162132a457f697a533ab
MD5 ac06b5e48840d1b2a981b904c473670b
BLAKE2b-256 344783976eea59cef81769aabc1022301909ed17bbaab4bffdbb4f3eba471d8c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page