Reflection-Based Python-C++ Bindings

PDF Version Also Available for Download.

Description

Python is a flexible, powerful, high-level language with excellent interactive and introspective capabilities and a very clean syntax. As such, it can be a very effective tool for driving physics analysis. Python is designed to be extensible in low-level C-like languages, and its use as a scientific steering language has become quite widespread. To this end, existing and custom-written C or C++ libraries are bound to the Python environment as so-called extension modules. A number of tools for easing the process of creating such bindings exist, such as SWIG and Boost. Python. Yet, the process still requires a considerable amount ... continued below

Physical Description

vp.

Creation Information

Generowicz, Jacek; Lavrijsen, Wim T.L.P.; Marino, Massimo & Mato, Pere October 14, 2004.

Context

This article is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided by UNT Libraries Government Documents Department to Digital Library, a digital repository hosted by the UNT Libraries. More information about this article can be viewed below.

Who

People and organizations associated with either the creation of this article or its content.

Publisher

Provided By

UNT Libraries Government Documents Department

Serving as both a federal and a state depository library, the UNT Libraries Government Documents Department maintains millions of items in a variety of formats. The department is a member of the FDLP Content Partnerships Program and an Affiliated Archive of the National Archives.

Contact Us

What

Descriptive information to help identify this article. Follow the links below to find similar items on the Digital Library.

Description

Python is a flexible, powerful, high-level language with excellent interactive and introspective capabilities and a very clean syntax. As such, it can be a very effective tool for driving physics analysis. Python is designed to be extensible in low-level C-like languages, and its use as a scientific steering language has become quite widespread. To this end, existing and custom-written C or C++ libraries are bound to the Python environment as so-called extension modules. A number of tools for easing the process of creating such bindings exist, such as SWIG and Boost. Python. Yet, the process still requires a considerable amount of effort and expertise. The C++ language has few built-in introspective capabilities, but tools such as LCGDict and CINT add this by providing so-called dictionaries: libraries that contain information about the names, entry points, argument types, etc. of other libraries. The reflection information from these dictionaries can be used for the creation of bindings and so the process can be fully automated, as dictionaries are already provided for many end-user libraries for other purposes, such as object persistency. PyLCGDict is a Python extension module that uses LCG dictionaries, as PyROOT uses CINT reflection information, to allow /cwPython users to access C++ libraries with essentially no preparation on the users' behalf. In addition, and in a similar way, PyROOT gives ROOT users access to Python libraries.

Physical Description

vp.

Notes

INIS; OSTI as DE00835826

Source

  • Computing in High Energy and Nuclear Physics (CHEP) 2004, Interlaken (CH), 09/27/2004--10/01/2004

Language

Item Type

Identifier

Unique identifying numbers for this article in the Digital Library or other systems.

  • Report No.: LBNL--56538
  • Grant Number: AC03-76SF00098
  • Office of Scientific & Technical Information Report Number: 835826
  • Archival Resource Key: ark:/67531/metadc781441

Collections

This article is part of the following collection of related materials.

Office of Scientific & Technical Information Technical Reports

Reports, articles and other documents harvested from the Office of Scientific and Technical Information.

Office of Scientific and Technical Information (OSTI) is the Department of Energy (DOE) office that collects, preserves, and disseminates DOE-sponsored research and development (R&D) results that are the outcomes of R&D projects or other funded activities at DOE labs and facilities nationwide and grantees at universities and other institutions.

What responsibilities do I have when using this article?

When

Dates and time periods associated with this article.

Creation Date

  • October 14, 2004

Added to The UNT Digital Library

  • Dec. 3, 2015, 9:30 a.m.

Description Last Updated

  • April 4, 2016, 6 p.m.

Usage Statistics

When was this article last used?

Yesterday: 0
Past 30 days: 3
Total Uses: 10

Interact With This Article

Here are some suggestions for what to do next.

Start Reading

PDF Version Also Available for Download.

International Image Interoperability Framework

IIF Logo

We support the IIIF Presentation API

Generowicz, Jacek; Lavrijsen, Wim T.L.P.; Marino, Massimo & Mato, Pere. Reflection-Based Python-C++ Bindings, article, October 14, 2004; Berkeley, California. (digital.library.unt.edu/ark:/67531/metadc781441/: accessed November 21, 2018), University of North Texas Libraries, Digital Library, digital.library.unt.edu; crediting UNT Libraries Government Documents Department.