widgyts

widgyts: Custom Jupyter Widgets for Interactive Data Exploration with yt - Published in JOSS (2020)

https://github.com/yt-project/widgyts

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    2 of 10 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords from Contributors

download-manager fatiando-a-terra ftp scipy-stack dynamics colormaps utility-functions astronomy
Last synced: 7 months ago · JSON representation

Repository

Widgets for yt

Basic Info
Statistics
  • Stars: 10
  • Watchers: 5
  • Forks: 11
  • Open Issues: 18
  • Releases: 0
Created about 8 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License

README.md

widgyts

Documentation
Status codecov status DOI

A fully client-side pan-and-zoom widget, using WebAssembly, for variable mesh datasets from yt. It runs in the browser, so once the data hits your notebook, it's super fast and responsive!

If you'd like to dig into the Rust and WebAssembly portion of the code, you can find it at https://github.com/data-exp-lab/rust-yt-tools/ and in the npm package @data-exp-lab/yt-tools.

Check out our SciPy 2018 talk and the associated slides for more info!

Documentation

Our documentation is hosted at readthedocs. Take a look here.

Installation

To install using pip from the most recent released version:

$ pip install widgyts

To install using pip from this directory:

$ git clone https://github.com/yt-project/widgyts.git
$ cd widgyts
$ pip install .

Development installation

The following assumes you're using conda. If not, you'll need to install nodejs in your environemnt separately.

bash conda create -n widgyts-dev -c conda-forge nodejs python=3.10 jupyterlab=4 conda activate widgyts-dev

Install the python. This will also build the TS package. bash pip install -e .

When developing your extensions, you need to manually enable your extensions with the notebook / lab frontend. For lab, this is done by the command:

jupyter labextension develop --overwrite . jlpm run build

Note that jupyterlab provides jlpm, a jupyter-flavored version of yarn, provided by jupyterlab.

How to see your changes

Typescript:

If you use JupyterLab to develop then you can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the widget.

```bash

Watch the source directory in one terminal, automatically rebuilding when needed

jlpm run watch

Run JupyterLab in another terminal

jupyter lab ```

After a change wait for the build to finish and then refresh your browser and the changes should take effect.

Python:

If you make a change to the python code then you will need to restart the notebook kernel to have it take effect.

Using

To use this, you will need to have yt installed. Importing it monkeypatches the Slice and Projection objects, so you are now able to do:

```

!python

import yt import widgyts

ds = yt.load("data/IsolatedGalaxy/galaxy0030/galaxy0030") s = ds.r[:,:,0.5] s.display("density") ```

and for a projection:

```

!python

ds = yt.load("data/IsolatedGalaxy/galaxy0030/galaxy0030") p = ds.r[:].integrate("density", axis="x") p.display() ```

There are a number of traits you can set on the resultant objects, as well.

Owner

  • Name: The yt project
  • Login: yt-project
  • Kind: organization
  • Email: yt-users@python.org

A toolkit for analysis and visualization of volumetric data

GitHub Events

Total
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 15
  • Pull request review comment event: 1
  • Pull request review event: 2
  • Pull request event: 23
Last Year
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 15
  • Pull request review comment event: 1
  • Pull request review event: 2
  • Pull request event: 23

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 387
  • Total Committers: 10
  • Avg Commits per committer: 38.7
  • Development Distribution Score (DDS): 0.455
Past Year
  • Commits: 36
  • Committers: 4
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.417
Top Committers
Name Email Commits
Matthew Turk m****k@g****m 211
Madicken Munk m****k@g****m 110
pre-commit-ci[bot] 6****] 25
chavlin c****n@g****m 21
xiaotong x****9@i****u 12
vasu v****y@g****m 2
Nate Claussen n****2@i****u 2
Kacper Kowalik (Xarthisius) x****k@g****m 2
Kristen Thyng k****g@g****m 1
Clément Robert c****2@p****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 34
  • Total pull requests: 96
  • Average time to close issues: 11 months
  • Average time to close pull requests: 22 days
  • Total issue authors: 7
  • Total pull request authors: 11
  • Average comments per issue: 0.85
  • Average comments per pull request: 0.85
  • Merged pull requests: 86
  • Bot issues: 1
  • Bot pull requests: 23
Past Year
  • Issues: 5
  • Pull requests: 23
  • Average time to close issues: 1 day
  • Average time to close pull requests: 3 days
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.6
  • Average comments per pull request: 0.26
  • Merged pull requests: 21
  • Bot issues: 1
  • Bot pull requests: 16
Top Authors
Issue Authors
  • matthewturk (16)
  • munkm (10)
  • chrishavlin (3)
  • psychemedia (1)
  • cphyc (1)
  • harpolea (1)
Pull Request Authors
  • matthewturk (42)
  • pre-commit-ci[bot] (25)
  • munkm (17)
  • chrishavlin (9)
  • coconutcc (4)
  • vasu26 (2)
  • Xarthisius (2)
  • neutrinoceros (2)
  • kthyng (1)
  • dependabot[bot] (1)
  • Nathanael-Claussen (1)
Top Labels
Issue Labels
enhancement (2) dependencies (1)
Pull Request Labels
dependencies (3) python (1)

Packages

  • Total packages: 2
  • Total downloads:
    • npm 3 last-month
    • pypi 13 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 7
  • Total maintainers: 3
npmjs.org: @yt-project/yt-widgets

A Custom Jupyter Widget Library for Interactive Visualization with yt

  • Versions: 3
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 3 Last month
Rankings
Forks count: 8.3%
Stargazers count: 12.5%
Dependent packages count: 16.2%
Average: 19.3%
Dependent repos count: 25.3%
Downloads: 34.0%
Maintainers (2)
Last synced: 7 months ago
pypi.org: widgyts

A Custom Jupyter Widget Library for Interactive Visualization with yt

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 13 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 10.9%
Stargazers count: 17.1%
Dependent repos count: 21.6%
Average: 25.8%
Downloads: 69.4%
Maintainers (2)
Last synced: 7 months ago

Dependencies

docs/environment.yml conda
  • ipydatawidgets
  • ipykernel
  • ipywidgets
  • jinja2
  • jupyter_sphinx
  • nbformat
  • nbsphinx
  • notebook >=4.2
  • python 3.6.*
  • python-dateutil
  • recommonmark
  • sphinx >=1.4.6
  • sphinx_rtd_theme
  • tornado
package.json npm
  • @jupyterlab/builder ^3.0.0 development
  • @phosphor/application ^1.6.0 development
  • @phosphor/widgets ^1.6.0 development
  • @types/expect.js ^0.3.29 development
  • @types/mocha ^5.2.5 development
  • @types/node ^10.11.6 development
  • @types/webpack-env ^1.13.6 development
  • @typescript-eslint/eslint-plugin ^3.6.0 development
  • @typescript-eslint/parser ^3.6.0 development
  • acorn ^7.2.0 development
  • css-loader ^3.2.0 development
  • eslint ^7.4.0 development
  • eslint-config-prettier ^6.11.0 development
  • eslint-plugin-prettier ^3.1.4 development
  • expect.js ^0.3.1 development
  • fs-extra ^7.0.0 development
  • karma ^3.1.0 development
  • karma-chrome-launcher ^2.2.0 development
  • karma-firefox-launcher ^1.1.0 development
  • karma-ie-launcher ^1.0.0 development
  • karma-mocha ^1.3.0 development
  • karma-mocha-reporter ^2.2.5 development
  • karma-typescript ^5.0.3 development
  • karma-typescript-es6-transform ^5.0.3 development
  • mkdirp ^0.5.1 development
  • mocha ^5.2.0 development
  • npm-run-all ^4.1.3 development
  • prettier ^2.0.5 development
  • rimraf ^2.6.2 development
  • source-map-loader ^0.2.4 development
  • style-loader ^1.0.0 development
  • ts-loader ^5.2.1 development
  • typescript ^4.1.3 development
  • webpack ^4.20.2 development
  • webpack-cli ^3.1.2 development
  • @data-exp-lab/yt-tools ^0.4.1
  • @jupyter-widgets/base ^1.1.10 || ^2 || ^3 || ^4
  • @jupyterlab/application ^3.0.4
  • @jupyterlab/coreutils ^5.0.2
  • @jupyterlab/mainmenu ^3.0.3
  • @jupyterlab/services ^6.0.3
  • @types/node ^10.11.6
  • ipycanvas ^0.8.2
docs/requirements.txt pypi
  • ipydatawidgets >=3.2.0
  • ipykernel *
  • ipywidgets >=7.1.0rc1
  • jupyter_client *
  • jupyter_sphinx *
  • nbsphinx >=0.2.13
  • recommonmark ==0.4.0
  • sphinx >=1.4.6
  • sphinx_rtd_theme *
  • yt *
tests/lint_requirements.txt pypi
  • black ==19.10b0
  • flake8 ==3.8.1
  • flake8-bugbear *
  • flynt ==0.52
  • isort ==5.6.4
  • mccabe *
  • pycodestyle *
  • pyflakes *
tests/test_requirements.txt pypi
  • ipydatawidgets >=3.2.0
  • ipywidgets >=7.0.0
  • matplotlib >=3.1.3
  • unyt *
  • yt >=4.0.3
.github/workflows/build.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v1 composite
  • actions/setup-python v2 composite
.github/workflows/publish-to-pypi.yml actions
  • actions/checkout master composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite