Content management extensions for Jupyter / IPython Notebook.
The content management extensions provide the following:
- Search dialog on dashboard, editor, and notebook screens to search over filenames and
.ipynb
content in the notebook directory - IPython kernel extension to make Python notebooks reusable as modules and cookbooks (see the cookbooks tutorial)
- Full-page drag-and-drop upload target
- Pop-over table of contents navigation for notebooks
- Jupyter Notebook >=4.2 running on Python 3.x or Python 2.7.x
- Edge, Chrome, Firefox, or Safari
The following steps install the extension package using pip
and enable the
extension in the active Python environment.
pip install jupyter_cms
jupyter cms quick-setup --sys-prefix
Run jupyter cms quick-setup --help
for other options. Note that the
second command is a shortcut for the following:
jupyter serverextension enable --py jupyter_cms --sys-prefix
jupyter nbextension install --py jupyter_cms --sys-prefix
jupyter nbextension enable --py jupyter_cms --sys-prefix
Alternatively, the following command both installs and enables the package
using conda
.
conda install jupyter_cms -c conda-forge
In either case, you will need to restart your notebook server if it was running during the enable/activate step.
The following steps deactivate the extension in the active Python environment
and uninstall the package using pip
.
jupyter cms quick-remove --sys-prefix
pip uninstall jupyter_cms
Note that the first command is a shortcut for the following:
jupyter nbextension disable --py jupyter_cms --sys-prefix
jupyter nbextension uninstall --py jupyter_cms --sys-prefix
jupyter serverextension disable --py jupyter_cms --sys-prefix
The following command deactivates and uninstalls the package if it was
installed using conda
.
conda remove jupyter_cms
This extension used to support bundlers. That functionality has graduated and is available in Jupyter Notebook >=5.0. See Custom bundler extensions in the documentation for more information.
If you cannot upgrade to notebook>=5.0 and need bundler support, install a version of this extension prior to 0.7.0.
This repository is setup for a conda-based development environment. These
instructions assume that have you installed conda
.
# clone this repo if you don't have it
git clone https://github.com/jupyter-incubator/contentmanagement.git
cd contentmanagement
# create a `cms` conda environment
make env
# run unit tests
make test
# run a notebook server with the extension installed
make notebook
# build a source package
make sdist
# release the source package on pypi
make release
# remove built artifacts
make clean
# remove build artifacts and cms environment
make nuke
- Importing notebooks as modules does work with ipyparallel, but not with its
sync_imports
context manager. See the solution and explanation in issue #32.