Following up on the release of VR Juggler 2.0.3, I would like to announce formally the release of PyJuggler 1.0.1. This version is up to date with VR Juggler 2.0.3 and includes fixes for some minor bugs. The source for this release has been available for a a few weeks now, and there have been RPMs and an installer for Mac OS X available. Now, there are new builds of PyJuggler 1.0.1 made against VR Juggler 2.0.3 and Windows installation wizards. The installation wizards for Windows include the Boost.Python DLL and PyGMTL 0.4.12.
Information about obtaining the source code and binary versions of PyJuggler for Fedora Cora 6 (i386 and x86_64), Red Hat Enterprise Linux 4 (i386 and x86_64), openSUSE 10.2 (i386), Mac OS X Tiger, and Microsoft Windows can be found on this page:
For more information, go to the PyJuggler website:
Please note that the Windows builds are for use with Python 2.4. There are two separate builds depending on which build of VR Juggler 2.0.3 is installed: one for Visual C++ 7.1 and one for Visual C++ 8.0.
PyJuggler documentation can be found here:
The pydoc-generated API documentation for PyJuggler is available with the pre-compiled releases.
The pre-compiled versions of PyJuggler (except the Mac OS X version) were built against Open Scene Graph 1.2.0 and OpenSG 1.8.0 from January 30, 2007. If you are not using PyOSG or pyOpenSG at all, do not worry about this detail. The access to PyJuggler.vrj.OsgApp and PyJuggler.vrj.OpenSGApp through PyJuggler is optional, and its availability is determined at run time.
* What is PyJuggler?
PyJuggler is an extension to VR Juggler I started in my spare time one weekend in November 2002. Its main purpose is to fulfill a goal I have had for a long time: the ability to write VR Juggler application objects in a scripting language. In this case, the language is Python, a mature and popular object-oriented scripting language.
Using PyJuggler, it is possible to write a VR Juggler application object in Python and load the object into the VR Juggler kernel, which of course is written in C++. Python-based application objects can even be mixed with C++ application objects in the same kernel. Lastly, it is possible to write the equivalent of a C++ main() function in Python so that a developer need never see or write any C++ code to use VR Juggler.
PyJuggler is built on top of the excellent Boost.Python v2 library (http://www.boost.org/libs/python/). Boost.Python makes the mapping between C++ and Python quite simple. It also makes embedding Python in C++ vastly easier than was previously possible.
* Current Status
The exposure of Juggler C++ classes to Python through PyJuggler should be comprehensive enough to allow full-featured VR Juggler application objects to be written in Python using OpenGL. The use of Open Scene Graph depends on the availability of PyOSG. Similarly, the use of OpenSG depends on pyOpenSG, and it is known to work with version 0.1.
* What's Next?
There is a branch in the Juggler Subversion repository to allow bug fix releases of PyJuggler 1.0 to be made as necessary. The HEAD branch of the PyJuggler Subversion tree is for the development of PyJuggler 1.1--the code that will become PyJuggler 1.2. PyJuggler 1.1 has some significant changes relative to PyJuggler 1.0 to improve performance and memory efficiency.
Unfortunately, these changes will not be merged to the PyJuggler 1.0 branch because they would cause a major change to the (internal) run-time behavior of PyJuggler, and this could introduce a highly undesirable degradation of stability. The changes will be allowed to mature in PyJuggler 1.1 to be released in PyJuggler 1.2.
Other than that, PyJuggler 1.1 will be kept in sync with VR Juggler 2.1, and new features will be added when the need arises.