[Numpy-discussion] ANN: XDress v0.4

Anthony Scopatz scopatz at gmail.com
Thu Feb 27 07:36:14 EST 2014

On Thu, Feb 27, 2014 at 1:51 AM, Eelco Hoogendoorn <
hoogendoorn.eelco at gmail.com> wrote:

> Thanks for the heads up, I wasn't aware of this project. While
> boost.python is a very nice package, its distributability is nothing short
> of nonexistent, so its great to have a pure python binding generator.


> One thing which I have often found frustrating is natural ndarray interop
> between python and C++. Is there a (planned) mechanism for mapping
> arbitrary strided python ndarrays to boost arrays?

Not yet!  The architecture is very modular (it is just a series of plugins)
so I would welcome anyone who wants to tackle this to take a look into it.
 I don't think that it would be *that* hard.  You'd just need to write the
Py-to-C++ and C++-to-Py converters for the boost array type.  This
shouldn't be too hard since std::vector goes through pretty much exactly
the same mechanism for exposing to numpy. So there are already a couple of
examples of this workflow.  Please feel free to jump on the xdress mailing
list if you want to discuss this in more depth!

Also I didn't know about ndarray/Boost.NumPy. This seems like it could be

Be Well

> On Thu, Feb 27, 2014 at 1:24 AM, Anthony Scopatz <scopatz at gmail.com>wrote:
>> Hello All,
>> I am *extremely *pleased to be able to announce the version 0.4 release
>> of xdress.  This version contains much anticipated full support for Clang
>> as a parser!  This is almost entirely due to the efforts of Geoffrey
>> Irving.  Please thank him the next time you get a chance :)
>> This release also contains a lot of other goodies that you can read about
>> in the release notes below.
>> Happy Generating!
>> Anthony
>> XDress 0.4 Release Notes<http://xdress.org/previous/0.4_release_notes.html#xdress-0-4-release-notes>
>> XDress is a numpy-aware automatic wrapper generator for C/C++ written in
>> pure Python. Currently, xdress may generate Python bindings (via Cython)
>> for C++ classes, functions, and certain variable types. It also contains
>> idiomatic 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:
>>    - Clang support! All kudos to Geoffrey Irving!
>>    - NumPy dtypes may be created independently of C++ STL vectors
>>    - A complete test suite refactor
>>    - Arbitrary source code locations
>>    - Global run control files
>>    - A plethora of useful bug fixes
>> This version of xdress is *not* 100% backwards compatible with previous
>> versions of xdress. We apologize in the name of progress. It represents ans
>> impressive 245 files changed, 44917 aggregate line insertions (+), and 7893
>> deletions (-).
>> Please visit the website for more information: http://xdress.org/
>> Ask questions on the mailing list:
>> https://groups.google.com/forum/#!forum/xdress
>> Download the code from GitHub: http://github.com/xdress/xdress
>> XDress is free & open source (BSD 2-clause license) and requires Python
>> 2.7+, NumPy 1.5+, Cython 0.19+, and optionally Clang, GCC-XML, pycparser,
>> dOxygen, or lxml.
>>  New Features<http://xdress.org/previous/0.4_release_notes.html#new-features>
>> Clang Support<http://xdress.org/previous/0.4_release_notes.html#clang-support>
>> Through the herculean efforts of Geoffrey Irving xdress finally has full,
>> first-class Clang/LLVM support! This is major advancement as it allows
>> xdress to wrap more modern versions of C++ than GCC-XML can handle. Because
>> of deficiencies in the existing libclang and Python bindings it was
>> necessary for us to fork libclang for xdress in the short term. We hope to
>> integrate these changes upstream. Clang versions 3.2 - 3.4 are supported.
>> Independent NumPy Dtypes<http://xdress.org/previous/0.4_release_notes.html#independent-numpy-dtypes>
>> In previous versions of xdress, to create a dtype of type T the user
>> needed to declare the desire for a wrapper of an STL vector of type T.
>> These two desires have now been separated. It is now possible to create a
>> dtype via the dtypes run control parameter. STL vectors are still
>> wrapped via dtypes. See the dtypes module for more information.
>> Shiny New Test Suite<http://xdress.org/previous/0.4_release_notes.html#shiny-new-test-suite>
>> The xdress test suite has been completely revamped to include both unit
>> and integration tests which are run for all available parsers. The
>> integration tests are accomplished though two fake projects - cproj and
>> cppproj - on which the xdress CLI is run. These tests are now fully
>> platform independent, unlike the previous BASH-based test suite.
>> Source Paths<http://xdress.org/previous/0.4_release_notes.html#source-paths>
>> Source file paths are now given by either their absolute or relative
>> path. This allows source code to be located anywhere on the user's file
>> system and enable the wrapping of dependencies or externally supplied
>> libraries as needed. The run control parametersourcedir has been
>> deprecated.
>> Global Run Control Files<http://xdress.org/previous/0.4_release_notes.html#global-run-control-files>
>> It is sometimes useful to be able to set system-wide run control
>> parameters. XDress will now search the following files in order of
>> increasing precedence.
>>    - $HOME/.xdressrc
>>    - $HOME/.xdressrc.py
>>    - $HOME/.config/xdressrc
>>    - $HOME/.config/xdressrc.py
>> $HOME is the user's home directory. Settings in the project run control
>> file take precedence over the values here.
>>  Major Bug Fixes<http://xdress.org/previous/0.4_release_notes.html#major-bug-fixes>
>>    - Debug file now always written when in debug mode.
>>    - STL sets of custom types now allowed.
>>    - Template parameters now allowed to be enum values.
>>    - Allow classes with no default constructor.
>> Join in the Fun!<http://xdress.org/previous/0.4_release_notes.html#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 plugin tool, please let us know. Participation is
>> very welcome!
>>  Authors <http://xdress.org/previous/0.4_release_notes.html#authors>
>>    - Anthony Scopatz <http://scopatz.com/>
>>    - Geoffrey Irving *
>>    - James Casbon *
>>    - Kevin Tew *
>>    - Spencer Lyon
>>    - John Wiggins
>>    - Matt McCormick
>>    - Brad Buran
>>    - Chris Harris *
>>    - Gerald Dalley *
>>    - Micky Latowicki *
>>    - Mike C. Fletcher *
>>    - Robert Schwarz *
>> An * indicates a first time contributor.
>> Links <http://xdress.org/previous/0.4_release_notes.html#links>
>>    1. Homepage - http://xdress.org/
>>    2. Mailing List - https://groups.google.com/forum/#!forum/xdress
>>    3. GitHub Organization - https://github.com/xdress
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140227/00c23cee/attachment.html>

More information about the NumPy-Discussion mailing list