Future development of VPython has moved to a new project
This incarnation of VPython will not be developed further; see this announcement for an explanation and this history of the development of VPython. Development efforts are now focused on a Jupyter notebook-based version vpython-jupyter and an in-browser version that requires no local installation at all and runs on mobile devices, at glowscript.org.
The home of vpython on the web is still at vpython.org.
Read on for more information about the old VPython...
VPython 6, at vpython.org, is based on the cross-platform library wxPython. It improves VPython 5.74 and earlier by eliminating most platform-dependent code and by eliminating the threading associated with rendering.
The new version makes essential changes to the
rate statement in VPython
rateis now required; an animation loop MUST contain it.
ratestill limits the number of loop iterations per second.
ratenow updates the 3D scene when appropriate, about 30 times per second.
ratenow handles mouse and keyboard events.
- If the animation loop is missing the
ratestatement, the scene will not be updated until and unless the animation loop is completed.
The heart of the user-interface code, creating windows and handling events, is the file site-packages/visual_common/create_display.py. It is imported by visual/init.py and by /vis/init.py; visual imports math and numpy for convenience whereas vis doesn't.