Skip to main content

VPython for Jupyter Notebook

Project description

VPython

This package enables one to run VPython in a browser, using the GlowScript VPython API, documented in the Help at https://www.glowscript.org. If the code is in a cell in a Jupyter notebook, the 3D scene appears in the Jupyter notebook. If the code is launched outside a notebook (e.g. from the command line), a browser window will open displaying the scene.

VPython makes it unusually easy to create navigable real-time 3D animations. The one-line program "sphere()" produces a 3D sphere with appropriate lighting and with the camera positioned so that the scene fills the view. It also activates mouse interactions to zoom and rotate the camera view. This implementation of VPython was begun by John Coady in May 2014. Ruth Chabay, Matt Craig, and Bruce Sherwood are assisting in its further development.

Installation

For more detailed instructions on how to install vpython, see https://vpython.org, where you will also find a link to the VPython forum, which is a good place to report issues and to request assistance.

Briefly:

  • If you use the anaconda python distribution, install like this: conda install -c vpython vpython
  • If you use any other python distribution, install this way: pip install vpython

Sample program

Here is a simple example:

from vpython import *
sphere()

This will create a canvas containing a 3D sphere, with mouse and touch controls available to zoom and rotate the camera:

Right button drag or Ctrl-drag to rotate "camera" to view scene.
To zoom, drag with middle button or Alt/Option depressed, or use scroll wheel.
     On a two-button mouse, middle is left + right.
Shift-drag to pan left/right and up/down.
Touch screen: pinch/extend to zoom, swipe or two-finger rotate.

Currently, to re-run a VPython program in a Jupyter notebook you need to click the circular arrow icon to "restart the kernel" and then click the red-highlighted button, then click in the first cell, then click the run icon. Alternatively, if you insert `scene = canvas()`` at the start of your program, you can rerun the program without restarting the kernel.

Run example VPython programs: Binder

Installation for developers from package source

You should install Cython (conda install cython or pip install cython) so that the fast version of the vector class can be generated and compiled. You may also need to install a compiler (command line tools on Mac, community edition on Visual Studio on Windows).

If you don't have a compilier vpython should still work, but code that generates a lot of vectors may run a little slower.

To install vpython from source run this command from the source directory after you have downloaded it:

pip install -e .

The -e option installs the code with symbolic links so that change you make show up without needing to reinstall.

If you also need the JupyterLab extension, please see the instructions in the labextension folder.

vpython build status (for the vpython developers)

Build Status Build status

Working with the source code

Here is an overview of the software architecture:

https://vpython.org/contents/VPythonArchitecture.pdf

The vpython module uses the GlowScript library (vpython/vpython_libraries/glow.min.js). The GlowScript repository is here:

https://github.com/vpython/glowscript

In the GlowScript repository's docs folder, GlowScriptOverview.txt provides more details on the GlowScript architecture.

Here is information on how to run GlowScript VPython locally, which makes possible testing changes to the GlowScript library:

https://www.glowscript.org/docs/GlowScriptDocs/local.html

If you execute build_original_no_overload.py, and change the statement "if True:" to "if False", you will generate into the ForInstalledPython folder an un-minified glow.min.js which can be copied to site-packages/vpython/vpython_libraries and tested by running your test in (say) idle or spyder. (Running in Jupyter notebook or Jupyterlab requires additional fiddling.)

Note that in site-packages/vpython/vpython_libraries it is glowcomm.html that is used by launchers such as idle or spyder; glowcomm.js is used with Jupyter notebook (and a modified version is used in Jupyterlab).

Placing console.log(....) statements in the GlowScript code or in the JavaScript section of glowcomm.html can be useful in debugging. You may also need to put debugging statements into site-packages/vpython/vpython.py.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vpython-7.6.2rc5.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

vpython-7.6.2rc5-cp38-cp38-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.8Windows x86-64

vpython-7.6.2rc5-cp38-cp38-manylinux1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8

vpython-7.6.2rc5-cp38-cp38-macosx_10_14_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

vpython-7.6.2rc5-cp37-cp37m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

vpython-7.6.2rc5-cp37-cp37m-manylinux1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.7m

vpython-7.6.2rc5-cp37-cp37m-macosx_10_14_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

vpython-7.6.2rc5-cp36-cp36m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.6mWindows x86-64

vpython-7.6.2rc5-cp36-cp36m-manylinux1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.6m

vpython-7.6.2rc5-cp36-cp36m-macosx_10_14_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

File details

Details for the file vpython-7.6.2rc5.tar.gz.

File metadata

  • Download URL: vpython-7.6.2rc5.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for vpython-7.6.2rc5.tar.gz
Algorithm Hash digest
SHA256 881f3ea7d6b61e606435605029d00bd482394bbb6fed70008a32c46e3abe2de4
MD5 023023e635c266bfc1d6dc8500a42d23
BLAKE2b-256 771f7bf431bb17b598e2c48836b4fb029beb33e66ed832eefed7299301c97827

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for vpython-7.6.2rc5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 653b6ca409ff44531b139007350c8a1c899085318c98928a656e44e90a337bb4
MD5 9a4fc53bd7e7d401c6d37c1744d77bb3
BLAKE2b-256 8a8baf494b6a890ca670d07f14e9f3e705ee320818825464941bd0e2886ea883

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for vpython-7.6.2rc5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dd8e3fdc120e076bb88d80de848c42a7cca38f41464975704b4204fba445fcb8
MD5 f44db477750bbf96b88e2c7df3f0a5ea
BLAKE2b-256 63a497c9d5d9f31cdc9c8441d3cf9a77ea30dd1903730924bfec43c2ee60cc52

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for vpython-7.6.2rc5-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a489a3f312ce3f6d73613f075221d80978a7741e9e54aa52c4a9d380a82a28e1
MD5 11499ff78362ad407818409b6450d8d8
BLAKE2b-256 3e2e9eba0529330d8a29e7cff44f7d95bc566cd39078d3462c4c4b8aaf6a1cb5

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for vpython-7.6.2rc5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 11c28aea197bca29b851fe18dad5a158d148cacf8cbd4cde50b4f5ff3976465f
MD5 d4dd2975e0c0ea66a1f5d5d5375712e0
BLAKE2b-256 0fde4f3ce178f91e6b544b982029a5752366c0c93fb5ba5c68f3d547e6342a17

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for vpython-7.6.2rc5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b433486a3a49306139af90815e762395b8bd74fcd11c1ac596563d728730e624
MD5 9c8172f3f937bd726b31c4412082d2ae
BLAKE2b-256 c5e5a68cee2228bbd7322f6aa98a77926d5bc057763ed7f30c8e627e5eb04436

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for vpython-7.6.2rc5-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 74bde3e49a1307f7e97982e7b82b124c0b1a47c1d44db00e252db863c039b640
MD5 263b30fbe2925d4d7bef81f89e42f9f2
BLAKE2b-256 b40eaf75e9cb9ef7ed426a2f6d835458276cfe2ca294635b725978e3936ce5fc

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.8

File hashes

Hashes for vpython-7.6.2rc5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 17b14ef7a217859251569db6b98e7fc23727b6eed305326162c1677e563cb00d
MD5 6d7ffbcdcfa6ac872358c2f04c4b3d3b
BLAKE2b-256 bbf48329b31ca444d2b960f9ac099ddabb594ac52e027333d87df02dc48c8fbe

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for vpython-7.6.2rc5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 54206514196d77e2bf902d2e1c75414cb11d26d439a9dd99ec6f637ace73981c
MD5 35fdbbad4523b0005a70570fe1f724e1
BLAKE2b-256 2cbef0c72798dc05efadc878a078b071a5b069c86ad502dd9a7440ad0f40def0

See more details on using hashes here.

File details

Details for the file vpython-7.6.2rc5-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.2rc5-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.12

File hashes

Hashes for vpython-7.6.2rc5-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2253a068d02353efed148fa1c285ddd487dc662a3e7a6924978b5526277c8af6
MD5 cb98bc258630d0f2bf8f4e8f5fb6f72b
BLAKE2b-256 67d6caf230d81bb8615f1c8223892334cfd3d489984ca583800b6e33cd9f6ec1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page