-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increase Python requirement to 3.8 #278
Comments
Mantid is moving to Python 3.10 at the moment ready for v6.8 release in October. |
There was an automated recommendation to bump scipy to 1.10 for security purposes. As this version requires Python 3.8, we can't do that until 3.7 is dropped. We might as well do those things simultaneously; @sf1919 will all Mantid builds be on Scipy >= 1.10? We also have this dependabot warning about old versions of Numpy, but those versions are also incompatible with Scipy 1.10: https://github.com/pace-neutrons/Euphonic/security/dependabot/11 |
Numpy 1.19.5 is the minimum version for use with Scipy 1.10, so this should be used for the minimum requirements testing |
@lru_cache
no longer requires an argument to decorate a function@functools.cached_property
looks handy@functools.singledispatchmethod
provides a cleaner handling of type-dispatched methods; this could be used to clean up e.g. the Spectrum objects that have a lot of type-dispatching.math.dist()
calculates Euclidean distance. Mostly we would usenp.linalg.norm
for this but it might be the better option if the data isn't already in numpy arrays.math.prod
- finally something like a lisp (* ...) for multiplication of an arbitrary number of arguments 😁 .multiprocessing.shared_memory
module (not that we should stop using C/OpenMP for "hot" parts of the code!)typing.TypedDict
provides a proper way to type-hint heterogeneous dictionaries. Of course, a lot of those could be NamedTuple or dataclass, but for existing or JSON-imported dictionaries this is good.typing.Literal
to define a specific set of allowed values. We could be using this for e.g. 'gauss', 'lorentz' broadening options.The text was updated successfully, but these errors were encountered: