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

Uploaded Source

Built Distributions

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

Uploaded Egg

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mWindows x86

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

Uploaded CPython 3.7mmacOS 10.7+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mWindows x86

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

Uploaded CPython 3.6mmacOS 10.7+ x86-64

vpython-7.5.1a4-cp35-cp35m-macosx_10_6_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.5mmacOS 10.6+ x86-64

File details

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

File metadata

  • Download URL: vpython-7.5.1a4.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.1a4.tar.gz
Algorithm Hash digest
SHA256 2def1ceaf1ef9a73ac1c972757c91823ffd11efc4bfdf7e5fc674595dd947ff3
MD5 ddf8b20b37ba35c18abb79f9712143d2
BLAKE2b-256 1365656d03dabe697d4d5e661c6fd34c374666241de08a0574e1dc69bc0761d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-py3.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 634055db0325a54ba29a095b9057b7c4b94ec801bc242646ce07e7fe9f0fffd0
MD5 04a47b1cf3caa3dc99a57b4cc0e0e085
BLAKE2b-256 fd8c45cbfa93c207bfa40fe31e6d2b66cc693f3188e8292aebe03023f564e101

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 4801d9fc8da5e130393b6321430ee5c7e3ac098b5d65b0934da6ed7fff288862
MD5 b267880811eebcd5ce9d970de8484b9f
BLAKE2b-256 0816cdc8d5de960b5d3d5f14c8b380b5e8faaf34ea50c4ec9a976ccdc3981019

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 770b640e71514acc7004f9e0deca5ab36f0702a008ae9c58aa6bd95a59a7b655
MD5 7d9e076509ad1d2ce92592030827e4d8
BLAKE2b-256 08936043d6b7a3164bf5b79f88e4b98a02743bc97be64b86f1a41303ac5f258a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 1a74e654050ab8485a216c25f3fcdedccd83606af233397208ce5940a9c7a298
MD5 aeb5f5324a2762960a898169795d432e
BLAKE2b-256 cdad604e061f74de5d5fa365cc1a2ad6ce93db454241ad92069bbcde57ac079f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 cb1d189adf8ee0501649cd57903f920aba035217a54fedf94aeb8d9512a9aa37
MD5 a1857b884f50c4aea1a771716ef711c0
BLAKE2b-256 55bbe81aeccf60d08a5dfb9bd6b36a4cf021f12bac824bd616d0b89795469eda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 51a7e8deb1876be41b0c29abaacd048f8748a442d3ae68ad7a098e18e0d0242e
MD5 b89eeb570605afc3d8102100ed1e1357
BLAKE2b-256 78df755ec11da47a8e3e68d547b5fc3c7916d5d61117575bd224e50bb7ea3543

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vpython-7.5.1a4-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.1a4-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f418ef95f37a13d0dd1e1a5fa215a98288d69fe1ddf479ffba6fdea0e2db4c10
MD5 b579cad78d6413ae0275d16b4895af3a
BLAKE2b-256 88439e48537e2c624fb208f0708aa81055aaec26970d1043c1487764360d4bf7

See more details on using hashes here.

File details

Details for the file vpython-7.5.1a4-cp35-cp35m-macosx_10_6_x86_64.whl.

File metadata

  • Download URL: vpython-7.5.1a4-cp35-cp35m-macosx_10_6_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.5m, macOS 10.6+ 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.1a4-cp35-cp35m-macosx_10_6_x86_64.whl
Algorithm Hash digest
SHA256 4aa29d7a14bfa59c8548cd578f3e88ff90b988d195f608c94910a2ed3ce9aded
MD5 8c98f3c456976182f192749f0af57c0e
BLAKE2b-256 88a495b21c48c89f0d304f5ee96e5c4ad540bdc94b44b1d80fe228871f3b0249

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