I'm +1 on Cython. I think its prevalence in the community gives us a larger 
potential contributor pool than CXX or hand-coded python C-API. I know using  
Cython would open up that part of the code base for me.

Ryan

On Dec 1, 2012, at 8:44, Michiel de Hoon <mjldeh...@yahoo.com> wrote:

> 
> In my experience, Benjamin is right that the C code is rarely touched. This 
> is even more true for the Python/C glue code, at least from my experience 
> with the Mac OS X backend. Since the Python/C glue code is modified only very 
> rarely, there may not be a  need for regenerating the Python/C glue code by 
> developers or users from a Cython source code.
> 
> In addition, it is much easier to maintain the Python/C glue code than to 
> write it from scratch. Once you have the Python/C glue code, it's relatively 
> straightforward to modify it by looking at the existing Python/C glue code.
> 
> This argues against making the Cython source code a part of the matplotlib 
> codebase.
> 
> At the same time, to minimize errors, we could use Cython to create the 
> initial Python/C glue code, and then add the generated code to the matplotlib 
> codebase. Then neither users nor developers have to install Cython, we don't 
> have to worry about inconsistencies (if any) between different Cython 
> versions, we don't have to worry about keeping the Cython source code and the 
> generated code in sync, and we will still get a high-quality Cython-generated 
> Python/C glue code.
> 
> By the way, how many modules in matplotlib make use of CXX, and would have to 
> be converted?
> 
> Best,
> -Michiel.
> 
> --- On Fri, 11/30/12, Benjamin Root <ben.r...@ou.edu> wrote:
> 
> From: Benjamin Root <ben.r...@ou.edu>
> Subject: Re: [matplotlib-devel] Experiments in removing/replacing PyCXX
> To: "Nathaniel Smith" <n...@pobox.com>
> Cc: "Michiel de Hoon" <mjldeh...@yahoo.com>, 
> "matplotlib-devel@lists.sourceforge.net" 
> <matplotlib-devel@lists.sourceforge.net>, "Chris Barker - NOAA Federal" 
> <chris.bar...@noaa.gov>
> Date: Friday, November 30, 2012, 8:32 PM
> 
> 
> 
> On Fri, Nov 30, 2012 at 6:44 PM, Nathaniel Smith <n...@pobox.com> wrote:
> On Fri, Nov 30, 2012 at 11:40 PM, Michiel de Hoon <mjldeh...@yahoo.com> wrote:
> > One package (Pysam) that I use a lot relies on Cython, and requires users 
> > to install Cython before they can install Pysam itself. With Cython, is 
> > that always the case? Will all users need to install Cython? Or is it 
> > sufficient if only matplotlib developers install Cython?
> 
> You can set things up so that end-users don't have to install cython.
> You just convert the .pyx files to regular .c files before
> distributing your package. Numpy itself uses cython, but end-users
> don't notice or care. (It's something more of a hassle for developers
> to do things this way, and cython is very easy to install, so I don't
> know if it's worth it. But it's certainly possible.)
> 
> 
> Since when has numpy used Cython?  I specifically remember a rather involved 
> discussion thread on numpy-discussion about the pros-and-cons of including 
> cython.  Now, SciPy on the other hand, does utilize Cython in some spots 
> IIRC, but does it in a way that it isn't even required for the developers to 
> have cython installed to build from source.
> 
> I would not be against such an approach.  Much of the C/C++ stuff is rarely 
> touched.  If we have some source cython that is used to generate C/C++ source 
> code that is packaged in the same way as the current code is, I would have no 
> problem with that.  Given that matplotlib is such a fundamental tool in the 
> ecosystem, I want to make sure that the decisions we make are ones that 
> improves our packaging situation.
> 
> Cheers!
> Ben Root
> ------------------------------------------------------------------------------
> Keep yourself connected to Go Parallel: 
> INSIGHTS What's next for parallel hardware, programming and related areas?
> Interviews and blogs by thought leaders keep you ahead of the curve.
> http://goparallel.sourceforge.net
> _______________________________________________
> Matplotlib-devel mailing list
> Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to