def __init__(self, name, elements, minimum, maximum):
if not <NUM_LIT:0> <= minimum <= <NUM_LIT:100>:<EOL><INDENT>raise CitrinationClientError("<STR_LIT>")<EOL><DEDENT>if not <NUM_LIT:0> <= maximum <= <NUM_LIT:100>:<EOL><INDENT>raise CitrinationClientError("<STR_LIT>")<EOL><DEDENT>if not maximum >= minimum:<EOL><INDENT>raise CitrinationClientError("<STR_LIT>")<EOL><DEDENT>self._type = "<STR_LIT>"<EOL>self._elements = elements<EOL>self._name = name<EOL>self._min = minimum<EOL>self._max = maximum<EOL>
Constructor.

:param name: The name of the column in the data
    view to which this constraint should be applied
:type name: str
:param elements: An array of element abbreviations as
    strings, e.g. ["Mg", "C"]
:type elements: list of str
:param minimum: The minimum value (<= 100) as a percentage
    at which the specified elements should appear in
    candidate compositions
:type minimum: float
:param maximum: The maximum value (<= 100) as a percentage
    at which the specified elements should appear in
    candidate compositions
:type maximum: float