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.6.0.tar.gz (3.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded CPython 3.7mWindows x86-64

vpython-7.6.0-cp37-cp37m-win32.whl (3.5 MB view details)

Uploaded CPython 3.7mWindows x86

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

Uploaded CPython 3.7mmacOS 10.7+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

vpython-7.6.0-cp36-cp36m-win32.whl (3.5 MB view details)

Uploaded CPython 3.6mWindows x86

vpython-7.6.0-cp36-cp36m-macosx_10_9_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file vpython-7.6.0.tar.gz.

File metadata

  • Download URL: vpython-7.6.0.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3

File hashes

Hashes for vpython-7.6.0.tar.gz
Algorithm Hash digest
SHA256 985da5eee602edd914b509d3b8e237f3f49ecc96788f6838bedb0ef7e506825e
MD5 04ee5449a85642d46a054605261fb7be
BLAKE2b-256 2504f02cdbd6fed103da53b360823f171678aea516f6e1a49037aa469e41e094

See more details on using hashes here.

File details

Details for the file vpython-7.6.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.0-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.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4

File hashes

Hashes for vpython-7.6.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e3ab83ecba7ea211862639185d7e1136e1fef2600b996bae5eaccb2946f2c6a5
MD5 6af08057fa4ef835b4c7951c3206018b
BLAKE2b-256 f6675d3d21a724b34e647147bb104c1f38b982287443c11c37856268728340af

See more details on using hashes here.

File details

Details for the file vpython-7.6.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: vpython-7.6.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4

File hashes

Hashes for vpython-7.6.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 70acf8bccdd317d91199836f985063460d197b558a23f3991ccc822eb16d8f73
MD5 791e206016eb643f530920c13f843a57
BLAKE2b-256 6d842873eff1f11c2538e99b88e75edc54083bdfc796dcf5c36eeb251ec1e586

See more details on using hashes here.

File details

Details for the file vpython-7.6.0-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.0-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/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for vpython-7.6.0-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a0c962cd32666b997e43ee5155dbf9d58a8b473df698c4026d6b46167adf5f16
MD5 a52cd361a516984430ff2b759ca1f00b
BLAKE2b-256 c2d4f16498649909b303b1d605ce79f8b9e79c58783b0a830b516da3808fead4

See more details on using hashes here.

File details

Details for the file vpython-7.6.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.0-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.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.5

File hashes

Hashes for vpython-7.6.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4e6d3b5ff6ef18fc4bfad8ab9e5db1d1f2f0eb4c4d41441cd62cf09d82520ad4
MD5 1b50d24ad5a146b92bc47a85b1cb54fe
BLAKE2b-256 0bfcc3823de16a33d997887a030d457e9c30291cc69d4d869c916a723218734f

See more details on using hashes here.

File details

Details for the file vpython-7.6.0-cp36-cp36m-win32.whl.

File metadata

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

File hashes

Hashes for vpython-7.6.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 5eb19e03838cde7298f52860f00de3338b8982e48cd1ff5a6236077941f0009b
MD5 205b84458bc439bd4dd4642b590b48a5
BLAKE2b-256 9dff33f758d87c304fc958881d9f5a0b1b4d0e33582fc554c2870c281aaf5589

See more details on using hashes here.

File details

Details for the file vpython-7.6.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for vpython-7.6.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8b5b03b0ff0525e9ab61cc6c987da8e1a90e6765106bb2f09b7dfe3a0bf421a0
MD5 46e8758aaa6361056f1fd5cfa28b7a24
BLAKE2b-256 06845346b55b7e76966798fabe583467f14f1e7fea6a57ad3cf11b5fdf1fba5e

See more details on using hashes here.

Supported by

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