[Numpy-discussion] Removing datetime support for 1.4.x series ?
Tue Feb 2 20:23:23 CST 2010
On 2010-02-02 19:53 , David Cournapeau wrote:
> Travis Oliphant wrote:
>> I think we just signal the breakage in 1.4.1 and move forward. The
>> datetime is useful as a place-holder for data. Math on date-time arrays
>> just doesn't work yet. I don't think removing it is the right
>> approach. It would be better to spend the time on fleshing out the
>> ufuncs and conversion functions for date-time support.
> Just so that there is no confusion: it is only about removing it for
> 1.4.x, not about removing datetime altogether. It seems that datetime in
> 1.4.x has few users, whereas breaking ABI is a nuisance for many more
> people. In particular, people who update NumPy 1.4.0 cannot use scipy or
> matplotlib unless they build it by themselves as well - we are talking
> about thousand of people at least assuming sourceforge numbers are accurate.
> More fundamentally though, what is your opinion about ABI ? Am I right
> to understand you don't consider is as significant ?
In previous discussions about compatibility-breaking, particularly in
instances where compatibility has been broken, we have heard vociferous
complaints from users on this list about NumPy's inability to maintain
compatibility within minor releases. The silent majority of people who
just use NumPy and don't follow our development process are not here to
express their displeasure. Even the small number of people who are
reporting import errors after upgrading their NumPy installations should
be an indication to the developers that this *is* in fact a problem.
I don't understand Travis's comment that "datetime is just a
place-holder for data". We have heard from a number of people that the
current state of the datetime work is not sufficiently advanced to be
useful for them. What is the place that needs holding here? What
difference does it make if that code is simply developed on a branch
which will be incorporated into an ABI-breaking x.y release when
datetime support is at a useful point in its development? What's the
particular benefit for NumPy users or developers in including a
half-working feature in a release? If we simply want the feature to
start getting exercised by developers, then we should make a long-lived
publicly available branch for those who would like to try it out.
(Insert distributed version control plug here.)
NumPy has become in the past 3-5 years a critical low-level library that
supports a large number of Python projects. As a library, the balance
between compatibility and new features has to shift in favor of
compatibility. This is a change from the days when Travis O. owned the
NumPy source tree and features were added at will (and we are all glad
that they were added).
As a simple user, I vote in favor of considering 1.4.0 as a buggy
release of NumPy, removing datetime support (it's just one 4000 line
commit, right?) and releasing an ABI compatible 1.4.1. That should
probably be accompanied by a roadmap hashed out at this year's SciPy
conference that takes us up through adding datetime, Python 3 and a
possible major rewrite (that will add the indirection necessary to make
future ABI breaks unneccessary).
More information about the NumPy-Discussion