| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| |
| <!-- Copyright David Abrahams 2006. Distributed under the Boost --> |
| <!-- Software License, Version 1.0. (See accompanying --> |
| <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> |
| <html> |
| <head> |
| <meta name="generator" content= |
| "HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org"> |
| <meta http-equiv="Content-Type" content="text/html"> |
| <link rel="stylesheet" type="text/css" href="boost.css"> |
| |
| <title>Boost.Python - Projects using Boost.Python</title> |
| </head> |
| |
| <body link="#0000FF" vlink="#800080"> |
| <table border="0" cellpadding="7" cellspacing="0" width="100%" summary= |
| "header"> |
| <tr> |
| <td valign="top" width="300"> |
| <h3><a href="../../../index.htm"><img height="86" width="277" alt= |
| "C++ Boost" src="../../../boost.png" border="0"></a></h3> |
| </td> |
| |
| <td valign="top"> |
| <h1 align="center"><a href="index.html">Boost.Python</a></h1> |
| |
| <h2 align="center">Projects using Boost.Python</h2> |
| </td> |
| </tr> |
| </table> |
| <hr> |
| |
| <h2>Introduction</h2> |
| |
| <p>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 <a href= |
| "mailto:c++-sig@python.org">post</a> a short description of your project |
| and how Boost.Python helps you get the job done, and we'll add it to this |
| page .</p> |
| <hr> |
| |
| <h3>Data Analysis</h3> |
| |
| <dl class="page-index"> |
| <dt><b><a href="http://www.neuralynx.com">NeuraLab</a></b></dt> |
| |
| <dd>Neuralab is a data analysis environment specifically tailored for |
| neural data from <a href="http://www.neuralynx.com">Neuralynx</a> |
| acquisition systems. Neuralab combines presentation quality graphics, a |
| numerical analysis library, and the <a href= |
| "http://www.python.org">Python</a> scripting engine in a single |
| application. With Neuralab, Neuralynx users can perform common analysis |
| tasks with just a few mouse clicks. More advanced users can create custom |
| Python scripts, which can optionally be assigned to menus and mouse |
| clicks.</dd> |
| </dl> |
| |
| <dl class="page-index"> |
| <dt><b>TSLib</b> - <a href="http://www.fortressinv.com">Fortress |
| Investment Group LLC</a></dt> |
| |
| <dd> |
| Fortress Investment Group has contracted <a href= |
| "http://www.boost-consulting.com">Boost Consulting</a> to develop core |
| internal financial analysis tools in C++ and to prepare Python bindings |
| for them using Boost.Python. |
| |
| <p>Tom Barket of Fortress writes:</p> |
| |
| <blockquote> |
| 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. |
| </blockquote> |
| </dd> |
| </dl> |
| |
| <h3>Educational</h3> |
| |
| <dl class="page-index"> |
| <dt><a href="http://edu.kde.org/kig"><b>Kig</b></a></dt> |
| |
| <dd> |
| <p>KDE Interactive Geometry is a high-school level educational tool, |
| built for the KDE desktop. It is a nice tool to let students work with |
| geometrical constructions. It is meant to be the most intuitive, yet |
| featureful application of its kind.</p> |
| |
| <p>Versions after 0.6.x (will) support objects built by the user |
| himself in the Python language. The exporting of the relevant internal |
| API's were done using Boost.Python, which made the process very |
| easy.</p> |
| </dd> |
| </dl> |
| |
| <h3>Enterprise Software</h3> |
| |
| <dl class="page-index"> |
| <dt><b><a href="http://openwbem.sourceforge.net">OpenWBEM</a></b></dt> |
| |
| <dd> |
| The OpenWBEM project is an effort to develop an open-source |
| implementation of Web Based Enterprise Management suitable for |
| commercial and non-commercial application |
| |
| <p><a href="mailto:dnuffer@sco.com">Dan Nuffer</a> writes:</p> |
| |
| <blockquote> |
| 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. |
| </blockquote> |
| </dd> |
| |
| <dt><b><a href="http://www.transversal.com">Metafaq</a></b></dt> |
| |
| <dd> |
| Metafaq, from <a href="http://www.transversal.com">Transversal, |
| Inc.</a>, is an enterprise level online knowledge base management |
| system. |
| |
| <p><a href="mailto:ben.young-at-transversal.com">Ben Young</a> |
| writes:</p> |
| |
| <blockquote> |
| Boost.Python is used in an automated process to generate python |
| bindings to our api which is exposed though multiple backends and |
| frontends. This allows us to write quick tests and bespoke scripts to |
| perform one off tasks without having to go through the full |
| compilation cycle. |
| </blockquote> |
| </dd> |
| </dl> |
| |
| <h3>Games</h3> |
| |
| <dl> |
| <dt><b><a href="http://www.firaxis.com">Civilization IV</a></b></dt> |
| </dl> |
| |
| <blockquote> |
| “The fourth game in the PC strategy series that has sold over five |
| million copies, Sid Meier's Civilization IV is a bold step forward for |
| the franchise, with spectacular new 3D graphics and all-new single and |
| multiplayer content. Civilization IV will also set a new standard for |
| user-modification, allowing gamers to create their own add-ons using |
| Python and XML. |
| |
| <p>Sid Meier's Civilization IV will be released for PC in late 2005. For |
| more information please visit <a href= |
| "http://www.firaxis.com">http://www.firaxis.com</a> or write <a href= |
| "mailto:kgilmore@firaxis.com">kgilmore@firaxis.com</a>”</p> |
| </blockquote> |
| |
| <p>Boost.Python is used as the interface layer between the C++ game code |
| and Python. Python is used for many purposes in the game, including map |
| generation, interface screens, game events, tools, tutorials, etc. Most |
| high-level game operations have been exposed to Python in order to give |
| modders the power they need to customize the game.</p> |
| |
| <blockquote> |
| -Mustafa Thamer, Civ4 Lead Programmer |
| </blockquote> |
| |
| <dl class="page-index"> |
| <dt><b><a href="http://vegastrike.sourceforge.net">Vega |
| Strike</a></b></dt> |
| |
| <dd> |
| <a href="http://vegastrike.sourceforge.net">Vega Strike</a> is the 3D |
| Space Simulator that allows you to trade and bounty hunt in a vast |
| universe. Players face dangers, decisions, piracy, and aliens. |
| |
| <p><a href="http://vegastrike.sourceforge.net">Vega Strike</a> has |
| decided to base its scripting on python, using boost as the layer |
| between the class hierarchy in python and the class hierarchy in C++. |
| The result is a very flexible scripting system that treats units as |
| native python classes when designing missions or writing AI's.</p> |
| |
| <p>A large economic and planetary simulation is currently being run in |
| the background in python and the results are returned back into C++ in |
| the form of various factions' spaceships appearing near worlds that |
| they are simulated to be near in python if the player is in the general |
| neighborhood.</p> |
| </dd> |
| </dl> |
| |
| <h3>Graphics</h3> |
| |
| <dl class="page-index"> |
| <dt><b><a href="http://sourceforge.net/projects/pyosg">OpenSceneGraph |
| Bindings</a></b></dt> |
| |
| <dd><a href="mailto:gideon@computer.org">Gideon May</a> has created a set |
| of bindings for <a href= |
| "http://www.openscenegraph.org">OpenSceneGraph</a>, a cross-platform |
| C++/OpenGL library for the real-time visualization.<br> |
| </dd> |
| |
| <dt><b><a href= |
| "http://www.slac.stanford.edu/grp/ek/hippodraw/index.html">HippoDraw</a></b></dt> |
| |
| <dd> |
| 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. |
| |
| <p>Before the web page came online, <a href= |
| "mailto:Paul_Kunz@SLAC.Stanford.EDU">Paul F. Kunz</a> wrote:</p> |
| |
| <blockquote> |
| Don't have a web page for the project, but the organization's is |
| <a href= |
| "http://www.slac.stanford.edu">http://www.slac.stanford.edu</a> (the |
| first web server site in America, I installed it). |
| </blockquote>Which was just too cool a piece of trivia to omit.<br> |
| |
| </dd> |
| |
| <dt><a href="http://www.iplt.org"><b>IPLT</b></a></dt> |
| |
| <dd> |
| <a href="mailto:ansgar.philippsen-at-unibas.ch">Ansgar Philippsen</a> |
| writes: |
| |
| <blockquote> |
| IPLT is an image processing library and toolbox for the structural |
| biology electron microscopy community. I would call it a |
| budding/evolving project, since it is currently not in production |
| stage, but rather under heavy development. Python is used as the main |
| scripting/interaction level, but also for rapid prototyping, since |
| the underlying C++ class library is pretty much fully exposed via |
| boost.python (at least the high-level interface). The combined power |
| of C++ and Python for this project turned out to be just awesome. |
| </blockquote><br> |
| |
| </dd> |
| |
| <dt><a href= |
| "http://www.procoders.net/pythonmagick"><b>PythonMagick</b></a></dt> |
| |
| <dd>PythonMagick binds the <a href= |
| "http://www.graphicsmagick.org">GraphicsMagick</a> image manipulation |
| library to Python.<br> |
| </dd> |
| |
| <dt><a href="http://www.vpython.org"><b>VPython</b></a></dt> |
| |
| <dd> |
| <a href="mailto:Bruce_Sherwood-at-ncsu.edu">Bruce Sherwood</a> writes: |
| |
| <blockquote> |
| VPython is an extension for Python that makes it easy to create |
| navigable 3D animations, which are generated as a side effect of |
| computational code. VPython is used in education for various |
| purposes, including teaching physics and programming, but it has also |
| been used by research scientists to visualize systems or data in 3D. |
| </blockquote><br> |
| |
| </dd> |
| </dl> |
| |
| <h3>Scientific Computing</h3> |
| |
| <dl class="page index"> |
| <dt><a href="http://camfr.sourceforge.net"><b>CAMFR</b></a></dt> |
| |
| <dd> |
| CAMFR is a photonics and electromagnetics modelling tool. Python is |
| used for computational steering. |
| |
| <p><a href="mailto:Peter.Bienstman@rug.ac.be">Peter Bienstman</a> |
| writes:</p> |
| |
| <blockquote> |
| Thanks for providing such a great tool! |
| </blockquote> |
| </dd> |
| |
| <dt><a href="http://cctbx.sourceforge.net"><b>cctbx - Computational |
| Crystallography Toolbox</b></a></dt> |
| |
| <dd> |
| 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. |
| |
| <p>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.</p> |
| |
| <p>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 L-BFGS quasi-Newton minimizer.</p> |
| </dd> |
| |
| <dt><a href="http://www.llnl.gov/CASC/emsolve"><b>EMSolve</b></a></dt> |
| |
| <dd>EMSolve is a provably stable, charge conserving, and energy |
| conserving solver for Maxwell's equations.<br> |
| </dd> |
| |
| <dt><b><a href="http://cern.ch/gaudi">Gaudi</a></b> and <b><a href= |
| "http://cern.ch/Gaudi/RootPython/">RootPython</a></b></dt> |
| |
| <dd> |
| Gaudi is a framework for particle physics collision data processing |
| applications developed in the context of the LHCb and ATLAS experiments |
| at CERN. |
| |
| <p><a href="mailto:Pere.Mato@cern.ch">Pere Mato Vila</a> writes:</p> |
| |
| <blockquote> |
| 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 <a href= |
| "http://root.cern.ch">ROOT</a> framework and python |
| |
| <p>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.</p> |
| </blockquote> |
| </dd> |
| |
| <dt><b><a href="http://www.esss.com.br">ESSS</a></b></dt> |
| |
| <dd> |
| ESSS (Engineering Simulation and Scientific Software) is a company that |
| provides engineering solutions and acts in the brazilian and |
| south-american market providing products and services related to |
| Computational Fluid Dynamics and Image Analysis. |
| |
| <p><a href="mailto:bruno@esss.com.br">Bruno da Silva de Oliveira</a> |
| writes:</p> |
| |
| <blockquote> |
| Recently we moved our work from working exclusively with C++ to an |
| hybrid-language approach, using Python and C++, with Boost.Python |
| providing the layer between the two. The results are great so far! |
| </blockquote> |
| |
| <p>Two projects have been developed so far with this technology:</p> |
| |
| <p><b><a href= |
| "http://www.esss.com.br/index.php?pg=dev_projetos">Simba</a></b> |
| provides 3D visualization of geological formations gattered from the |
| simulation of the evolution of oil systems, allowing the user to |
| analyse various aspects of the simulation, like deformation, pressure |
| and fluids, along the time of the simulation.</p> |
| |
| <p><b><a href= |
| "http://www.esss.com.br/index.php?pg=dev_projetos">Aero</a></b> aims to |
| construct a CFD with brazilian technology, which involves various |
| companies and universities. ESSS is responsible for various of the |
| application modules, including GUI and post-processing of results.</p> |
| </dd> |
| |
| <dt><b><a href="http://polybori.sourceforge.net/">PolyBoRi</a></b></dt> |
| |
| <dd> |
| <p><a href="mailto:brickenstein@mfo.de" |
| >Michael Brickenstein</a> writes:</p> |
| |
| <blockquote> |
| <p>The core of PolyBoRi is a C++ library, which provides |
| high-level data types for Boolean polynomials and monomials, |
| exponent vectors, as well as for the underlying polynomial |
| rings and subsets of the powerset of the Boolean variables. As |
| a unique approach, binary decision diagrams are used as |
| internal storage type for polynomial structures. On top of |
| this C++-library we provide a Python interface. This allows |
| parsing of complex polynomial systems, as well as sophisticated |
| and extendable strategies for Gröbner basis computation. |
| Boost.Python has helped us to create this interface in a |
| very clean way.</p> |
| </blockquote> |
| </dd> |
| |
| <dt><b><a href="http://www.rationaldiscovery.com">Rational Discovery |
| LLC</a></b></dt> |
| |
| <dd> |
| Rational Discovery provides computational modeling, combinatorial |
| library design and custom software development services to the |
| pharmaceutical, biotech and chemical industries. We do a substantial |
| amount of internal research to develop new approaches for applying |
| machine-learning techniques to solve chemical problems. Because we're a |
| small organization and chemistry is a large and complex field, it is |
| essential that we be able to quickly and easily prototype and test new |
| algorithms. |
| |
| <p>For our internal software, we implement core data structures in C |
| and expose them to Python using Boost.Python. Algorithm development is |
| done in Python and then translated to C if required (often it's not). |
| This hybrid development approach not only greatly increases our |
| productivity, but it also allows "non-developers" (people without C |
| experience) to take part in method development. Learning C is a |
| daunting task, but "Python fits your brain." (Thanks to Bruce Eckel for |
| the quote.)</p> |
| </dd> |
| </dl> |
| |
| <h3>Systems Libraries</h3> |
| |
| <dl> |
| <dt><a href="http://itamarst.org/software"><b>Fusion</b></a></dt> |
| |
| <dd> |
| <p>Fusion is a library that supports implementing protocols in C++ for |
| use with Twisted, allowing control over memory allocation strategies, |
| fast method calls internally, etc.. Fusion supports TCP, UDP and |
| multicast, and is implemented using the Boost.Python python |
| bindings.</p> |
| |
| <p>Fusion is licensed under the MIT license, and available for download |
| from <a href= |
| "http://itamarst.org/software">http://itamarst.org/software</a>.</p> |
| </dd> |
| </dl> |
| |
| <h3>Tools</h3> |
| |
| <dl> |
| <dt><a href="http://www.jayacard.org"><b>Jayacard</b></a></dt> |
| |
| <dd> |
| Jayacard aims at developing a secure portable open source operating |
| system for contactless smart cards and a complete suite of high quality |
| development tools to ease smart card OS and application development. |
| |
| <p>The core of the smart card reader management is written in C++ but |
| all the development tools are written in the friendly Python language. |
| Boost plays the fundamental role of binding the tools to our core smart |
| card reader library.</p> |
| </dd> |
| </dl> |
| <hr> |
| |
| <p>Revised |
| <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan --> |
| 29 May, 2008</p> |
| |
| <p><i>© Copyright <a href="http://www.boost.org/people/dave_abrahams.htm">Dave |
| Abrahams</a> 2002-2008.</i></p> |
| </body> |
| </html> |