The Python Computer Graphics Kit is an Open Source software package containing a collection of Python modules, plugins and utilities that are meant to be useful for any domain where you have to deal with 3D data of any kind, be it for visualization, creating photorealistic images, Virtual Reality or even games.

Currently, the entire kit consists of the following parts:

  • The Python package cgkit that extends Python with 3D-related functionality.
  • The Maya plugin sourcepy that integrates the Python interpreter into Maya, and the accompanying Python package maya that makes Maya functionality available in Python.
  • A collection of small stand-alone utilities written in Python, MEL or MaxScript.

cgkit features:

  • New 3D data types such as vec3, vec4, mat3, mat4 and quat
  • Contains a Python binding of Pixar’s RenderMan API
  • Provides access to specialized input hardware such as SpaceMouse/SpaceBall, data glove or tablet via wrappers around the 3DxWare 3Dconnexion, the Wintab Developer Kit by LCS/Telegraphics and the Data Glove SDK by Fifth Dimension Technologies.
  • Additional 3D utility functions such as various noises or the functions found in the RenderMan Shading Language
  • Parse RenderMan shader source files to extract shader parameters
  • 3D data can be stored and manipulated in memory
  • Imports 3DS, VRML, X3D, OBJ, OFF, IFS, STL, PLY, MA, ASF/AMC, BVH (using the following libraries: lib3dsCyberX3DRPly)
  • Exports RIB (shaders are generated on-the-fly), OBJ, OFF, PLY
  • Turns Python into a scene description language which can define scenes that can then be rendered with RenderMan or OpenGL.
  • Interactive OpenGL viewer tool
  • OpenGL stereo output (vertical split or quad buffer)
  • Offline render tool that feeds a RenderMan renderer, can also be used to bake texture maps
  • Connect arbitrary attributes of the same type to create animations
  • Rigid body dynamics via the Open Dynamics Engine
  • Extensible via regular modules or plugins

Python/Maya features:

  • Integrates the Python interpreter into Maya by providing two new MEL commands py and pySource that can execute Python source code.
  • Provides dynamic Python wrappers around all MEL commands found in Maya.
  • Provides new convenience classes for creating GUIs
  • Exposes the Maya C++ SDK to Python
  • Allows writing plug-ins in Python

Home Page:
Project Page:
Language: C++, Python
Platform: Linux, Windows, OS X
License: GPLLGPLMPL1.1