C++ Boost

Boost.Python

Projects using Boost.Python


Introduction

This is a partial list of projects using Boost.Python. If you are using Boost.Python as your Python/C++ binding solution, we'd be proud to list your project on this page. Just post a short description of your project and how Boost.Python helps you get the job done, and we'll add it to this page .


Enterprise Software

OpenWBEM
The OpenWBEM project is an effort to develop an open-source implementation of Web Based Enterprise Management suitable for commercial and non-commercial application

Dan Nuffer writes:

I'm using Boost.Python to wrap the client API of OpenWBEM.This will make it easier to do rapid prototyping, testing, and scripting when developing management solutions that use WBEM.

Financial Analysis

TSLib - Fortress Investment Group LLC
Fortress Investment Group has contracted Boost Consulting to develop core internal financial analysis tools in C++ and to prepare Python bindings for them using Boost.Python.

Tom Barket of Fortress writes:

We have a large C++ analytical library specialized for research in finance and economics, built for speed and mission critical stability. Yet Python offers us the flexibility to test out new ideas quickly and increase the productivity of our time versus working in C++. There are several key features which make Python stand out. Its elegance, stability, and breadth of resources on the web are all valuable, but the most important is its extensibility, due to its open source transparency. Boost.Python makes Python extensibility extremely simple and straightforward, yet preserves a great deal of power and control.

Graphics

OpenSceneGraph
Gideon May has created a set of bindings for OpenSceneGraph, a cross-platform C++/OpenGL library for the real-time visualization. You can read the release announcement at www.hypereyes.com. Contact Gideon for more information.
 
PythonMagick
PythonMagick binds the ImageMagick image manipulation library to Python.
 
HippoDraw
HippoDraw is a data analysis environment consisting of a canvas upon which graphs such as histograms, scattter plots, etc, are prsented. It has a highly interactive GUI interface, but some things you need to do with scripts. HippoDraw can be run as Python extension module so that all the manipulation can be done from either Python or the GUI.

Before the web page came online, Paul F. Kunz wrote:

Don't have a web page for the project, but the organization's is http://www.slac.stanford.edu (the first web server site in America, I installed it).
Which was just too cool a piece of trivia to omit.
 

Scientific Computing

CAMFR
CAMFR is a photonics and electromagnetics modelling tool. Python is used for computational steering.

Peter Bienstman writes:

Thanks for providing such a great tool!
cctbx - Computational Crystallography Toolbox
Computational Crystallography is concerned with the derivation of atomic models of crystal structures, given experimental X-ray diffraction data. The cctbx is an open-source library of fundamental algorithms for crystallographic computations. The core algorithms are implemented in C++ and accessed through higher-level Python interfaces.

The cctbx grew together with Boost.Python and is designed from the ground up as a hybrid Python/C++ system. With one minor exception, run-time polymorphism is completely handled by Python. C++ compile-time polymorphism is used to implement performance critical algorithms. The Python and C++ layers are seamlessly integrated using Boost.Python.

The SourceForge cctbx project is organized in modules to facilitate use in non-crystallographic applications. The scitbx module implements a general purpose array family for scientific applications and pure C++ ports of FFTPACK and the LBFGS conjugate gradient minimizer.

EMSolve
EMSolve is a provably stable, charge conserving, and energy conserving solver for Maxwell's equations.
 
Gaudi and RootPython
Gaudi is a framework for particle physics collision data processing applications developed in the context of the LHCb and ATLAS experiments at CERN.

Pere Mato Vila writes:

We are using Boost.Python to provide scripting/interactive capability to our framework. We have a module called "GaudiPython" implemented using Boost.Python that allows the interaction with any framework service or algorithm from python. RootPython also uses Boost.Python to provide a generic "gateway" between the ROOT framework and python

Boost.Python is great. We managed very quickly to interface our framework to python, which is great language. We are trying to facilitate to our physicists (end-users) a rapid analysis application development environment based on python. For that, Boost.Python plays and essential role.


Revised 22 March, 2003

© Copyright Dave Abrahams 2002-2003. All Rights Reserved.