Skip to main content

ipypy

Store Jupyter Notebooks in a more repo and coding friendly way.

Have you ever noticed that a Jupuyter Notebook nowadays is a json file? Containing together the metadata of the notebook itself, the list of cells, and for each cell, not only the source (what was written on it), but also the outputs, and metadata for each cell.

This project attemps to propose an alternative for that.

How

You can pick between a SplitCodeManager, which stores each notebook in:

  • my_file.ipynb (the usual notebook file, but with source information extracted)
  • my_file.ipypy (a pure code file that stores only the actual source code)

Or, a SplitOutputManager, which stores each notebook in:

  • my_file.ipynb (the usual notebook file, but without the cells output)
  • my_file.nbout (a json file that stores only the outputs of each cell)

Benefits

  • You can now import your notebook from another file
  • You can now use standard coding tools and practices for manipulating Notebooks code:
    • testing
    • import code defined in there
    • editable naturally by any editor
    • refactoring
    • tracking changes
    • ...
  • The source code of your notebook, can be versioned in a repository, where diffs, and history is readable. Now makes sense. It's code.
  • (Work In Progress) You can choose to simply ignore the metadata files (.ipynb) in the repository, or keep them versioned. It should be up to you.

Warning

We are in beta. Once you open a notebook with this extension enabled, and later save it, your notebook will be saved in a format a bit incompatible.

Installation

$ pip install ipypy

You will also need to configure your jupyter so it uses ipypy, by editing your jupyter config file, or from command line

$ jupyter lab --NotebookApp.contents_manager_class="ipypy.SplitCodeManager"

Metadata

Release files for ipypy 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ipypy 0.1.2
File Size Uploaded
ipypy-0.1.2.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ipypy 0.1.2
File Interpreter ABI Platform
ipypy-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / ipypy-0.1.2.tar.gz

Download URL ipypy-0.1.2.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
04d7ba948846d3966174a5b6b9be2478a02a985ad355142a4f73850c883c4d56
BLAKE2b-256 checksum
How to use checksums
d0adf655cf5720cdfd284795cb21cafb0f063d9086ed8fea2c3fd027cae4a7b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.6

Release files / ipypy-0.1.2-py3-none-any.whl

Download URL ipypy-0.1.2-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7fc5535bb973ed82a5ec1845e996f9aa3413db324b9605ee7c61687d4d64ffdf
BLAKE2b-256 checksum
How to use checksums
584045b7ec7408af7eaab9fe5459ac9b7f25c30f3ae768da9787765a9f485863
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.6

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page