python programming language
Vpython_small.png
VPython is an open source application that combines the Python programming language with a 3D graphics module called Visual. This library application allows users to create 3D objects, such as spheres and … Wikipedia
Factsheet
Visual (Python Library)
Original author David Scherer
Initial release 2000; 26 years ago (2000)
Factsheet
Visual (Python Library)
Original author David Scherer
Initial release 2000; 26 years ago (2000)
🌐
Wikipedia
en.wikipedia.org › wiki › VPython
VPython - Wikipedia
May 20, 2025 - VPython is an open source application that combines the Python programming language with a 3D graphics module called Visual. This library application allows users to create 3D objects, such as spheres and cones, and then display these objects in an app window.
🌐
Glowscript
glowscript.org › docs › VPythonDocs › webvs7.html
Web VPython vs. the vpython module — VPython 3.2 documentation
WebVPython is faster that Python ... access to Python modules such as numpy, pandas, etc. vpython is a Python module that can be installed if you have a Python installation, such as Anaconda, on your computer already....
Discussions

python 3.x - Alternative for vpython for 3D simulations (molecular dynamics)? - Stack Overflow
I'm not a very experienced programmer ... that vpython (now GlowScript apparently) is simple enough and gives good results. But it lacks some basic functions like panning the scene, which breaks the deal for me. What other tools are there out there, with reasonable learning curves (not raw opengl), can I use to create 3D simulations? (preferably within the python ... More on stackoverflow.com
🌐 stackoverflow.com
Visual python(VPython) ..... a bit of guidance.
As far as I can tell from the documentation you cannot make 2d shapes. If you want them like any other object, them how would you expect them to appear from the side? You can work around this if you absolutely need to use vpython and 2d shapes. A very thin cuboid appears like a rectangle, looking side on to a sphere looks like a circle, side onto a pyramid is a triangle. For more complicated constructions like arcs you might have to build them yourself out of very small spheres or cuboids, although this may come at a performance sacrifice More on reddit.com
🌐 r/learnpython
2
11
September 12, 2020
What are the differences between Python and Vpython?
Apart from the library visual, what are the differences between Python and Vpython? Why did you decided to create this new version of Python? Why simply you suggested to add the visual library to t... More on github.com
🌐 github.com
0
January 22, 2015
python - pygame vs. VPython for visualizing PyODE - Stack Overflow
I made a program similar to the second PyODE tutorial but using VPython instead of pygame and I removed the coord function for changing coordinates. It works but the locating of the spheres and joi... More on stackoverflow.com
🌐 stackoverflow.com
🌐
PyPI
pypi.org › project › vpython
vpython · PyPI
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.
      » pip install vpython
    
Published   Mar 26, 2024
Version   7.6.5
🌐
Python
wiki.python.org › moin › VPython
VPython - Python Wiki
VPython is an extension for Python to allow easy, "pythonic" 3D.
Top answer
1 of 2
3

Have look at

http://vispy.org

Python based module.

Also python module specifically for molecular visualization. https://pymol.org/2/

2 of 2
0

(Full disclosure: I'm the author of this library)

I suggest trying PhalcoPulse. It was designed to be a step up from VPython, directly addressing the limitations you mentioned. It provides full interactive camera controls (including pan, orbit, and zoom) and an easy-to-use API for simulations.

You just define a scene with setup() and loop() methods. Here's a quick example of a vibrating molecule:

Python

from phalcopulse import PhalcoPulseStudio, PhalcoPulseFX, gfx
import numpy as np

class VibratingDimer(PhalcoPulseFX):
    def setup(self, ui_manager):
        self.atom1_pos = np.array([-1.0, 0, 0])
        self.atom2_pos = np.array([1.5, 0, 0])
        self.atom2_vel = np.array([0.0, 0, 0])
        self.rest_length = 2.0
        self.k = 25.0 # Spring constant

    def loop(self, delta_time):
        # Update physics using Hooke's Law
        direction = self.atom2_pos - self.atom1_pos
        distance = np.linalg.norm(direction)
        if distance > 0:
            force = -self.k * (distance - self.rest_length) * (direction / distance)
            self.atom2_vel += force * delta_time
            self.atom2_pos += self.atom2_vel * delta_time

        # Draw the scene
        gfx.draw_sphere(radius=0.4, color=(0.8, 0.2, 0.2), center=self.atom1_pos)
        gfx.draw_sphere(radius=0.4, color=(0.2, 0.6, 1.0), center=self.atom2_pos)
        gfx.draw_cylinder(start=self.atom1_pos, end=self.atom2_pos, radius=0.1)

if __name__ == '__main__':
    studio = PhalcoPulseStudio(scene_fx=VibratingDimer())
    studio.run()

It's a pip-installable package and the source is on GitHub.

  • Install: pip install phalcopulse

  • Repo: https://github.com/PhalcoAi/PhalcoPulse

🌐
Glowscript
glowscript.org › docs › VPythonDocs › index.html
VPython documentation — VPython 3.2 documentation
VPython enables the creation of navigable realtime 3D animations, and supports 3D vector operations. A web version is available at webvpython.org. For Python package installation instructions see vpython.org.
🌐
Educative
educative.io › answers › what-is-vpython
What is VPython?
VPython (Visual Python) is a 3D graphics library that allows us to create and visualize three-dimensional objects on the screen.
Find elsewhere
🌐
Google Groups
groups.google.com › g › vpython-users › c › bkmrdpgQADA › m › LJLg-m0qAwAJ
Speed of VPython 7 vs. GlowScript VPython
In thinking about the question, I made a copy of this program and timed the animation of 1000 spheres, with rate(150000), and found that each loop cost about 135 ms in GlowScript VPython. Next I ran the same program using true Python (VPython 7) and found that each loop cost about 500 ms.
🌐
Vpython
vpython.org › contents › overview.html
Documentation
Download: Windows Macintosh Linux · Contributed programs
🌐
Google Groups
groups.google.com › g › vpython-users › c › UWX1HQlZ6ng
Does VPython support Python3?
PS I am amazed by Visual Python - I wish I came across it much sooner. What a great tool for schools and such. ... Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message ... Yes, Jupyter VPython has always run on Python 3.
🌐
GitHub
github.com › vpython › visual › issues › 8
What are the differences between Python and Vpython? · Issue #8 · vpython/visual
January 22, 2015 - Apart from the library visual, what are the differences between Python and Vpython? Why did you decided to create this new version of Python? Why simply you suggested to add the visual library to t...
Author   nbro
🌐
Engcourses-uofa
engcourses-uofa.ca › wp-content › uploads › Visual-Python-VPython-ver-2.pdf pdf
1 VPython – Visual Python Weichen Qiu July 2020
VPython has a number of built-in widgets that allow users to control object parameters. Widgets are displayed under the model in the order that it appears in the code, use · scene.append_to_caption('\n\n') to add spaces between widgets. Use <variable>.delete(), where <variable> = <widget>(bind=function) to delete it. ... All widgets have the bind parameter that assigns it to a function that is called when clicked. First, define the python function that will control the object parameters using input from the widget.
🌐
WIRED
wired.com › science › physics › visual and matplotlib - holding hands at last
Visual and MatplotLib - holding hands at last | WIRED
July 19, 2010 - My conclusion was that it was easier in vpython, but prettier in matplotlib. So, why not just use matplotlib? There are a couple of things that make vypthon very attractive. ... I am happy. Finally, I can use the visual module in python (vPython.org) and plotting with Matplotlib.
🌐
Google Groups
groups.google.com › g › vpython-users › c › KLgbSFGmYOQ
Can't start vpython in VS Code
import vpython ModuleNotFoundError: No module named 'vpython' I can enter import python and then run some commands in the CMD window and in IDLE, but not in VS Code.
🌐
Vpython
vpython.org › contents › announcements › get-vpython.html
How to get started using VPython
Try Jupyter VPython (this is a beta version, under active development): · Install the Continuum Anaconda (or Enthought Canopy) Python distribution. We recommend choosing Anaconda with Python 3.x, especially if you already have “Classic” VPython / Python 2.7 installed on your machine (Canopy ...
🌐
Stack Overflow
stackoverflow.com › questions › 3277786 › pygame-vs-vpython-for-visualizing-pyode
python - pygame vs. VPython for visualizing PyODE - Stack Overflow
I made a program similar to the second PyODE tutorial but using VPython instead of pygame and I removed the coord function for changing coordinates. It works but the locating of the spheres and joi...
🌐
Open Source Physics
compadre.org › PICUP › resources › Entry.cfm
So You've Decided to Use Python - What's Next? - ComPADRE
In the past it made a lot of sense to stick with Python 2 because VPython wasn’t available for Python 3. There were also several other add-ons only available in Python 2, but these didn’t tend to be important to teaching physics. These days VPython is only running under Python 3.
🌐
Reddit
reddit.com › r/learnpython › classic vpython equivalent for python 3?
r/learnpython on Reddit: Classic VPython equivalent for Python 3?
July 4, 2019 -

So I recently wanted to get back into 3D graphics in python, but discovered that VPython has interesting behavior in python 3. I want to avoid having multiple python versions installed, but the VPython for python 3 is web based, and I need this to run standalone. A lot of people point to Jupyter, but this is also web based. All the alternatives I've found aren't 3D graphics in the same way VPython was, focusing instead on visualizations, which is not what I need.

Are there any non-web based 3D graphics libraries for Python 3 I can switch to?