For Bruce Sherwood

Mister Bruce Sherwood, I have a suggestion for you. Since you are core VPython dev, this is addressed personally to you. I didn't think of any other approach of contacting you than by this mailing list.

I have a suggestion for you. Since the birth of VPython, coders of it must import it like so:
from visual import *

For a newbie it is not perfectly obvious that the package name of VPython is actually 'visual' and not 'vpython'. And also other stuff Python-related has the same package name as is the name of the project. It would be great if VPython's package name could be renamed to 'vpython'.

Also, the 'from ... import *' syntax is kind of discouraged in the Python world, so importing VPython by 'import vpython' (or even 'import visual') would be great.

I think it's worthwhile considering these suggestions.

I don’t regularly read this forum, so I only now saw your suggestions. At vpython.org you’ll find a link to the VPython discussion list, which would have been a better place to post your note.

There’s a lot of history in the names visual and vpython which I don’t wish to go into, but the summary statement is that no change is really feasible now. However, with the current VPython 6.05, the Help available in VIDLE (an improved version of IDLE) lists “VPython” rather than “Visual” as it used to do, which definitely will help people.

The import question has already been dealt with long ago. From the front page of the VPython Help:

For experienced programmers

As a convenience to novice programmers to provide everything that is needed to get started, the statement “from visual import *” imports all of the VPython features and executes “from math import *” and “from numpy import *”. It also arranges that for routines common to both math and numpy such as sqrt, the much faster math routine is used when possible (when the argument is a scalar rather than an array).

If you want to import the VPython objects selectively, import them from the vis module. Two simple examples:

import vis
vis.box(color=vis.color.orange,material=vis.materials.wood)

from vis import (box, color, materials)
box(color=color.orange, material=materials.wood)

There are clean modules vis.controls, vis.filedialog, and vis.graph equivalent to the modules visual.controls, visual.filedialog, and visual.graph.

The documentation is written assuming that “from visual import *” is used.