davidesarra
jupyter_spaces
Python

Create parallel namespaces in Jupyter Notebooks

Last updated Feb 13, 2026
30
Stars
6
Forks
5
Issues
0
Stars/day
Attention Score
14
Language breakdown
Python 97.8%
Makefile 2.2%
Files click to expand
README

Jupyter Spaces

codecov Supported Python Versions

Jupyter Spaces is an IPython extension for creating parallel namespaces available within the user namespace. It is designed to be used via IPython magics in Jupyter notebooks.

Installation

pip install jupyter_spaces

jupyter_spaces supports Python versions 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11.

Usage

Load jupyter_spaces extension

%loadext jupyterspaces

Reload jupyter_spaces extension

%reloadext jupyterspaces

Reloading the extension will remove all spaces.

Run a cell within a space

%%space <space-name>
alpha = 0.50
alpha

When you execute a cell within a space, all references are firstly searched in the space namespace and secondly in the user namespace. All assignments are made in the space namespace.

Trying to delete a user namespace reference will raise an error. Trying to affect a user namespace reference using the keyword global will produce an execution equivalent to not using such keyword.

Mutable objects in the user namespace can be altered (e.g. appending an item to a list).

Remove a space

%remove_space <space-name>

Access all spaces at once

You can access all the spaces' namespaces at once without using any magic. This might be useful to jointly post-process or compare the spaces' contents.

from jupyterspaces import getspaces

spaces = get_spaces() space = spaces[<space-name>] reference = space.namespace[<reference-name>]

Space objects have two properties:

  • name the name of the space
  • namespace a dictionary with the namespace of the space
Modifying the spaces via get_spaces will actually modify the underlying spaces.

Acknowledgements

Many thanks to Yeray Diaz Diaz and Karol Duleba!

🔗 More in this category

© 2026 GitRepoTrend · davidesarra/jupyter_spaces · Updated daily from GitHub