[Numpy-discussion] Splitting MaskedArray into a separate package
Ralf Gommers
ralf.gommers at gmail.com
Wed May 23 15:29:32 EDT 2018
On Wed, May 23, 2018 at 12:06 PM, Matti Picus <matti.picus at gmail.com> wrote:
> MaskedArray is a strange but useful creature. This NEP proposes to
> distribute it as a separate package under the NumPy brand.
>
> As I understand the process, a proposed NEP should be first discussed here
> to gauge general acceptance, then after that the details should be
> discussed on the pull request itself https://github.com/numpy/numpy
> /pull/11146.
>
> Here is the motivation section from the NEP:
>
> MaskedArrays are a sub-class of the NumPy ``ndarray`` that adds
>> masking capabilities, i.e. the ability to ignore or hide certain array
>> values during computation.
>>
>> While historically convenient to distribute this class inside of NumPy,
>> improved packaging has made it possible to distribute it separately
>> without difficulty.
>>
>> Motivations for this move include:
>>
>> * Focus: the NumPy package should strive to only include the
>> `ndarray` object, and the essential utilities needed to manipulate
>> such arrays.
>> * Complexity: the MaskedArray implementation is non-trivial, and imposes
>> a significant maintenance burden.
>> * Compatibility: MaskedArray objects, being subclasses of `ndarrays`,
>> often cause complications when being used with other packages.
>> Fixing these issues is outside the scope of NumPy development.
>>
>
Hmm, I wouldn't say it's out of scope at all. Currently it's simply part of
numpy.
>
>> This NEP proposes a deprecation pathway through which MaskedArrays
>> would still be accessible to users, but no longer as part of the core
>> package.
>>
>
> Any thoughts?
>
You're missing an important step I think. You're proposing to deprecate
MaskedArray completely (or not?). IIRC this has not been decided or
seriously discussed before.
The complexity is not going away if you intend to keep MaskedArray alive
long-term, only in a separate package. It gets worse actually, because now
we would need to cross-package regression testing.
Ralf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20180523/11191e97/attachment.html>
More information about the NumPy-Discussion
mailing list