Friday, August 14, 2015

Choosing a version of VPython for Fall 2015

Recently Bruce Sherwood was asked for advice on choosing a version of VPython for Fall Semester, 2015. I'm sharing his comments here for others to see.

Python 2.7 plus VPython 6.11 is still the right decision. The holdup on running with Python 3.x is that at there is still no release of wxPython for Python 3, only nightly builds, and even these nightly builds are not mentioned at VPython 6 uses wxPython to make windows and handle events (and provide the capability of including widgets such as buttons and sliders in a VPython program).

The VPython situation is not unlike that of many other projects that are waiting for some crucial library to be available for Python 3. The situation is not as bad as it may seem, in that Python 2.7 continues not only to receive bug fixes but even in some cases new features from Python 3.

If there is ever a wxPython library for Python 3 we will of course create installers for Python 3, but the time is still not yet. 

In other news, the GlowScript (browser) version of VPython is seeing wider use, in part because no installation is required.

The browser version of VPython is entirely adequate for the intro course but (at least at this time) not really appropriate for an upper-level computational physics course, where one wants full access to the huge Python ecology of capabilities. There is a new development which Ruth and I see as extremely promising, and one that our colleague Aaron Titus at High Point University used in a small computational physics course, namely iVisual for IPython notebook use ( John Coady implemented the VPython API in pure Python, and running on a local IPython server, it sends display information to an IPython notebook running in a browser, where he calls my GlowScript libraries to render the 3D scene, a unique combination of full Python plus GPU-based 3D rendering. There are some glitches in this environment, and John, Aaron, Steve Spicklemire (with whom I work on classic VPython), Ruth, and I are determined to fix them, to make this a better environment than either classic VPython or GlowScript VPython for upper-level courses. One of the huge advantages of a pure Python implementation, with the browser handling graphics and events, is that VPython installation will be trivial instead of daunting, cross-platform.


  1. Your site always offer some really interesting information. Thank you for sharing it with us.
    Fleet maintenance system

  2. All the information is realted to the Vpython. I know many things about the phthon but not Vpython. I have got the great information today by reading this blog. Thanks