Skip to main content

sheet

Tools to extract content from ipython (jupyter) notebooks

To install: pip install sheet

Examples

Getting the filepath of the current notebook

filepath = get_path_of_current_notebook()
# Example: '~/my_notebook_folder/some_notebook.ipynb'

Access to cells of a notebook given its filepath

from sheet.contents import get_ipynb_cells, get_ipynb_cells_source
filepath = '~/my_notebook_folder/some_notebook.ipynb'

cells = get_ipynb_cells(filepath)
assert type(cells), type(cells[0]) == (list, dict)

cells = get_ipynb_cells_source(filepath)
assert type(cells), type(cells[0]) == (list, str)
from sheet.contents import get_ipynb_cells_full_text
notebook_text = get_ipynb_cells_full_text(filepath)
print(notebook_text)

Search the cells of a single notebook

Index and search the cells of a notebook

from sheet import SingleNotebookSearch

search = SingleNotebookSearch(src=None)  # if no filepath (src) to a notebook is given, will use the "current notebook"

result_indices = search('lines iterize')
print(result_indices)
print("\n---- Contents of first hit ----")
print(search[result_indices[0]])  # print the contents of the first result
[70 225 226 198 199 196 200 201 193 197]

---- Contents of first hit ----
process_wf = Line(
    partial(fixed_step_chunker, chk_size=DFLT_CHK_SIZE),
    iterize(process_chk)
)

Search the contents of the notebooks under a directory

from sheet.contents import SearchNotebooks

search = SearchNotebooks('~/my_notebooks_folder', max_levels=0)  # enter max_levels=None for full recursive
search('bayesian')
array(['Spyn 01 - Potentials.ipynb',
       'Bayes 01 - Potentials-Only explanation.ipynb', 'taped.ipynb',
       'separation of concerns - how py2store does it.ipynb',
       'equate.ipynb', 'peruse.ipynb',
       'hum, taped, lined -- feeding audio to a pipeline.ipynb',
       'owner.ipynb', 'best of 2020.ipynb',
       'Bayes 02 - Potentials - And drug data example.ipynb'],
      dtype=object)

Okay, we have a list of notebooks that match our query (i.e. the highest average alignment to our query -- not just keyword matching!), but what cells in particular have the highest relevance?

Well, we can now peruse our notebook at that level, with a notebook cells searcher. (Note: You can combine both to make a cell-level searcher from the folder level.)

ss = search.search_notebook('Spyn 01 - Potentials.ipynb')
ss('bayesian')
array([['Spyn 01 - Potentials.ipynb', 6],
       ['Spyn 01 - Potentials.ipynb', 2],
       ['Spyn 01 - Potentials.ipynb', 71],
       ['Spyn 01 - Potentials.ipynb', 88],
       ['Spyn 01 - Potentials.ipynb', 91],
       ['Spyn 01 - Potentials.ipynb', 84],
       ['Spyn 01 - Potentials.ipynb', 85],
       ['Spyn 01 - Potentials.ipynb', 86],
       ['Spyn 01 - Potentials.ipynb', 87],
       ['Spyn 01 - Potentials.ipynb', 82]], dtype=object)
ss['Spyn 01 - Potentials.ipynb', 6]
'# Potentials - A key data structure to Discrete Bayesian Inference'
ss['Spyn 01 - Potentials.ipynb', 87]
'### Making a few potentials from pts data'

Metadata

Release files for sheet 0.0.5

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

Source distribution (sdist)

Source distribution for sheet 0.0.5
File Size Uploaded
sheet-0.0.5.tar.gz 4.9 kB Details

Built distribution (wheel)

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

Total release size: 14.2 kB

Release files / sheet-0.0.5.tar.gz

Download URL sheet-0.0.5.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f276ab2c36068d5e99dd1e7fc1e0c67ed47be3caa6eb5f73929771215f991d09
BLAKE2b-256 checksum
How to use checksums
e879bc23cc46d73b82400ef313874b2c9446c313eca25733cf4a562f748ed8bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release files / sheet-0.0.5-py3-none-any.whl

Download URL sheet-0.0.5-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82f8e009d28c63dece5871c6d05efb89a8b3a7d813124453b0d4cee9af6119c1
BLAKE2b-256 checksum
How to use checksums
b91b08fad8a1a74c069fd1dd9f0fd082273740ba13dc3ed907a65d59cc897b56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

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