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

Uploaded Source

Built Distributions

vpython-7.5.2b2-py3.7-linux-x86_64.egg (3.8 MB view details)

Uploaded Egg

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

Uploaded CPython 3.7mWindows x86-64

vpython-7.5.2b2-cp37-cp37m-win32.whl (3.6 MB view details)

Uploaded CPython 3.7mWindows x86

vpython-7.5.2b2-cp37-cp37m-macosx_10_9_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

vpython-7.5.2b2-cp36-cp36m-win32.whl (3.6 MB view details)

Uploaded CPython 3.6mWindows x86

vpython-7.5.2b2-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.2b2.tar.gz.

File metadata

  • Download URL: vpython-7.5.2b2.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • 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.5.2b2.tar.gz
Algorithm Hash digest
SHA256 a1187b2d4cf7e4c53c554713bd4b5cbbe2bb81e8cd0424ad40289e25d1abb7b4
MD5 6f42eec345b1cc1f327ff0bc8182b2b1
BLAKE2b-256 4f18a0061d389c3196a1c8b803c7f320fdde9cf34a2ec3087c6bdf168a9191d3

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-py3.7-linux-x86_64.egg.

File metadata

  • Download URL: vpython-7.5.2b2-py3.7-linux-x86_64.egg
  • Upload date:
  • Size: 3.8 MB
  • Tags: Egg
  • 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.5.2b2-py3.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 9be9ca7c9cf4d8ad1cc159a17856b9cc290b78e2fd89ff722c9d18eb0ce260b6
MD5 3552ef46a9a1b7cff2ace465e84ea9c0
BLAKE2b-256 0d404f49a99335fe7fc488b83880339815292ae6a5762ba8c6ab18b9921c92c4

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.5.2b2-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/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1

File hashes

Hashes for vpython-7.5.2b2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0f3e8a7e8401b00c5fbfb0185f533980d80eb3c806d1a0aa9232e6e27aadc52f
MD5 a87aef44a23e18d04f0cbd9e5042f33f
BLAKE2b-256 d9f9e9a2827f3d5cf688a474d7e194231745df741eebee5c64e50135e9f5ac1f

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-cp37-cp37m-win32.whl.

File metadata

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

File hashes

Hashes for vpython-7.5.2b2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 be1fb0edf80437570f1e2dcf26cf9d2dd4bf068f64adbce4acbe45fe1537f6e4
MD5 4bf2deb5f868f0544ac9ec3ffebe07e7
BLAKE2b-256 d94a51cded4bf9a3cd2632b9e23ddb2329f2502f6f89120f22febd2f339fb40d

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: vpython-7.5.2b2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.7m, 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/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for vpython-7.5.2b2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7b2c73daec5e483fb73d8a351a5bc60b3dfe8b62bd684b68b1f2168c6ed34fed
MD5 fb0447ac186f80a84a065af08083b9c5
BLAKE2b-256 3776671cb71757f3b6b317568eaad0bdcc5f1df04f583dc26d0a21445a7681d3

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: vpython-7.5.2b2-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/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.5

File hashes

Hashes for vpython-7.5.2b2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b69b9a0122bd954e308580e3c9e67dae1729357266e2d5a99c653aac7e5720bf
MD5 91091fb10c377bac23f9353c0964e5bf
BLAKE2b-256 b61ffed9ddcce8feecd8a32295b6aa37372aae77f31daa4a74ca1f88841474fc

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-cp36-cp36m-win32.whl.

File metadata

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

File hashes

Hashes for vpython-7.5.2b2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 442c1fa1bfdfce12d133f7b523c2d7cec8734103437417a66110b2c7b7881b9e
MD5 45ec77ca93a923e9d3da30d83fd5acf1
BLAKE2b-256 c64207d147af6123230a662949f9edfdd14b487043272a1169af74fefe2bc551

See more details on using hashes here.

File details

Details for the file vpython-7.5.2b2-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: vpython-7.5.2b2-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/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.5.2b2-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 145e9c37fc6d27ba84b0789da52f7e6922bbd7118e0973f2e42eac7d07cb14f1
MD5 0d42fbd63a75325f7757644eda20795a
BLAKE2b-256 cccd4ac458e7e95451cdd19b6a1fc449b66fed6249b5745dc95c55e8d68ad1a7

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