param icon indicating copy to clipboard operation
param copied to clipboard

Array should not force `allow_None=True`

Open jbednar opened this issue 4 years ago • 0 comments

As mentioned by @jlstevens in https://github.com/holoviz/param/pull/582 , it's odd that an Array parameter forces allow_None to True:

class Array(ClassSelector):
    """
    Parameter whose value is a numpy array.
    """

    def __init__(self, default=None, **params):
        from numpy import ndarray
        super(Array, self).__init__(ndarray, allow_None=True, default=default, **params)

I'm guessing that the original reason for that was to make the code able to work when NumPy is not available, but because we always assume allow_None to be True if the default is None, here having a None default should be sufficient already, without forcing all Array instances to allow None. Fixing this will be a breaking change, since any user of Array that does want to allow None will now have to supply that flag explicitly, but it seems the right thing to do.

jbednar avatar Dec 15 '21 18:12 jbednar