ipyvolume
3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 45 committers (2.2%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.0%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL
Basic Info
Statistics
- Stars: 1,961
- Watchers: 54
- Forks: 233
- Open Issues: 212
- Releases: 0
Topics
Metadata Files
README.md
ipyvolume
3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL.
Ipyvolume currently can * Do (multi) volume rendering. * Create scatter plots (up to ~1 million glyphs). * Create quiver plots (like scatter, but with an arrow pointing in a particular direction). * Render isosurfaces. * Do lasso mouse selections. * Render in the Jupyter notebook, or create a standalone html page (or snippet to embed in your page). * Render in stereo, for virtual reality with Google Cardboard. * Animate in d3 style, for instance if the x coordinates or color of a scatter plots changes. * Animations / sequences, all scatter/quiver plot properties can be a list of arrays, which can represent time snapshots. * Stylable (although still basic) * Integrates with * ipywidgets for adding gui controls (sliders, button etc), see an example at the documentation homepage * bokeh by linking the selection * bqplot by linking the selection
Ipyvolume will probably, but not yet: * Render labels in latex. * Show a custom popup on hovering over a glyph.
Documentation
Documentation is generated at readthedocs:
Screencast demos
Animation

(see more at the documentation)
Volume rendering

Glyphs (quiver plots)

Installation
If you want to use Jupyter Lab, please use version 3.0.
Using pip
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.
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume
Pre-notebook 5.3
If 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:
$ jupyter nbextension list
If not enabled, enable them:
$ jupyter nbextension enable --py --sys-prefix ipyvolume
$ jupyter nbextension enable --py --sys-prefix widgetsnbextension
Pip as user: (but really, do not do this)
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.
$ pip install ipyvolume --user
$ jupyter nbextension enable --py --user ipyvolume
$ jupyter nbextension enable --py --user widgetsnbextension
Developer installation
``` $ git clone https://github.com/maartenbreddels/ipyvolume.git $ cd ipyvolume $ pip install -e . notebook jupyterlab $ (cd js; npm run build) $ jupyter nbextension install --py --overwrite --symlink --sys-prefix ipyvolume $ jupyter nbextension enable --py --sys-prefix ipyvolume
for jupyterlab (>=3.0), symlink share/jupyter/labextensions/bqplot-image-gl
$ jupyter labextension develop . --overwrite ```
Developer workflow
Jupyter notebook (classical)
Note: There is never a need to restart the notebook server, nbextensions are picked up after a page reload.
Start this command:
$ (cd js; npm run watch)
It will
* Watch for changes in the sourcecode and run the typescript compiler for transpilation of the src dir to the lib dir.
* Watch the lib dir, and webpack will build (among other things), ROOT/ipyvolume/static/index.js.
Refresh the page.
Owner
- Name: widgetti
- Login: widgetti
- Kind: organization
- Website: http://widgetti.io/
- Repositories: 12
- Profile: https://github.com/widgetti
GitHub Events
Total
- Issues event: 1
- Watch event: 30
- Issue comment event: 7
- Pull request event: 2
- Fork event: 5
Last Year
- Issues event: 1
- Watch event: 30
- Issue comment event: 7
- Pull request event: 2
- Fork event: 5
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| maartenbreddels | m****s@g****m | 804 |
| GenevieveBuckley | 3****y | 24 |
| Arbona | j****a@g****m | 20 |
| Casper van Leeuwen | c****n@s****l | 11 |
| Chris Sewell | c****l@h****m | 6 |
| Guillaume Gay | g****e@d****m | 6 |
| Oleh Kozynets | O****S | 6 |
| Jeremy Tuloup | j****p@g****m | 4 |
| Satrajit Ghosh | s****h@g****m | 3 |
| Matthias Geier | M****r@g****m | 3 |
| Angus Hollands | g****5@g****m | 3 |
| Sylvain Corlay | s****y@g****m | 2 |
| Oliver Evans | o****6@g****m | 2 |
| Chris Holdgraf | c****f@g****m | 2 |
| rpanai | r****i@s****t | 2 |
| Jean-Rémi KING | j****g@g****m | 1 |
| Josh Meyers | j****4@g****m | 1 |
| Karthikeyan Singaravelan | t****i@g****m | 1 |
| Kevin Mader | k****r | 1 |
| Marc Garcia | g****c@g****m | 1 |
| Mathieu | m****1 | 1 |
| Matt McCormick | m****k@k****m | 1 |
| Todd | t****8@g****m | 1 |
| Vidar Tonaas Fauske | v****f@g****m | 1 |
| WANG Aiyong | g****y@g****m | 1 |
| Wolf Vollprecht | w****t@g****m | 1 |
| asmith26 | a****6 | 1 |
| martinRenou | m****u@g****m | 1 |
| mpu-creare | m****e | 1 |
| stonebig | s****4@g****m | 1 |
| and 15 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 68
- Total pull requests: 46
- Average time to close issues: 8 months
- Average time to close pull requests: 3 months
- Total issue authors: 61
- Total pull request authors: 24
- Average comments per issue: 3.07
- Average comments per pull request: 2.98
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.5
- Average comments per pull request: 1.5
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- notEvil (3)
- juanbolso (2)
- patquem (2)
- GenevieveBuckley (2)
- Carifio24 (2)
- MarcSkovMadsen (2)
- Hackathorn (1)
- matemato (1)
- ShuvamGupta (1)
- nathalie29856 (1)
- rickvanhoof (1)
- spigelli (1)
- alvaro-luque (1)
- MattiasOlla (1)
- Thomzoy (1)
Pull Request Authors
- maartenbreddels (17)
- GenevieveBuckley (4)
- jtpio (2)
- zed (2)
- jeammimi (2)
- flokli (2)
- rinftech-github (2)
- rafique (1)
- iisakkirotko (1)
- TimoFriedri (1)
- tmcaloone (1)
- rpanai (1)
- mgeier (1)
- scottdraves (1)
- 0xflotus (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 4
- Total dependent repositories: 77
- Total versions: 16
conda-forge.org: ipyvolume
- Homepage: https://github.com/widgetti/ipyvolume
- License: MIT
-
Latest release: 0.5.2
published over 6 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- actions/download-artifact v2 composite
- actions/setup-node v1 composite
- actions/setup-python v2 composite
- actions/upload-artifact v2 composite
- ifaxity/wait-on-action v1 composite
- mamba-org/provision-with-micromamba main composite
- actions/checkout v2 composite
- actions/setup-node v1 composite
- actions/setup-python v2 composite
- nodejs
- 1253 dependencies
- @jupyterlab/builder ^3.0.0 development
- @types/chai ^4.1.4 development
- @types/d3 ^5.7.2 development
- @types/expect.js ^0.3.29 development
- @types/mocha ^2.2.48 development
- @types/node ^12.0.2 development
- @types/requirejs ^2.1.31 development
- @types/three ^0.93.4 development
- bqplot ^0.5.0 development
- chai ^4.1.2 development
- eslint ^5.13.0 development
- eslint-config-standard ^12.0.0 development
- eslint-plugin-import ^2.16.0 development
- eslint-plugin-node ^8.0.1 development
- eslint-plugin-promise ^4.0.1 development
- eslint-plugin-standard ^4.0.0 development
- json-loader ^0.5.4 development
- jupyter-threejs ^2.3.0 development
- karma ^4.0.0 development
- karma-chai ^0.1.0 development
- karma-chrome-launcher ^2.0.0 development
- karma-mocha ^1.3.0 development
- karma-mocha-reporter ^2.2.5 development
- karma-sinon ^1.0.5 development
- karma-sourcemap-loader ^0.3.7 development
- karma-webpack ^3.0.5 development
- mocha ^3.5.3 development
- npm-run-all ^4.1.3 development
- raw-loader ~3.0.0 development
- sinon ^2.4.1 development
- sinon-chai ^2.11.0 development
- source-map-loader ^0.2.4 development
- typescript ^3.5.2 development
- url-loader ^0.5.7 development
- webpack ^4.29.1 development
- webpack-cli ^3.2.3 development
- @jupyter-widgets/base ^1 || ^2.0.2 || ^3 || ^4 || ^5 || ^6
- @jupyter-widgets/controls ^1 || ^2
- css-loader ^0.28.4
- d3 ^5.7.0
- gl-matrix ^2.0.0
- is-typedarray ~1.0.0
- jquery ^3.1.1
- jslink ^1.1.3
- lodash ^4.17.15
- mustache ^2.3.1
- ndarray ~1.0.18
- ndarray-pack ^1.2.1
- screenfull ^3.3.1
- style-loader ^0.18.2
- three ^0.97.0
- three-text2d ~0.4.1
- tslint ^5.20.0
- underscore ^1.8.3
- webrtc-adapter ^4.2.2
- json-loader ^0.5.4 development
- raw-loader ^0.5.1 development
- url-loader ^0.5.7 development
- webpack ^1.12.14 development
- @jupyter-widgets/jupyterlab-manager ^0.28.0
- ipyvolume ~0.4.0
- @jupyterlab/galata 3.0.11-2
- klaw-sync ^6.0.0
- rimraf ^3.0.2
- 607 dependencies
- Pillow *
- bokeh *
- corner *
- docutils ==0.17.1
- emcee *
- ipython_genutils *
- ipyvolume ==0.6.0a10
- ipywebrtc *
- ipywidgets >=7.4.0
- jupyter_sphinx ==0.1.4
- matplotlib ==3.1.1
- nbclient fix_update_widget_buffers
- nbconvert fix_closing_script_early
- nbsphinx fix_closing_script_early
- recommonmark *
- requests *
- scipy *
- sphinx_gallery *
- traitlets *
- traittypes *
- vaex-core *
- vaex-hdf5 *
- vaex-ml *
- vaex-viz *
- Pillow *
- bqplot *
- ipyvue >=1.7.0
- ipyvuetify *
- ipywebrtc *
- ipywidgets >=7.0.0
- matplotlib *
- numpy *
- pythreejs >=2.4.0
- requests *
- traitlets *
- traittypes *