Skip to main content

vitessce-python

PyPI docs

Binder Open In Colab Open in molab

Python API and Jupyter widget facilitating interactive visualization of spatial single-cell data with Vitessce.

Installation

To install with pip:

$ pip install 'vitessce[all]'

Getting started

Explore our example notebooks. These contain demos of different use cases and integrations with single-cell data analysis packages.

Development

For a development installation (requires NodeJS and NPM),

$ git clone https://github.com/vitessce/vitessce-python.git
$ cd vitessce-python
$ uv sync --extra dev --extra docs --extra all

Alternatively, use conda:

$ conda create -n vitessce-dev python=3.12
$ conda activate vitessce-dev
$ pip install -e ".[dev,docs,all]"

Troubleshooting SpatialQuery installation on macOS:

$ # Use the macOS clang instead of from homebrew.
$ CC=/usr/bin/clang CXX=/usr/bin/clang++ pip install -e ".[dev,docs,all,sq]"

Linting and testing

uv run flake8
uv run pytest

Formatting

One file:

uv run autopep8 --in-place --aggressive ./path/to/file.py

All .py files:

find . -name '*.py' -exec uv run autopep8 --in-place --aggressive '{}' \;

Documentation

uv run make html

Deployment

To deploy a new version, increment the version of the Python package in pyproject.toml.

Then, when you push or merge the code with the incremented versions to main, the GitHub Action deploy.yml workflow will build and push the package to PyPI.

Troubleshooting

Check JavaScript console

Check the JavaScript console in the web browser for error messages. To do so, shift+right click in Jupyter, then click Inspect element. You may need to enable your browser's develop mode in its preferences for this option to appear when you right-click.

Check your Python environment

Check that you have activated the correct conda or other virtual environment as you expect. When sharing errors, it can be helpful to share the current versions of packages in the environment, e.g., by conda list or pip list.

Restart Kernel and Clear All Outputs, then refresh the browser tab

To ensure that older widget JavaScript output is not causing conflicts with newer JavaScript output (which may persist via notebook outputs even without running notebook cells), clear old outputs by Kernel -> Restart Kernel and Clear All Outputs. Then refresh the browser tab (containing Jupyter) to ensure all JavaScript outputs are fresh.

This is also typically required when running !pip install vitessce[all] from within a Jupyter notebook cell in the same session as running vc.widget() for the first time. The Kernel restart/Output clearing is required when a new Jupyter widget is installed in the environment, otherwise Jupyter will not yet recognize the newly-installed widget (as the notebook was opened with a different set of Jupyter widgets installed, and widget discovery is performed only at certain stages in the notebook lifecycle).

Check the widget configuration

If the widget renders successfully, you can get its current configuration by

vw = vc.widget()
vw
vw.config

Usage when Jupyter is running on a remote machine

If Jupyter is running on a remote machine, then use proxy=True. You may need to specify host_name as well (widget should be able to detect this but the plain display cannot).

vw = vc.widget(proxy=True)
vw

or

vc.display(proxy=True, host_name="http://localhost:8888")

For more information see the data location options documentation.

Ensure that Vitessce and Jupyter are installed in the same environment

With the environment activated, run pip list on the command line:

Package                       Version
----------------------------- -----------
...
jupyterlab                    3.x.x
...
vitessce                      3.x.x

Resources

Getting/Offering Help

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.

Metadata

Release files for vitessce 3.9.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vitessce 3.9.8
File Size Uploaded Provenance Actions
vitessce-3.9.8.tar.gz 262.7 kB Without provenance Details for vitessce-3.9.8.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vitessce 3.9.8
File Interpreter ABI Platform Actions
vitessce-3.9.8-py3-none-any.whl Python 3 none any Details for vitessce-3.9.8-py3-none-any.whl

Total release size: 349.7 kB

Release files / vitessce-3.9.8.tar.gz

Download URL vitessce-3.9.8.tar.gz
Size 262.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2c04c7ea54c3b6a4c265cce9a42562d4fdf31b9f817a08a0fb62eebfd6190907
BLAKE2b-256 checksum
How to use checksums
f1e62f62b37233899c0902b0c10c7c3534b0f49e015888d3b4822cabc3a774e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / vitessce-3.9.8-py3-none-any.whl

Download URL vitessce-3.9.8-py3-none-any.whl
Size 87.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a83e1e93b74d4a18d7f05fc5017610077dcd928fc63ecffe9650a73279f6a54
BLAKE2b-256 checksum
How to use checksums
98b16ba64bc9b4a91e9a9defa739d1ada6014e230ae6c3974037ce8a4400ab01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for vitessce 3.9.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.9.8 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page