<!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 Windows (vers 1st August 2002), see www.w3.org">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../../../boost.css">

    <title>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">Boost.Python</h1>

          <h2 align="center">Index</h2>
        </td>


        <td align="right">

          <form method="get" action="http://www.google.com/custom">
            <p>
              <span id= "search-choice">
                Search
                <select name="hq" id="hq">
                  <option label="All Documentation" value=
                          "site:www.boost.org inurl:www.boost.org/libs/python/doc">
                    All Documentation
                  </option>
                  <option label="Tutorial" value=
                          "site:www.boost.org inurl:www.boost.org/libs/python/doc/tutorial">
                    Tutorial
                  </option>
                  <option label="Reference" value=
                          "site:www.boost.org inurl:www.boost.org/libs/python/doc/v2">
                    Reference
                  </option>
              </select>
                <br>
             </span> 

              <span id="search-text">
                <input type="text" name="q" id="q" size="31" maxlength="255" alt="Search Text" />
              </span> 

              <br>
              <span id= "google">
                <a href= "http://www.google.com/search"> 
                  <img src="../../../more/google_logo_25wht.gif" alt="Google" border="0" /></a>Powered
              </span> 

              <span id="go">
                <input type="image" name="search" src="../../../more/space.gif" alt="Search" id="search-button" />
              </span> 

              <br>
              <input type="hidden" name="cof" value= "LW:277;L:http://www.boost.org/boost.png;LH:86;AH:center;GL:0;S:http://www.boost.org;AWFID:9b83d16ce652ed5a;" />
              <input type="hidden" name="sa" value= "Google Search" /> 
              <input type="hidden" name= "domains" value= "www.boost.org;mail.python.org" /></p>
          </form>

        </td>
      </tr>
<tr>

      </tr>
    </table>
    <hr>


    <h2>Synopsis</h2>
    Welcome to version 2 of <b>Boost.Python</b>, a C++ library which enables
    seamless interoperability between C++ and the <a href=
    "http://www.python.org">Python</a> programming language. The new version
    has been rewritten from the ground up, with a more convenient and
    flexible interface, and many new capabilities, including support for: 

    <ul>
      <li>References and Pointers</li>

      <li>Globally Registered Type Coercions</li>

      <li>Automatic Cross-Module Type Conversions</li>

      <li>Efficient Function Overloading</li>

      <li>C++ to Python Exception Translation</li>

      <li>Default Arguments</li>

      <li>Keyword Arguments</li>

      <li>Manipulating Python objects in C++</li>

      <li>Exporting C++ Iterators as Python Iterators</li>

      <li>Documentation Strings</li>
    </ul>
    The development of these features was funded in part by grants to <a
    href="http://www.boost-consulting.com">Boost Consulting</a> from the <a
    href="http://www.llnl.gov/">Lawrence Livermore National Laboratories</a>
    and by the <a href="http://cci.lbl.gov/">Computational Crystallography
    Initiative</a> at Lawrence Berkeley National Laboratories. 

    <hr>

    <h2>Contents</h2>

    <dl class="index">
      <dt><a href="tutorial/index.html">Tutorial Introduction</a></dt>

      <dt><a href="building.html">Building and Testing</a></dt>

      <dt><a href="v2/reference.html">Reference Manual</a></dt>

      <dt>Suites:</dt>
        <dd>
          <ul>
            <li><a href="v2/pickle.html">Pickle</a></li>
            <li><a href="v2/indexing.html">Indexing</a></li>
          </ul>
        </dd>

      <dt><a href="v2/configuration.html">Configuration Information</a></dt>

      <dt><a href="v2/platforms.html">Known Working Platforms and
      Compilers</a></dt>

      <dt><a href="v2/definitions.html">Definitions</a></dt>

      <dt><a href="projects.html">Projects using Boost.Python</a></dt>

      <dt><a href="support.html">Support Resources</a></dt>

      <dt><a href="v2/faq.html">Frequently Asked Questions (FAQs)</a></dt>
      
      <dt><a href="http://www.language-binding.net/pyplusplus/pyplusplus.html">Py++ Boost.Python code generator</a></dt>

      <dt><a href="../pyste/index.html">Pyste Boost.Python code generator (no longer maintained)</a></dt>

      <dt><a href="internals.html">Internals Documentation</a></dt>

      <dt><a href="news.html">News/Change Log</a></dt>
 
      <dt><a href="../todo.html">TODO list</a></dt>

     <dt><a href="v2/progress_reports.html">LLNL Progress Reports</a></dt>

      <dt><a href="v2/acknowledgments.html">Acknowledgments</a></dt>
    </dl>
    <hr>

    <h2>Articles</h2>

      &quot;<a href="PyConDC_2003/bpl.html">Building Hybrid
      Systems With Boost Python</a>&quot;, by Dave Abrahams and Ralf
      W. Grosse-Kunstleve (<a href="PyConDC_2003/bpl.pdf">PDF</a>)

    <hr>

    <p>Revised 
    <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
     26 August, 2003
    <!--webbot bot="Timestamp" endspan i-checksum="39359" -->
    </p>

    <p><i>&copy; Copyright <a href="http://www.boost.org/people/dave_abrahams.htm">Dave
    Abrahams</a> 2002-2003.</i></p>
  </body>
</html>

