MyGit

0.1

xdress/xdress

版本发布时间: 2013-07-27 11:11:44

xdress/xdress最新发布版本:0.4(2014-02-27 08:11:31)

XDress 0.1 Release Notes

XDress is an automatic wrapper generator for C/C++ written in pure Python. Currently, xdress may generate Python bindings (via Cython) for C++ classes & functions and in-memory wrappers for C++ standard library containers (sets, vectors, maps). In the future, other tools and bindings will be supported.

The main enabling feature of xdress is a dynamic type system that was designed with the purpose of API generation in mind.

Release highlights:

Please visit the website for more information: http://bit.ly/xdress-code

Or grab the code from GitHub: http://github.com/scopatz/xdress

XDress is free & open source (BSD 2-clause license) and requires Python 2.7, NumPy 1.5+, PyTables 2.1+, Cython 0.18+, GCC-XML, and lxml.

New Features

Type System

This module provides a suite of tools for denoting, describing, and converting between various data types and the types coming from various systems. This is achieved by providing canonical abstractions of various kinds of types:

All types are known by their name (a string identifier) and may be aliased with other names. However, the string id of a type is not sufficient to fully describe most types. The system here implements a canonical form for all kinds of types. This canonical form is itself hashable, being comprised only of strings, ints, and tuples.

Descriptions

A key component of API wrapper generation is having a a top-level, abstract representation of the software that is being wrapped. In C++ there are three basic constructs which may be wrapped: variables, functions, and classes. Here we restrict ourselves to wrapping classes and functions, though variables may be added in the future.

The abstract representation of a C++ class is known as a description (abbr. desc). This description is simply a Python dictionary with a specific structure. This structure makes heavy use of the type system to declare the types of all needed parameters.

Mini-FAQ

Join in the Fun!

If you are interested in using xdress on your project (and need help), contributing back to xdress, starting up a development team, or writing your own code generation front end tool on top of the type system and autodescriber, please let me know. Participation is very welcome!

Authors

XDress was written by Anthony Scopatz, who had many type system discussions with John Bachan over coffee at the Div school, and was polished up and released under the encouragement of Christopher Jordan-Squire at PyCon 2013.

相关地址:原始地址 下载(tar) 下载(zip)

查看:2013-07-27发行的版本