[Numpy-discussion] the state of NA/masking

Nathaniel Smith njs@pobox....
Sun Apr 22 17:14:56 CDT 2012

Hi all,

Travis, Mark, and I talked on Skype this week about how to
productively move forward with the NA debate, and I got picked to
summarize for the list :-).

There are three main things we discussed:

1) About process: We seem to agree that this discussion has been
ineffective for a variety of reasons, and that it would be best to
back up and try the consensus-based approach. Maybe not everyone
agrees... I'm not sure how we go about building consensus on whether
we need consensus? And we noted that we may not actually all mean the
same thing by that. To start a discussion, I'll write up separately
what I understand by that term.

2) If we require consensus on our NA implemention, then we have a
problem for the 1.7.0 release. The problem is this:
  -- We have some kind of commitment to keeping compatibility between releases
  -- Therefore, if we release with NA masks, then we have some kind of
commitment to continuing to support these in some form going forward
  -- But as per above, we can't make such a commitment until we have
consensus, and we don't have consensus. Even if we end up deciding
that the current code is the best thing ever, we haven't done that

Therefore, we have a kind of constrained optimization problem: we need
to find the best way to adjust our "some kind of commitment", or the
current code, or both, so that we can release 1.7. Alternatively we
could delay the release until we have reached and implemented
consensus, but I have an allergy to putting such amorphous things on
our critical path, and I suspect I'm not the only one. (If it turns
out that consensus is quick and the release is slow for other reasons,
then that'd be great, of course, but why depend on it if we don't have

I'll also send a separate email to try and lay out the main options
here, as a basis for discussion.

3) And, in the long run, there's the actual question of what we kind
of NA support we actually want in numpy. A major problem here is that
it's very difficult for anyone who hasn't spent huge amounts of time
wading through the mailing list to actually understand what the points
of contention are. So, Mark and I are going to *co*-write a document
explaining what we see as the main problems, and trying to clarify our
disagreements. Of course, this still won't include everyone's point of
view, but hopefully it will serve as a good starting point for... you
guessed it... discussion.

-- Nathaniel

More information about the NumPy-Discussion mailing list