From 2d34b355edb1384b1b274725252e5859f58e64be Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Wed, 25 Dec 2024 11:44:24 +0100 Subject: [PATCH] [Fix] Fix ruff errors and a few type annotations --- pyerrors/correlators.py | 2 +- pyerrors/misc.py | 6 ++++-- pyerrors/mpm.py | 1 - pyerrors/obs.py | 11 ++++++++++- pyerrors/roots.py | 2 +- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pyerrors/correlators.py b/pyerrors/correlators.py index 74db429d..436ca6ad 100644 --- a/pyerrors/correlators.py +++ b/pyerrors/correlators.py @@ -7,7 +7,7 @@ import matplotlib.pyplot as plt import scipy.linalg from .obs import Obs, reweight, correlate, CObs from .misc import dump_object, _assert_equal_properties -from .fits import least_squares +from .fits import least_squares, Fit_result from .roots import find_root from . import linalg from numpy import float64, int64, ndarray, ufunc diff --git a/pyerrors/misc.py b/pyerrors/misc.py index 8832e0ef..9fe679e7 100644 --- a/pyerrors/misc.py +++ b/pyerrors/misc.py @@ -6,11 +6,13 @@ import matplotlib import matplotlib.pyplot as plt import pandas as pd import pickle -from .obs import Obs +from .obs import Obs, CObs from .version import __version__ from numpy import float64, int64, ndarray -from typing import List, Type, Union +from typing import List, Type, Union, TYPE_CHECKING +if TYPE_CHECKING: + from .correlators import Corr def print_config(): """Print information about version of python, pyerrors and dependencies.""" diff --git a/pyerrors/mpm.py b/pyerrors/mpm.py index b539797e..50b5b837 100644 --- a/pyerrors/mpm.py +++ b/pyerrors/mpm.py @@ -3,7 +3,6 @@ import numpy as np import scipy.linalg from .obs import Obs from .linalg import svd, eig -from pyerrors.obs import Obs from typing import List diff --git a/pyerrors/obs.py b/pyerrors/obs.py index 44f26a7e..762f2b06 100644 --- a/pyerrors/obs.py +++ b/pyerrors/obs.py @@ -1,4 +1,5 @@ from __future__ import annotations +import sys import warnings import hashlib import pickle @@ -12,7 +13,15 @@ import numdifftools as nd from itertools import groupby from .covobs import Covobs from numpy import bool, float64, int64, ndarray -from typing import Any, Callable, Dict, List, Optional, Union +from typing import Any, Callable, Dict, List, Optional, Union, TYPE_CHECKING + +if sys.version_info >= (3, 10): + from types import NotImplementedType +else: + NotImplementedType = type(NotImplemented) + +if TYPE_CHECKING: + from .correlators import Corr # Improve print output of numpy.ndarrays containing Obs objects. np.set_printoptions(formatter={'object': lambda x: str(x)}) diff --git a/pyerrors/roots.py b/pyerrors/roots.py index c3a9f7da..ece0e183 100644 --- a/pyerrors/roots.py +++ b/pyerrors/roots.py @@ -2,7 +2,7 @@ from __future__ import annotations import numpy as np import scipy.optimize from autograd import jacobian -from .obs import derived_observable +from .obs import Obs, derived_observable from typing import Callable, List, Union