pcdshub / pcdsdevices

Collection of Ophyd device subclasses for IOCs unique to LCLS PCDS.
https://pcdshub.github.io/pcdsdevices/
Other
5 stars 58 forks source link

MAINT/CI: drop pint in favor of sympy, various CI tweaks #1253

Closed ZLLentz closed 3 months ago

ZLLentz commented 3 months ago

Description

Try to replace pint with sympy to see if we have more stable test suites. Various other CI adjustments related to numpy 2.0

Motivation and Context

We've historically had some compatibility issues with pint every time a major package has an API change. For example: right now, numpy has updated to 2.0 and an optional dependency of pint is not importable with numpy 2 and therefore it busts the entire test suite.

Let's stop using it because we don't need all the features and this pint.compat module has been a constant thorn in our side.

Candidate 1: raw sympy (here) Candidate 2: possibly unyt? (separate PR?)

How Has This Been Tested?

The tests still pass for our existing unit conversions

Where Has This Been Documented?

Here only

Pre-merge checklist

ZLLentz commented 3 months ago

I'm going to get this in so the CI will start being useful in the other PRs, even though I think there are a couple small things to improve here.