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

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.5.1a5.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

vpython-7.5.1a5-py3.7-linux-x86_64.egg (3.8 MB view details)

Uploaded Egg

vpython-7.5.1a5-cp37-cp37m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

vpython-7.5.1a5-cp37-cp37m-win32.whl (3.6 MB view details)

Uploaded CPython 3.7mWindows x86

vpython-7.5.1a5-cp37-cp37m-macosx_10_7_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.7mmacOS 10.7+ x86-64

vpython-7.5.1a5-cp36-cp36m-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.6mWindows x86-64

vpython-7.5.1a5-cp36-cp36m-win32.whl (3.6 MB view details)

Uploaded CPython 3.6mWindows x86

vpython-7.5.1a5-cp36-cp36m-macosx_10_7_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.6mmacOS 10.7+ x86-64

File details

Details for the file vpython-7.5.1a5.tar.gz.

File metadata

  • Download URL: vpython-7.5.1a5.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for vpython-7.5.1a5.tar.gz
Algorithm Hash digest
SHA256 65ed47fe37cbd8327ea61bd5628d84410b56ddfd146cfea4c21147ac84be5d9d
MD5 927b7dbe75d762ee63dcffe7e82851a9
BLAKE2b-256 6383f7e502585895f582c754cd41c350623af92eb2bf287ff87a87961d35d4b9

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-py3.7-linux-x86_64.egg.

File metadata

  • Download URL: vpython-7.5.1a5-py3.7-linux-x86_64.egg
  • Upload date:
  • Size: 3.8 MB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for vpython-7.5.1a5-py3.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 7312764bfb39d39701d8cc1dd62009ee034536bbb61a94e4836de7e7c165b9c3
MD5 3b8e824542a02160211f423c67476e83
BLAKE2b-256 3a26cc0d425504ef7a3da1d3f1458aeac2bd8507ed6f8883c7fff8ff21dc2c57

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.5.1a5-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/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.1

File hashes

Hashes for vpython-7.5.1a5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3fa72cb238fde93c5e1dd50bf409836bd80111d7082f61b7d303c75546201c4d
MD5 925b4d6752d2753e56731be2954eba3b
BLAKE2b-256 f873b6c5393224fa50dfcbd95e269aabe0aca8f7a1c4b42f459132e0f555f612

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-cp37-cp37m-win32.whl.

File metadata

  • Download URL: vpython-7.5.1a5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.1

File hashes

Hashes for vpython-7.5.1a5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 15ec9927760a4402d120aacaac61f4aa92fcfa6c45a1297e0f26c91a8e5bc9e5
MD5 5a8e5b3a68505eb28f84f85d34ef9e35
BLAKE2b-256 78cd9f5379bd78114d10de7da6588bc529f8d93e2260bdd4a7c59a25c9dd5580

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: vpython-7.5.1a5-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for vpython-7.5.1a5-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9ded4de844759d58f5cd4ccea32f89d7cb4ffe4015fd946f4515e2feca0a5bdc
MD5 47dea84ea62953c1a266a73a41c36ebc
BLAKE2b-256 7d27cf12fc44d0cd51f0ded4449700a8b82ea80bce56432b45f6bd5f09c6069f

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.5.1a5-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/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for vpython-7.5.1a5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f1f79adec46f3bd0623ecc763727ec526cc05c8a61d3fde71a6e2b63c430bb20
MD5 e29eacc73213e5b6c20c89f112760dd4
BLAKE2b-256 7b03093bb0f137b6576c16cd4b74a9b1615870aa4b28d1583f932d8fd62d9a23

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-cp36-cp36m-win32.whl.

File metadata

  • Download URL: vpython-7.5.1a5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for vpython-7.5.1a5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 61b62cad41058a43117374f806ea68984bf77a2146fcd00cba25433d1682214c
MD5 0b088dd27ca7e85738d10f7c2d49602f
BLAKE2b-256 912bea15a76f3f91a1ba890fe2c42a2ef188f1cccf969bd94073febbd3631db3

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a5-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: vpython-7.5.1a5-cp36-cp36m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for vpython-7.5.1a5-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 8dc0c58d9a7e06c26895d46ad41ee1ae8e3652576277ec3497b8b83d247cf911
MD5 f74e7b76b1142bbe36c113ccff15e805
BLAKE2b-256 e89ef08a0700d7c88fa0d7dffbaf320f3e8b0e385aba042c8337cbeb813ac93e

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