Re: [Cython] [cython-users] ANN: XDress v0.1 -- Automatic Code Generator and C/C++ Wrapper

2013-04-02 Thread Anthony Scopatz
On Tue, Apr 2, 2013 at 2:17 PM, Dag Sverre Seljebotn <
d.s.seljeb...@astro.uio.no> wrote:

> [Crossing over to cython-devel to discuss further development]
>
> Wow, my first impression is this looks great!
>

Thanks Dag!


> It's a shame that clang wasn't able to give a good enough parse tree for
> templates


Yeah, this was pretty infuriating since it is the last part of a visitor
pattern that you write.  To be clear though, this wouldn't be super hard
for them to expose it would just take some work and then some effort to get
the Clang people to merge these changes back into their mainline.  They are
open to this kind of activity and Eli has a great blog post describing the
process in brutal detail [1].   I just personally don't have time to go
down this road.


> Is gcc-xml still a fork of a really old gcc?


Hmm, now that you mention it, I am not sure.  The website gives conflicting
information on how much of an extension / plugin it is.  However, gccxml
does support gcc 4.7 so it can't be that old.


> Did you look into the code using the gcc plugin architecture that Phillip
> Heron worked on in the GSoC last year for this?
>

No, I didn't even know about it! Though pxd generation is only part of what
xdress does, it will be good to look at.

Be Well
Anthony

1. http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/


>
> Also, Cython devs, where's the wiki page listing all the wrapper
> generators in existence? I tried to find it but couldn't..
>
> Dag Sverre
>
>
> On 04/02/2013 08:26 PM, Anthony Scopatz wrote:
>
>> Hello All,
>>
>> I am spamming the lists which may be interested in a C/C++ automatic
>> API wrapper / code generator / type system / thing I wrote.  I'll keep
>> future updates more discrete.  I'd love to help folks get started with
>> this
>> and more participation is always welcome!  Release notes are below.
>>
>> Please visit the docs: http://bit.ly/xdress-code
>>
>> Or just grab the repo: 
>> http://github.com/scopatz/**xdress<http://github.com/scopatz/xdress>
>>
>> Be Well
>> Anthony
>>
>> 
>> 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:
>>
>>- Dynamic system for specifying types
>>- Automatically describes C/C++ APIs from source code with no
>> modifications.
>>- Python extension module generation (via Cython) from C++ API
>> descriptions
>>- Python views into C++ STL containers.  Vectors are NumPy arrays
>> while maps
>>  and sets have custom collections.MutableMapping and
>> collections.MutableSet
>>  subclasses.
>>- Command line interface to the above tools.
>>
>> Please visit the website for more information: http://bit.ly/xdress-code
>>
>> Or grab the code from GitHub: 
>> http://github.com/scopatz/**xdress<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:
>>
>> * Base types (int, str, float, non-templated classes)
>> * Refined types (even or odd ints, strings containing the letter 'a')
>> * Dependent types (templates such arrays, maps, sets, vectors)
>>
>> 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 comp

[Cython] ANN: XDress v0.2

2013-06-24 Thread Anthony Scopatz
les created by xdress into your
build system.

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 on top of the type system and autodescriber, please let us know.
Participation is very welcome!

Authors
===
- `Anthony Scopatz <http://scopatz.com/>`_
- Spencer Lyon *
- Gerald Dalley *
- Alexander Eisenhuth *

An * indicates a first time contributor.

Links
=

1. Homepage - http://xdress.org/
2. Mailing List - xdr...@googlegroups.com
3. GitHub Organization - https://github.com/xdress
4. Pycparser - https://pypi.python.org/pypi/pycparser
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


[Cython] Update xdress link

2013-07-06 Thread Anthony Scopatz
Hello All,

I was wondering if it would be possible to update the xdress link on the
AutoPxd wiki page [1] to the new url: http://xdress.org/  Thanks in advance!

Be Well
Anthony

1. http://wiki.cython.org/AutoPxd
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] Update xdress link

2013-07-06 Thread Anthony Scopatz
Thanks Robert!


On Sat, Jul 6, 2013 at 5:10 PM, Robert Bradshaw  wrote:

> On Sat, Jul 6, 2013 at 2:26 PM, Anthony Scopatz  wrote:
> > Hello All,
> >
> > I was wondering if it would be possible to update the xdress link on the
>
> Of course. Done.
>
> - Robert
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
>
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


Re: [Cython] getting rid of redundancy in the docs

2013-07-14 Thread Anthony Scopatz
Hello Stefan,

I think that this is a good idea and I just thought that I'd throw the
following out there.  We got rid of a lot of redundancy by eliminating our
wiki for PyTables.  It was a little bit of a hassle to move all of the moin
pages that we had to sphinx, but ultimately I think that it was the right
decision.  It made it way easier on developers and -- hopefully -- users as
well to just have a single place where the documentation kept.   (As a
Cython user I have definitely forgotten whether I read something on the
sphinx doc or the wiki.)

So +1 to this idea, but unfortunately, I can't volunteer any time to
actually work on it :(.

Be Well
Anthony




On Sun, Jul 14, 2013 at 1:47 AM, Stefan Behnel  wrote:

> Hi all,
>
> I recently added a couple of things to the documentation and constantly
> failed to find the right place to add it at first (or sometimes even
> second) guess. The problem is that the documentation is highly redundant.
> We discussed this before, but it's really getting in the way now.
>
> What I would like to see eventually (and let's discuss this openly on the
> cython-users list), is just a tutorial part to explain the major features,
> and a reference part that explains all the rest in detail. The user guide
> is highly redundant with both.
>
> However, since the current user guide carries a whole load of text, I think
> it's easier to make it the new reference part and merge the (few) current
> reference pages back into the user guide. And then extract the sections
> that actually belong into the tutorial part, i.e. delete the Overview, move
> the Basic Tutorial over, and most likely some other sections, too.
>
> Does everyone agree about that approach? Is anyone able to help with this?
>
> Stefan
> ___
> cython-devel mailing list
> cython-devel@python.org
> http://mail.python.org/mailman/listinfo/cython-devel
>
___
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel


[Cython] 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
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 &

Re: [Cython] Numpy Deprecation Warnings

2014-03-12 Thread Anthony Scopatz
Forwarding this on to cython developers.


On Sun, Mar 9, 2014 at 9:54 AM, Anthony Scopatz  wrote:

> Hello All,
>
> I continue to see numpy deprecation warnings.  When I set the right flag
> flag, the warnings go away but then the build fails because it seems Cython
> *is* generating to the old API even though I am not using it!  Is this what
> is actually going on?  And if so, is there a fix in the pipeline?
>
> Be Well
> Anthony
>
___
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel