shape_validation#

k3d.helpers.shape_validation(*dimensions)[source]#

Create a validator callback ensuring array shape.

Returns

Shape validator function.

Return type

function

Raises

TraitError – Expected an array of shape _ and got _.

Note

This validation function is used along with traitlets and traittypes packages, which are used to ensure the utilization of the right format and type within classes attributes.

See traittypes documentation for more informations.

Examples#

Valid shape#

from k3d.helpers import shape_validation
import numpy as np
from traitlets import HasTraits, TraitError
from traittypes import Array

class Foo(HasTraits):
    bar = Array(type=np.uint32).valid(shape_validation(3, 2))

foo = Foo()

foo.bar = np.array([[1, 2],
                    [3, 4],
                    [5, 6]])

"""
"""

Unvalid shape#

from k3d.helpers import shape_validation
import numpy as np
from traitlets import HasTraits, TraitError
from traittypes import Array

class Foo(HasTraits):
    bar = Array(type=np.uint32).valid(shape_validation(3, 2))

foo = Foo()

foo.bar = np.array([1, 2])

"""
TraitError: Expected an array of shape (3, 2) and got (2,)
"""