Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Toby St Clere Smithe
Hi,

Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
 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?

Have you tried boost.numpy?

https://github.com/ndarray/Boost.NumPy

I have a fork which builds against Python 3, as well -- though it's
mainly used for PyViennaCL, and might need a bit of cleaning.

Cheers,

Toby





 On Thu, Feb 27, 2014 at 1:24 AM, Anthony Scopatz scop...@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 
 Noteshttp://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 Featureshttp://xdress.org/previous/0.4_release_notes.html#new-features
 Clang 
 Supporthttp://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 
 Dtypeshttp://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 
 Suitehttp://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 Pathshttp://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 
 Fileshttp://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 

Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Eelco Hoogendoorn
I have; but if I recall correctly, it does not solve the problem of
distributing code that uses it, or does it?


On Thu, Feb 27, 2014 at 10:51 AM, Toby St Clere Smithe 
pyvienn...@tsmithe.net wrote:

 Hi,

 Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
  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?

 Have you tried boost.numpy?

 https://github.com/ndarray/Boost.NumPy

 I have a fork which builds against Python 3, as well -- though it's
 mainly used for PyViennaCL, and might need a bit of cleaning.

 Cheers,

 Toby




 
  On Thu, Feb 27, 2014 at 1:24 AM, Anthony Scopatz scop...@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 

Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Toby St Clere Smithe
Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
 I have; but if I recall correctly, it does not solve the problem of
 distributing code that uses it, or does it?

Indeed not. But the Boost licence is very liberal, so I just link it
statically; for source distributions, I just ship a minimal copy of the
Boost sources I need.


Toby


 On Thu, Feb 27, 2014 at 10:51 AM, Toby St Clere Smithe 
 pyvienn...@tsmithe.net wrote:

 Hi,

 Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
  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?

 Have you tried boost.numpy?

 https://github.com/ndarray/Boost.NumPy

 I have a fork which builds against Python 3, as well -- though it's
 mainly used for PyViennaCL, and might need a bit of cleaning.

 Cheers,

 Toby




 
  On Thu, Feb 27, 2014 at 1:24 AM, Anthony Scopatz scop...@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 

Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Anthony Scopatz
On Thu, Feb 27, 2014 at 1:51 AM, Eelco Hoogendoorn 
hoogendoorn.ee...@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 scop...@gmail.comwrote:

 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 
 Noteshttp://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 Featureshttp://xdress.org/previous/0.4_release_notes.html#new-features
 Clang 
 Supporthttp://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 
 Dtypeshttp://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 
 Suitehttp://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 Pathshttp://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 

Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Eelco Hoogendoorn
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 scop...@gmail.com wrote:


 On Thu, Feb 27, 2014 at 1:51 AM, Eelco Hoogendoorn 
 hoogendoorn.ee...@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 scop...@gmail.comwrote:

 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 
 Noteshttp://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 
 Featureshttp://xdress.org/previous/0.4_release_notes.html#new-features
 Clang 
 Supporthttp://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 
 Dtypeshttp://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 
 Suitehttp://xdress.org/previous/0.4_release_notes.html#shiny-new-test-suite

 The xdress test suite has been completely revamped to include both 

Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Toby St Clere Smithe
Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
 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...

You don't have to use bjam! I have built my projects with distutils and
CMake, and never once touched bjam; CMake provides find_package scripts
for Boost, Python and NumPy, and for distutils, I just include the
relevant files and flags in my project.

See [1] for a CMake example, and [2] for a distutils example.

[1] https://github.com/tsmithe/viennacl-dev/blob/pyviennacl/CMakeLists.txt
[2] https://github.com/viennacl/pyviennacl-dev/blob/master/setup.py


Cheers,

Toby

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Eelco Hoogendoorn
That is good to know. The boost documentation makes it appear as if bjam is
the only way to build boost.python, but good to see examples to the
contrary!


On Thu, Feb 27, 2014 at 2:19 PM, Toby St Clere Smithe 
pyvienn...@tsmithe.net wrote:

 Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
  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...

 You don't have to use bjam! I have built my projects with distutils and
 CMake, and never once touched bjam; CMake provides find_package scripts
 for Boost, Python and NumPy, and for distutils, I just include the
 relevant files and flags in my project.

 See [1] for a CMake example, and [2] for a distutils example.

 [1] https://github.com/tsmithe/viennacl-dev/blob/pyviennacl/CMakeLists.txt
 [2] https://github.com/viennacl/pyviennacl-dev/blob/master/setup.py


 Cheers,

 Toby

 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-27 Thread Toby St Clere Smithe
Eelco Hoogendoorn hoogendoorn.ee...@gmail.com writes:
 That is good to know. The boost documentation makes it appear as if bjam is
 the only way to build boost.python, but good to see examples to the
 contrary!

Quite. I really wish they would officially adopt something more
sensible, but in the meantime, using alternatives isn't too hard :)


Toby

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] ANN: XDress v0.4

2014-02-26 Thread Anthony Scopatz
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
Noteshttp://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 Featureshttp://xdress.org/previous/0.4_release_notes.html#new-features
Clang Supporthttp://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
Dtypeshttp://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 
Suitehttp://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 Pathshttp://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
Fileshttp://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 
Fixeshttp://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
  

Re: [Numpy-discussion] ANN: XDress v0.4

2014-02-26 Thread Eelco Hoogendoorn
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?


On Thu, Feb 27, 2014 at 1:24 AM, Anthony Scopatz scop...@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 
 Noteshttp://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 Featureshttp://xdress.org/previous/0.4_release_notes.html#new-features
 Clang Supporthttp://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 
 Dtypeshttp://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 
 Suitehttp://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 Pathshttp://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 
 Fileshttp://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 
 Fixeshttp://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