Python API and Jupyter widget facilitating interactive visualization of spatial single-cell data with Vitessce.
To install with pip:
$ pip install vitessce
Explore our example notebooks. These contain demos of different use cases and integrations with single-cell data analysis packages.
For a development installation (requires NodeJS and NPM),
$ git clone https://github.com/vitessce/vitessce-python.git
$ cd vitessce-python
$ conda env create -f environment.yml
$ conda activate vitessce-jupyter-dev
$ pip install -e .
$ jupyter nbextension install --py --symlink --overwrite --sys-prefix vitessce
$ jupyter nbextension enable --py --sys-prefix vitessce
When actively developing your extension for JupyterLab, run the command:
$ jupyter labextension develop --overwrite vitessce
Then you need to rebuild the JS when you make a code change:
$ cd js
$ npm run build
You then need to refresh the JupyterLab page when your javascript changes.
In this repository, there are multiple conda environments for different purposes:
vitessce-jupyter-dev
(defined in environment.yml) is used for the development of thevitessce
package itselfvitessce-jupyter-examples
(defined in docs/notebooks/environment.yml) is used for running the example notebooks in thedocs/notebooks/
directory (seedocs/notebooks/README.md
for more information)vitessce-jupyter-binder
(defined in binder/environment.yml) is the environment used by Binder upon opening notebooks from this repository
cd tests
python -m unittest
make html
To deploy a new version, increment the version of the Python package in vitessce/_version.py
and the JS package in js/package.json
:
cd js
npm version patch
Then, when you push or merge the code with the incremented versions to master, the GitHub Action deploy.yml
workflow will build and push the packages to PyPI and NPM.
- ipywidget docs: Building a Custom Widget
- ipywidget docs: Low Level Widget Tutorial
- ipywidget example: ipyleaflet
- ipywidget example (with React): ipymaterialui
- ipywidget example (with React): higlass-python
- ipywidget cookiecutter
- Sphinx: Getting Started
- Read the Docs Sphinx Theme
- jupyter server proxy
If you have a specific bug or feature request, please feel free to open an issue. Otherwise our discussions section is a great place to get help or offer it. If you aren't sure if something is a bug or not, don't have all the reproduction steps, or just have a general question, feel free to open a discussion post.