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

Uploaded Source

Built Distributions

vpython-7.6.1b5-cp38-cp38-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.8 Windows x86-64

vpython-7.6.1b5-cp38-cp38-macosx_10_13_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.8 macOS 10.13+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

vpython-7.6.1b5-cp37-cp37m-macosx_10_13_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.7m macOS 10.13+ x86-64

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

Uploaded CPython 3.6m Windows x86-64

vpython-7.6.1b5-cp36-cp36m-macosx_10_13_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.6m macOS 10.13+ x86-64

File details

Details for the file vpython-7.6.1b5.tar.gz.

File metadata

  • Download URL: vpython-7.6.1b5.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for vpython-7.6.1b5.tar.gz
Algorithm Hash digest
SHA256 d3d53261239310fa3472549e64f3ffe7ed9cf578dba59dd3bc171b410e88a42c
MD5 8040e51bd9336dbbb96e649c7a5e1dfa
BLAKE2b-256 17bc75fd6700021a548c14f76102551772e851bcd1d68fb226212751cd6ffce9

See more details on using hashes here.

Provenance

File details

Details for the file vpython-7.6.1b5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.1b5-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.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for vpython-7.6.1b5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e3e8767006572ce305ccd5106efca6ea7c2baa121ea7fa7a298cb79355f25904
MD5 eaef0a7dbad691271f8d41ec9f30d169
BLAKE2b-256 eababfebc2b9de0eac6c2ad4eeb1a13dfd4ecd21eff0cec8ac74142497fd1709

See more details on using hashes here.

Provenance

File details

Details for the file vpython-7.6.1b5-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.1b5-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for vpython-7.6.1b5-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 af2ac414f89bd72cd370738c7ea189e74c1a96d552c4e8552ba48e164d9ddb7d
MD5 5ef52e2f659de01bc8ef7ae4bc66e582
BLAKE2b-256 253582fb7c77373f023e28b836c4471ae32bf8dbe1b903e51f38197ff85ed92e

See more details on using hashes here.

Provenance

File details

Details for the file vpython-7.6.1b5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.1b5-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/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for vpython-7.6.1b5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0f3426e8aea6bc9924284f0ad11d60509f08ea6f97488cee301993646c4ddfc1
MD5 bb3abea44159025d5f9af80de97bc576
BLAKE2b-256 2cc5712067119d5fe37cf7aa5f4ba8df79dfb9dfb44f8f859ddb6b471a5ec39f

See more details on using hashes here.

Provenance

File details

Details for the file vpython-7.6.1b5-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.1b5-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for vpython-7.6.1b5-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6c37f902152e91b811e8a3355a515709355318260dcea92ac801e0fa66b33ac7
MD5 a5488d4ec8fbb37045e289c9caa2383a
BLAKE2b-256 b05f5f548ebdd0605925db0d3e16622450eaf8ca6500f7e1b6473f8cd2a3dc6d

See more details on using hashes here.

Provenance

File details

Details for the file vpython-7.6.1b5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.6.1b5-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/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.8

File hashes

Hashes for vpython-7.6.1b5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2f6af6e05837744586bc00bb15bd6323e51a818e6060f20ccaa71744ec6d3f1c
MD5 838666d37d719dfe584961b9a74e6df2
BLAKE2b-256 2d9eeddc5543ea20c8325c5ebfbbac77048bc7be9cf17c9b0d1da0a5a9dd9db2

See more details on using hashes here.

Provenance

File details

Details for the file vpython-7.6.1b5-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: vpython-7.6.1b5-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.10

File hashes

Hashes for vpython-7.6.1b5-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6a52e92cc649347a495b3da7f30d3490e69362276ae50308b0a4ab6aa52bd68e
MD5 9b2ecf9ffa652738c6200f15ede4cefc
BLAKE2b-256 5e368a0009ebfbb1eed2ac008041d52b1cb025a8013ef4c02abfe3489fc9f309

See more details on using hashes here.

Provenance

Supported by

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