ipython-cells
This is an IPython extension for those who prefer to work in a terminal but still need the cell-by-cell execution provided by a Jupyter notebook.
Example Jupyter notebook:
Running exported notebook with ipython-cells:
Quickstart
Install the extension:
pip install ipython-cells
Convert an existing notebook to a Python file (In Jupyter):
Cell > Run All
File > Download As > python (.py)
Execute cells in iPython:
>>> %load_ext ipython_cells
>>> %load_file my_notebook.py
>>> %cell_run 1
>>> %cell_run 2
array([1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j])
You can freely add/delete/rename cells in the downloaded my_notebook.py. my_notebook.py is automatically reloaded when changes are made.
Alternatively, you can create a new .py file from scratch without starting from a Jupyter notebook. See the cell delimiter syntax.
Other Features
Spyder cell delimiter syntax is also supported:
# %% cell1
print('hello')
# %% cell2
print('world')
Other commands:
# cell ranges - run all cells from beginning of file to cell2 (inclusive)
>>> %cell_run ^cell2
hello
world
# cell ranges - run all cells from cell1 (inclusive) to end of file
>>> %cell_run cell1$
hello
world
# list available cells for running
>>> %list_cells
['__first', 'cell1', 'cell2']
Automatically Load Extension
To load extension on IPython start, add this to ~/.ipython/profile_default/ipython_config.py
c.InteractiveShellApp.extensions = [
'ipython_cells'
]
Autoreloading
# load example.py with autoreloading
%load_file example.py
%cell_run cell1
10
# example.py is modified by an external editor (e.g. `a = 10` -> `a = 20`)
# File change is detected and automatically reloaded
%cell_run cell1
20
Auto reloading can be disabled with %load_file example.py --noreload
Cell Delimiter Syntax
Cells are delimited by special comments. Both Jupyter and Spyder style cells are supported. Below are different variations of a cell called foobar_cell.
# %% foobar_cell# In[foobar_cell]# %% foobar_cell some extra text# In[foobar_cell] some extra text
Running Exported Jupyter Notebooks
This extension can run exported Jupyter notebooks. (File > Download As > python (.py)).
Be sure to run all cells before exporting so they are assigned an index. (Cell > Run All).
Tests
cd tests
ipython3 tests.py
Metadata
Release files for ipython-cells 5.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ipython_cells-5.2.2.tar.gz | 45.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ipython_cells-5.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.6 kB
Release files / ipython_cells-5.2.2.tar.gz
| Download URL | ipython_cells-5.2.2.tar.gz |
|---|---|
| Size | 45.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c430d3177a594cef730e88366435e3be4f800c31ca2f173fe6234d4c6b23cf46
|
|
BLAKE2b-256 checksum How to use checksums |
8664d747a23056f779195f901c63b8a108a354af77dca1187fb8a7cd91625795
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.8
|
Release files / ipython_cells-5.2.2-py3-none-any.whl
| Download URL | ipython_cells-5.2.2-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2f5fe6eafe4f4190807d11da06b7a44c16742664c4fc8352b9fbf609a2ba0453
|
|
BLAKE2b-256 checksum How to use checksums |
a2a07ee7894e53aa4222762cfa5181ea758e085b5f47d1293247dff3683d371f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.8
|