[Numpy-discussion] ANN: XDress v0.4

Eelco Hoogendoorn hoogendoorn.eelco at gmail.com
Thu Feb 27 07:47:25 EST 2014


I have a file numpy_boost_python.hpp in one of my projects by Michael
Droettboom (can seem to find an online source anymore!), which adds
mappings between numpy.ndarray and boost.ndarray, which is very neat
and seemless. But like boost.python, it tightly couples with the
clusterfuck that is bjam. However, something conceptually like that but
integrated with XDress would be great. Indeed it does not sound too
complicated; though I don't think I will get around to it anytime soon,
unfortunately...


On Thu, Feb 27, 2014 at 1:36 PM, Anthony Scopatz <scopatz at gmail.com> wrote:

>
> 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.
>>
>
> Thanks!
>
>
>> 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
> useful!
>
> Be Well
> Anthony
>
>
>>
>>
>> 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
>>
>>
>
> _______________________________________________
> 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/f9d6dc54/attachment.html>


More information about the NumPy-Discussion mailing list