Jupyter-like cell running in ipython
Project description
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
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
File details
Details for the file ipython_cells-5.2.0.tar.gz
.
File metadata
- Download URL: ipython_cells-5.2.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2008c411c8fbffae2cd6baed3994b778e54ec8a0968e9fae59bf1ceba84d896 |
|
MD5 | af8a332d7d949fa8bc7c42158dc2a22b |
|
BLAKE2b-256 | 1e71d46741dd38ec1abd43c2dd869287dc5532d7410ef19f815066ed143fcc79 |