diff --git a/tunits/core/__init__.pyi b/tunits/core/__init__.pyi index aa688fb..d4b7fb8 100644 --- a/tunits/core/__init__.pyi +++ b/tunits/core/__init__.pyi @@ -337,7 +337,7 @@ class ValueArray(Generic[ValueType2], WithUnit): def __init__(self, data: Any, unit: Any = None) -> None: ... def allclose(self, other: ValueArray | Value, *args: Any, **kwargs: float) -> bool: ... def unique(self: ArrayType) -> ArrayType: ... - def __array__(self, dtype: DTypeLike = None) -> NDArray[Any]: ... + def __array__(self, dtype: DTypeLike | None = None) -> NDArray[Any]: ... def __array_wrap__(self, out_arr: NDArray[Any], context: Any = None) -> NDArray[Any]: ... def __copy__(self: ArrayType) -> ArrayType: ... def __deepcopy__(self: ArrayType) -> ArrayType: ... diff --git a/tunits/core/cython/unit_database.pyx b/tunits/core/cython/unit_database.pyx index 0c7bbb8..302f04b 100644 --- a/tunits/core/cython/unit_database.pyx +++ b/tunits/core/cython/unit_database.pyx @@ -62,7 +62,7 @@ class UnitDatabase: """ if formula in self.known_units: return self.known_units[formula] - parsed = unit_regex.parseString(formula) + parsed = unit_regex.parse_string(formula) result = Value(parsed.factor or 1) for item in parsed.posexp: result *= self._parse_unit_item(item, +1, auto_create) diff --git a/tunits/core/cython/unit_grammar.pyx b/tunits/core/cython/unit_grammar.pyx index 02be53e..00b0693 100644 --- a/tunits/core/cython/unit_grammar.pyx +++ b/tunits/core/cython/unit_grammar.pyx @@ -41,18 +41,18 @@ scalar_combine = Combine( + Optional('.' + Optional(Word(nums))) + Optional('e' + Word('+-' + nums, nums)) ) -scalar = scalar_combine.setParseAction(lambda s, l, t: [float(t[0])])('factor') +scalar = scalar_combine.set_parse_action(lambda s, l, t: [float(t[0])])('factor') -number = Word(nums).setParseAction(lambda s, l, t: [int(t[0])]) +number = Word(nums).set_parse_action(lambda s, l, t: [int(t[0])]) name = Word(alphas, alphanums) negatable = Optional(Literal('-'))('neg') exponent = _maybe_parens(negatable + _maybe_parens(number('num') + Optional('/' + number('denom')))) single_unit = name('name') + Optional('^' + exponent) -head = Group(single_unit).setResultsName('posexp', True) -times_unit = Group('*' + single_unit).setResultsName('posexp', True) -over_unit = Group('/' + single_unit).setResultsName('negexp', True) +head = Group(single_unit).set_results_name('posexp', True) +times_unit = Group('*' + single_unit).set_results_name('posexp', True) +over_unit = Group('/' + single_unit).set_results_name('negexp', True) unit_regex = ( stringStart