On May 25, 2010, at 4:49 PM, David Goldsmith wrote:

> Travis: do you already have a place on the NumPy Development Wiki where 
> you're (b)logging your design decisions?  Seems like a good way for concerned 
> parties to monitor your choices in more or less real time and thus provide 
> comment in a timely fashion.

This is a great idea of course and we will definitely post progess there.   So 
far, the code has been reviewed and several functions identified for 
re-factoring.   This is taking place in a github branch of numpy called numpy 
refactor.     

-Travis

> 
> DG
> 
> On Tue, May 25, 2010 at 2:19 PM, Charles R Harris <charlesr.har...@gmail.com> 
> wrote:
> 
> 
> On Tue, May 25, 2010 at 2:54 PM, Travis Oliphant <oliph...@enthought.com> 
> wrote:
> 
> On May 25, 2010, at 2:50 PM, Charles R Harris wrote:
> 
>> 
>> 
>> On Tue, May 25, 2010 at 1:37 PM, Travis Oliphant <oliph...@enthought.com> 
>> wrote:
>> 
>> Hi everyone,
>> 
>> There has been some talk about re-factoring NumPy to separate out the
>> Python C-API layer and make NumPy closer to a C-library.   I know
>> there are a few different ideas about what this means, and also that
>> people are very busy.  I also know there is a NumPy 2.0 release that
>> is in the works.
>> 
>> I'm excited to let everyone know that we (at Enthought) have been able
>> to find resources (about 3 man months) to work on this re-factoring
>> project and Scott and Jason (both very experienced C and Python
>> programmers) are actively pursuing it.    My hope is that NumPy 2.0
>> will contain this re-factoring (which should be finished just after
>> SciPy 2010 --- where I'm going to organize a Sprint on NumPy which
>> will include at least date-time improvements and re-factoring work).
>> 
>> While we have specific goals for the re-factoring, we want this
>> activity to be fully integrated with the NumPy community and Scott and
>> Jason want to interact with the community as much as feasible as they
>> suggest re-factoring changes (though they both have more experience
>> with phone-conversations to resolve concerns than email chains and so
>> some patience from everybody will be appreciated).
>> 
>> Because Jason and Scott are new to this mailing list (but not new to
>> NumPy),  I wanted to introduce them so they would feel more
>> comfortable posting questions and people would have some context as to
>> what they were trying to do.
>> 
>> Scott and Jason are both very proficient and skilled programmers and I
>> have full confidence in their abilities.   That said, we very much
>> want the input of as many people as possible as we pursue the goal of
>> grouping together more tightly the Python C-API interface layer to
>> NumPy.
>> 
>> I will be involved in some of the discussions, but am currently on a
>> different project which has tight schedules and so I will only be able
>> to provide limited "mailing-list" visibility.
>> 
>> 
>> I think 2.0 would be a bit early for this. Is there any reason it couldn't 
>> be done in 2.1? What is the planned policy with regards to the visible 
>> interface for extensions? It would also be nice to have a rough idea of how 
>> the resulting code would be layered, i.e., what is the design for this 
>> re-factoring. Simply having a design would be a major step forward.
> 
> The problem with doing it in 2.1 is that this re-factoring will require 
> extensions to be re-built.   The visible interface to extensions will not 
> change, but there will likely be ABI incompatibility.    It seems prudent to 
> do this in NumPy 2.0.   Perhaps we can also put in place the ABI-protecting 
> indirection approaches that David C. was suggesting earlier.  
> 
> Some aspects of the design are still being fleshed out, but the basic idea is 
> to separate out a core library that is as independent of the Python C-API as 
> possible.    There will likely be at least some dependency on the Python 
> C-API (reference counting and error handling and possibly others) which any 
> interface would have to provide in a very simple Python.h -- equivalent, for 
> example.  
> 
> Our purpose is to allow NumPy to be integrated with other languages or other 
> frameworks systems without explicitly relying on CPython.    There are a lot 
> of questions as to how this will work, and so much of that is being worked 
> out.   Part of the reason for this mail is to help ensure that as much of 
> this discussion as possible takes place in public.  
> 
> 
> Sounds good, but what if it doesn't get finished in a few months? I think we 
> should get 2.0.0 out pronto, ideally it would already have been released. I 
> think a major refactoring like this proposal should get the 3.0.0 label. 
> Admittedly that makes keeping a refactored branch current with fixes going 
> into the trunk a hassle, but perhaps that can be worked around somewhat by 
> clearly labeling what files will be touched in the refactoring and possibly 
> rearranging the content of the existing files. This requires a game plan and 
> a clear idea of the goal. Put simply, I think the proposed schedule is too 
> ambitious and needs to be fleshed out.  This refactoring isn't going to be as 
> straight forward as the python3k port because a lot of design decisions need 
> to be made along the way.
> 
> Chuck
> 
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> 
> 
> 
> 
> -- 
> Mathematician: noun, someone who disavows certainty when their uncertainty 
> set is non-empty, even if that set has measure zero.
> 
> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her 
> lies, prevents mankind from committing a general suicide.  (As interpreted by 
> Robert Graves)
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

---
Travis Oliphant
Enthought, Inc.
oliph...@enthought.com
1-512-536-1057
http://www.enthought.com



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

Reply via email to