mirror of
https://github.com/boostorg/python.git
synced 2026-01-19 04:22:16 +00:00
473 lines
18 KiB
HTML
473 lines
18 KiB
HTML
<!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://pyrap.googlecode.com/">Pyrap</a></b></dt>
|
|
<dd>
|
|
<p><a href="diepen@astron.nl"
|
|
>Ger van Diepen</a> writes:</p>
|
|
|
|
<blockquote>
|
|
<p>Pyrap is the python interface to the Radio-Astronomical Package
|
|
casacore (<a href="http://casacore.googlecode.com/"
|
|
>casacore.googlecode.com</a>). Astronomers love pyrap because
|
|
it makes it easily possible to get their data (observed with
|
|
radio-astronomical telescopes like LOFAR, ASKAP, and eVLA) in numpy
|
|
arrays and do basic data inspection and manipulation using the many
|
|
python packages that are available.</p>
|
|
|
|
<p>Boost.Python made it quite easily possible to create converters for
|
|
the various data types, also for numpy arrays and individual elements
|
|
of a numpy array. It's nice they work fully recursively. Mapping C++
|
|
functions to Python was straightforward.</p>
|
|
</blockquote>
|
|
</dd>
|
|
|
|
<dt><b><a href="http://www.rdkit.org/"
|
|
>RDKit: Cheminformatics and Machine Learning Software</a></b></dt>
|
|
|
|
<dd>
|
|
A collection of cheminformatics and machine-learning software
|
|
written in C++ and Python.
|
|
</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>
|