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.3.tar.gz (435.6 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.3-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyter_plainb-0.2.3.tar.gz
  • Upload date:
  • Size: 435.6 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.3.tar.gz
Algorithm Hash digest
SHA256 246e548a764ce68d8b4e0c6271a4a90212e1110e5f933cda22aa8ea26a1b0abd
MD5 5bdffa05a6391f3ec9cc8813b744fafe
BLAKE2b-256 cbbe8f54bc7b5e8d0a583b01917a73d01f68c59ee000be3d0a35a9cab67dc441

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jupyter_plainb-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 64.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2a137f367ef5731beb774bec087ee0aa35291a6845ca7266ac8ac68731745c91
MD5 11836530eff76f1285bbdfce8182aa1f
BLAKE2b-256 490cdbea4eadda6f22b23333cb17de4409be56ad8eb15925bff16ae73b4f6b21

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