{"id":13498843,"url":"https://github.com/widgetti/ipyvolume","last_synced_at":"2025-11-13T22:36:33.944Z","repository":{"id":37244742,"uuid":"77063495","full_name":"widgetti/ipyvolume","owner":"widgetti","description":"3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL","archived":false,"fork":false,"pushed_at":"2023-11-29T14:26:24.000Z","size":76327,"stargazers_count":1961,"open_issues_count":212,"forks_count":233,"subscribers_count":53,"default_branch":"master","last_synced_at":"2025-05-05T13:56:35.899Z","etag":null,"topics":["dataviz","ipython-widget","jupyter","jupyter-notebook","plotting","python","quiver","rendering-3d-volumes","scientific-visualization","threejs","virtual-reality","visualisation","volume-rendering","webgl"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/widgetti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-21T15:30:13.000Z","updated_at":"2025-04-19T04:19:29.000Z","dependencies_parsed_at":"2024-01-16T09:05:28.876Z","dependency_job_id":"3656570f-04d5-41a0-85ca-4ae834bc5149","html_url":"https://github.com/widgetti/ipyvolume","commit_stats":{"total_commits":928,"total_committers":46,"mean_commits":20.17391304347826,"dds":"0.17672413793103448","last_synced_commit":"35b4bd0f3ae3a06b8abd5e3bf10bc07de9ec4aac"},"previous_names":["maartenbreddels/ipyvolume"],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetti%2Fipyvolume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetti%2Fipyvolume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetti%2Fipyvolume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetti%2Fipyvolume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/widgetti","download_url":"https://codeload.github.com/widgetti/ipyvolume/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235695,"owners_count":22036963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataviz","ipython-widget","jupyter","jupyter-notebook","plotting","python","quiver","rendering-3d-volumes","scientific-visualization","threejs","virtual-reality","visualisation","volume-rendering","webgl"],"created_at":"2024-07-31T21:00:45.422Z","updated_at":"2025-11-13T22:36:28.898Z","avatar_url":"https://github.com/widgetti.png","language":"TypeScript","readme":"# ipyvolume\n\n[![Join the chat at https://gitter.im/maartenbreddels/ipyvolume](https://badges.gitter.im/maartenbreddels/ipyvolume.svg)](https://gitter.im/maartenbreddels/ipyvolume?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Documentation](https://readthedocs.org/projects/ipyvolume/badge/?version=latest)](https://ipyvolume.readthedocs.io/en/latest/?badge=latest)\n[![Version](https://img.shields.io/pypi/v/ipyvolume.svg)](https://pypi.python.org/pypi/ipyvolume)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/ipyvolume/badges/downloads.svg)](https://anaconda.org/conda-forge/ipyvolume)\n[![Coverage Status](https://coveralls.io/repos/github/maartenbreddels/ipyvolume/badge.svg)](https://coveralls.io/github/maartenbreddels/ipyvolume)\n[![Build Status](https://travis-ci.org/maartenbreddels/ipyvolume.svg?branch=master)](https://travis-ci.org/maartenbreddels/ipyvolume)\n\nTry out in mybinder: [![Binder](http://mybinder.org/badge.svg)](https://beta.mybinder.org/v2/gh/maartenbreddels/ipyvolume/master?filepath=notebooks/simple.ipynb)\n\n3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL.\n\nIpyvolume currently can\n * Do (multi) volume rendering.\n * Create scatter plots (up to ~1 million glyphs).\n * Create quiver plots (like scatter, but with an arrow pointing in a particular direction).\n * Render isosurfaces.\n * Do lasso mouse selections.\n * Render in the Jupyter notebook, or create a standalone html page (or snippet to embed in your page).\n * Render in stereo, for virtual reality with Google Cardboard.\n * Animate in d3 style, for instance if the x coordinates or color of a scatter plots changes.\n * Animations / sequences, all scatter/quiver plot properties can be a list of arrays, which can represent time snapshots.\n * Stylable (although still basic)\n * Integrates with\n   * [ipywidgets](https://github.com/ipython/ipywidgets) for adding gui controls (sliders, button etc), see an [example at the documentation homepage](http://ipyvolume.readthedocs.io/en/latest/index.html#built-on-ipywidgets)\n   * [bokeh](//bokeh.pydata.org)  by [linking the selection](http://ipyvolume.readthedocs.io/en/latest/bokeh.html)\n   * [bqplot](https://github.com/bloomberg/bqplot) by [linking the selection](http://ipyvolume.readthedocs.io/en/latest/bqplot.html)\n\nIpyvolume will probably, but not yet:\n * Render labels in latex.\n * Show a custom popup on hovering over a glyph.\n\n# Documentation\n\nDocumentation is generated at readthedocs: [![Documentation](https://readthedocs.org/projects/ipyvolume/badge/?version=latest)](https://ipyvolume.readthedocs.io/en/latest/?badge=latest)\n\n# Screencast demos\n\n## Animation\n\n![screencast](https://cloud.githubusercontent.com/assets/1765949/23901444/8d4f26f8-08bd-11e7-81e6-cedad0a8471c.gif)\n\n(see more at [the documentation](https://ipyvolume.readthedocs.io/en/latest/animation.html))\n\n## Volume rendering\n\n![screencast](https://raw.githubusercontent.com/maartenbreddels/ipyvolume/master/misc/screencast.gif)\n\n## Glyphs (quiver plots)\n\n![screencast quiver](https://raw.githubusercontent.com/maartenbreddels/ipyvolume/master/misc/screencast_quiver.gif)\n\n# Installation\n\nIf you want to use Jupyter Lab, please use version 3.0.\n\n## Using pip\n\n*Advice: Make sure you use conda or virtualenv. If you are not a root user and want to use the `--user` argument for pip, you expose the installation to all python environments, which is a bad practice, make sure you know what you are doing.*\n\n```\n$ pip install ipyvolume\n```\n\n## Conda/Anaconda\n\n```\n$ conda install -c conda-forge ipyvolume\n```\n\n\n## Pre-notebook 5.3\n\nIf you are still using an old notebook version, ipyvolume and its dependend extension (widgetsnbextension) need to be enabled manually. If unsure, check which extensions are enabled:\n\n```\n$ jupyter nbextension list\n```\n\nIf not enabled, enable them:\n\n```\n$ jupyter nbextension enable --py --sys-prefix ipyvolume\n$ jupyter nbextension enable --py --sys-prefix widgetsnbextension\n```\n\n## Pip as user: (but really, do not do this)\n\n**You have been warned, do this only if you know what you are doing, this might hunt you in the future, and now is a good time to consider learning virtualenv or conda.**\n\n```\n$ pip install ipyvolume --user\n$ jupyter nbextension enable --py --user ipyvolume\n$ jupyter nbextension enable --py --user widgetsnbextension\n```\n\n\n\n## Developer installation\n\n```\n$ git clone https://github.com/maartenbreddels/ipyvolume.git\n$ cd ipyvolume\n$ pip install -e . notebook jupyterlab\n$ (cd js; npm run build)\n$ jupyter nbextension install --py --overwrite --symlink --sys-prefix ipyvolume\n$ jupyter nbextension enable --py --sys-prefix ipyvolume\n# for jupyterlab (\u003e=3.0), symlink share/jupyter/labextensions/bqplot-image-gl\n$ jupyter labextension develop . --overwrite\n```\n\n\n## Developer workflow\n\n### Jupyter notebook (classical)\n\n*Note: There is never a need to restart the notebook server, nbextensions are picked up after a page reload.*\n\nStart this command:\n```\n$ (cd js; npm run watch)\n```\n\nIt will\n * Watch for changes in the sourcecode and run the typescript compiler for transpilation of the `src` dir to the `lib` dir.\n * Watch the lib dir, and webpack will build (among other things), `ROOT/ipyvolume/static/index.js`.\n\nRefresh the page.\n","funding_links":[],"categories":["Interactive Widgets \u0026 Visualization","TypeScript","3D视觉生成重建","交互式小部件和可视化","🌻 Visualization","jupyter-notebook","Interactive Widgets"],"sub_categories":["资源传输下载","Software tools","Interactive Jupyter Widget Ecosystem"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidgetti%2Fipyvolume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwidgetti%2Fipyvolume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidgetti%2Fipyvolume/lists"}