Skip to content

chempy, quantities need numpy<=2.3.5 #1817

@AgnieszkaZaba

Description

@AgnieszkaZaba

There is conflict with some dependencies.
Possible sources: numpy, chempy, quantities (chempy dependence)

My current setup:

  • numpy 2.4.2
  • chempy 0.10.1
  • quantities 0.16.1

Works for numpy<=2.3.5

Error stack:

File ~/PycharmProjects/PySDM/PySDM/dynamics/impl/chemistry_utils.py:7
      1 """
      2 aqueous chemistry helper utils including specific gravity constants with
      3  values obtained using [chempy](https://pythonhosted.org/chempy/)'s `Substance`
      4 """
      6 import numpy as np
----> 7 from chempy import Substance
      9 from PySDM.physics.constants import K_H2O, M, si
     12 class EqConst:  # pylint: disable=too-few-public-methods

File ~/PycharmProjects/venv3.12/lib/python3.12/site-packages/chempy/__init__.py:9
      7 from ._url import __url__
      8 from ._release import __version__
----> 9 from .chemistry import (
     10     Substance,
     11     Reaction,
     12     Equilibrium,
     13     Species,
     14     balance_stoichiometry,
     15     mass_fractions,
     16 )
     17 from .reactionsystem import ReactionSystem
     18 from .henry import Henry

File ~/PycharmProjects/venv3.12/lib/python3.12/site-packages/chempy/chemistry.py:22
     13 from .util.periodic import mass_from_composition
     14 from .util.parsing import (
     15     formula_to_composition,
     16     to_reaction,
   (...)
     19     formula_to_html,
     20 )
---> 22 from .units import default_units, is_quantity, unit_of, to_unitless
     23 from ._util import intdiv
     24 from .util.pyutil import deprecated, DeferredImport, ChemPyDeprecationWarning

File ~/PycharmProjects/venv3.12/lib/python3.12/site-packages/chempy/units.py:31
     27 units_library = "quantities"  # info used for selective testing.
     30 try:
---> 31     pq = __import__(units_library)
     32 except ImportError:
     33     UncertainQuantity = None

File ~/PycharmProjects/venv3.12/lib/python3.12/site-packages/quantities/__init__.py:275
    271 from ._version import __version__
    273 from .registry import unit_registry
--> 275 from . import quantity
    276 from .quantity import Quantity
    278 from . import uncertainquantity

File ~/PycharmProjects/venv3.12/lib/python3.12/site-packages/quantities/quantity.py:113
    109         return f(self, other)
    110     return g
--> 113 class Quantity(np.ndarray):
    114 
    115     # TODO: what is an appropriate value?
    116     __array_priority__ = 21
    118     def __new__(cls, data, units='', dtype=None, copy=None):

File ~/PycharmProjects/venv3.12/lib/python3.12/site-packages/quantities/quantity.py:605, in Quantity()
    601 @with_doc(np.nanargmax)
    602 def nanargmax(self,axis=None, out=None):
    603     return np.nanargmax(self.magnitude)
--> 605 @with_doc(np.ndarray.ptp)
    606 def ptp(self, axis=None, out=None):
    607     ret = np.ptp(self.magnitude, axis, None if out is None else out.magnitude)
    608     dim = self.dimensionality

AttributeError: type object 'numpy.ndarray' has no attribute 'ptp'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions