Welcome to PyOSG

A Python wrapper for OpenSceneGraph

Given:

  • There seems to be continuing desire for a Python binding for OpenSceneGraph
  • An apparent lack of care and feeding of both the website and source code at SourceForge site
  • Only sporadic access to what is apparently the developer's personal svn repository with no URL published I could find (except on mailing lists)
  • Two apparently active branches of PyOSG diverging, one by the original PyOSG author Gideon May, and one by Joeseph Winston & Bill Hart.
  • My personal plan to continue using PyOSG

I have gathered the latest PyOSG sources I could find and begun a new, publicly accessible subversion repository here. This was done primarily so that PyOSG could have a more-or-less 'official' URL that gives some indication this is a viable project and that the latest source code can be found in one place. Another goal is to unify the diverging trees.

I thank all previous coders and contributors to PyOSG, particularly Gideon May, who I believe has done the vast majority of the work in creating PyOSG. I believe the source code is licensed under the BSD license, and any contributions I make will be under this BSD license.

As I am not able to devote much time to maintaining PyOSG, I ask the community for any and all help with this site and the source -- I will happily grant commit access to either if to anyone with more than a trivial patch.

News

  • 2007-04-01 PyOSG (trunk in svn repository) now compiles against OSG 1.0, 1.1, and 1.2 on linux and Mac OS X. I'm still having trouble getting it running on Mac OS X (boost::python issues), but hopefully the worst is behind us and Windows support can be added relatively painlessly.

Development

We have a subversion repository online. There are two branches you may be interested in:

It is my hope that we can unify these two sources, which have appartenly diverged some time ago.

The SourceForge project page has links to the mailing list.

Download

The releases are at http://code.astraw.com/pyosg_downloads :

  • PyOSG-1.2.1-1.tar.gz - built from 'trunk' revision 41, builds against OSG 1.0, 1.1, 1.2 on linux and Mac OS X
  • pyosg_ads_r15.tar.gz - built from 'trunk' revision 15, removes scons and builds entirely with distutils
  • pyosg_billhart_r15.tar.gz -built from 'billhart' branch revision 15, cleans up Bill Hart's "April 2005" release
  • pyosg_ads_r5.tar.gz - first release made here, built from 'trunk' revision 5, builds with standard python distutils, only tested on linux

Other OpenSceneGraph bindings

PyOSG has hand-crafted wrappers for the OSG classes. This is very work-intensive, but has the advantage that a lot of cool stuff can be done in the wrappers. Like allowing to subclass from NodeVisitors in Python.

  • osgPython, by Miguel Escriva et al., relies on the new osgIntrospection/osgWrappers. According to Ulrich Hertlein, this makes it more up-to-date with less work. But he found that it's not possible to sub-class from NodeVisitor, so that method didn't work so well for him. Also they took a long(-ish) time to load on his old 1.3 GHz system.
  • Hartmut Seichter is creating a SWIG-based wrapper of OSG with Python as a primary target language.

Building notes

PyOSG is known to compile and run with OSG versions 1.0, 1.1, and 1.2 on linux. It compiles on Mac OS X but doesn't currently run.

- Andrew Straw strawman@astraw.com