mirror of
https://github.com/p2p-ld/numpydantic.git
synced 2024-11-12 17:54:29 +00:00
update import location
This commit is contained in:
parent
dba550f41b
commit
4c911d2516
14 changed files with 82 additions and 64 deletions
|
@ -16,12 +16,12 @@ Extension of nptyping NDArray for pydantic that allows for JSON-Schema serializa
|
|||
from typing import TYPE_CHECKING, Any, Tuple
|
||||
|
||||
import numpy as np
|
||||
from nptyping.error import InvalidArgumentsError
|
||||
from nptyping.ndarray import NDArrayMeta as _NDArrayMeta
|
||||
from nptyping.nptyping_type import NPTypingType
|
||||
from nptyping.structure import Structure
|
||||
from nptyping.structure_expression import check_type_names
|
||||
from nptyping.typing_ import (
|
||||
from numpydantic.vendor.nptyping.error import InvalidArgumentsError
|
||||
from numpydantic.vendor.nptyping.ndarray import NDArrayMeta as _NDArrayMeta
|
||||
from numpydantic.vendor.nptyping.nptyping_type import NPTypingType
|
||||
from numpydantic.vendor.nptyping.structure import Structure
|
||||
from numpydantic.vendor.nptyping.structure_expression import check_type_names
|
||||
from numpydantic.vendor.nptyping.typing_ import (
|
||||
dtype_per_name,
|
||||
)
|
||||
from pydantic import GetJsonSchemaHandler
|
||||
|
|
|
@ -7,7 +7,7 @@ import hashlib
|
|||
import json
|
||||
from typing import TYPE_CHECKING, Any, Callable, Optional, Union
|
||||
|
||||
import nptyping.structure
|
||||
from numpydantic.vendor.nptyping.structure import StructureMeta
|
||||
import numpy as np
|
||||
from pydantic import SerializationInfo
|
||||
from pydantic_core import CoreSchema, core_schema
|
||||
|
@ -45,7 +45,7 @@ def _numeric_dtype(dtype: DtypeType, _handler: _handler_type) -> CoreSchema:
|
|||
|
||||
def _lol_dtype(dtype: DtypeType, _handler: _handler_type) -> CoreSchema:
|
||||
"""Get the innermost dtype schema to use in the generated pydantic schema"""
|
||||
if isinstance(dtype, nptyping.structure.StructureMeta): # pragma: no cover
|
||||
if isinstance(dtype, StructureMeta): # pragma: no cover
|
||||
raise NotImplementedError("Structured dtypes are currently unsupported")
|
||||
|
||||
if isinstance(dtype, tuple):
|
||||
|
|
|
@ -29,15 +29,15 @@ from abc import ABC
|
|||
from functools import lru_cache
|
||||
from typing import Any, Dict, List, Union
|
||||
|
||||
from nptyping.base_meta_classes import ContainerMeta
|
||||
from nptyping.error import InvalidShapeError, NPTypingError
|
||||
from nptyping.nptyping_type import NPTypingType
|
||||
from nptyping.shape_expression import (
|
||||
from numpydantic.vendor.nptyping.base_meta_classes import ContainerMeta
|
||||
from numpydantic.vendor.nptyping.error import InvalidShapeError, NPTypingError
|
||||
from numpydantic.vendor.nptyping.nptyping_type import NPTypingType
|
||||
from numpydantic.vendor.nptyping.shape_expression import (
|
||||
get_dimensions,
|
||||
normalize_shape_expression,
|
||||
remove_labels,
|
||||
)
|
||||
from nptyping.typing_ import ShapeExpression, ShapeTuple
|
||||
from numpydantic.vendor.nptyping.typing_ import ShapeExpression, ShapeTuple
|
||||
|
||||
|
||||
class ShapeMeta(ContainerMeta, implementation="Shape"):
|
||||
|
|
20
src/numpydantic/vendor/nptyping/__init__.py
vendored
20
src/numpydantic/vendor/nptyping/__init__.py
vendored
|
@ -22,25 +22,25 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||
SOFTWARE.
|
||||
"""
|
||||
|
||||
from nptyping.assert_isinstance import assert_isinstance
|
||||
from nptyping.error import (
|
||||
from numpydantic.vendor.nptyping.assert_isinstance import assert_isinstance
|
||||
from numpydantic.vendor.nptyping.error import (
|
||||
InvalidArgumentsError,
|
||||
InvalidDTypeError,
|
||||
InvalidShapeError,
|
||||
InvalidStructureError,
|
||||
NPTypingError,
|
||||
)
|
||||
from nptyping.ndarray import NDArray
|
||||
from nptyping.package_info import __version__
|
||||
from nptyping.pandas_.dataframe import DataFrame
|
||||
from nptyping.recarray import RecArray
|
||||
from nptyping.shape import Shape
|
||||
from nptyping.shape_expression import (
|
||||
from numpydantic.vendor.nptyping.ndarray import NDArray
|
||||
from numpydantic.vendor.nptyping.package_info import __version__
|
||||
from numpydantic.vendor.nptyping.pandas_.dataframe import DataFrame
|
||||
from numpydantic.vendor.nptyping.recarray import RecArray
|
||||
from numpydantic.vendor.nptyping.shape import Shape
|
||||
from numpydantic.vendor.nptyping.shape_expression import (
|
||||
normalize_shape_expression,
|
||||
validate_shape_expression,
|
||||
)
|
||||
from nptyping.structure import Structure
|
||||
from nptyping.typing_ import (
|
||||
from numpydantic.vendor.nptyping.structure import Structure
|
||||
from numpydantic.vendor.nptyping.typing_ import (
|
||||
Bool,
|
||||
Bool8,
|
||||
Byte,
|
||||
|
|
|
@ -23,7 +23,8 @@ SOFTWARE.
|
|||
"""
|
||||
|
||||
from abc import ABCMeta, abstractmethod
|
||||
from inspect import FrameInfo
|
||||
from inspect import FrameInfo, getframeinfo
|
||||
from types import FrameType
|
||||
from typing import (
|
||||
Any,
|
||||
Dict,
|
||||
|
@ -34,7 +35,7 @@ from typing import (
|
|||
TypeVar,
|
||||
)
|
||||
|
||||
from nptyping.error import InvalidArgumentsError, NPTypingError
|
||||
from numpydantic.vendor.nptyping.error import InvalidArgumentsError, NPTypingError
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
|
@ -126,10 +127,14 @@ class SubscriptableMeta(ABCMeta):
|
|||
@abstractmethod
|
||||
def _get_item(cls, item: Any) -> Tuple[Any, ...]: ... # pragma: no cover
|
||||
|
||||
def _get_module(cls, stack: List[FrameInfo], module: str) -> str:
|
||||
def _get_module(cls, stack: FrameType, module: str) -> str:
|
||||
# The magic below makes Python's help function display a meaningful
|
||||
# text with nptyping types.
|
||||
return "typing" if stack[1][3] == "formatannotation" else module
|
||||
return (
|
||||
"typing"
|
||||
if getframeinfo(stack.f_back).function == "formatannotation"
|
||||
else module
|
||||
)
|
||||
|
||||
def _get_additional_values(
|
||||
cls, item: Any # pylint: disable=unused-argument
|
||||
|
|
21
src/numpydantic/vendor/nptyping/ndarray.py
vendored
21
src/numpydantic/vendor/nptyping/ndarray.py
vendored
|
@ -27,7 +27,7 @@ from abc import ABC
|
|||
from typing import Any, Tuple
|
||||
|
||||
import numpy as np
|
||||
from nptyping.base_meta_classes import (
|
||||
from numpydantic.vendor.nptyping.base_meta_classes import (
|
||||
FinalMeta,
|
||||
ImmutableMeta,
|
||||
InconstructableMeta,
|
||||
|
@ -35,13 +35,16 @@ from nptyping.base_meta_classes import (
|
|||
PrintableMeta,
|
||||
SubscriptableMeta,
|
||||
)
|
||||
from nptyping.error import InvalidArgumentsError
|
||||
from nptyping.nptyping_type import NPTypingType
|
||||
from nptyping.shape import Shape
|
||||
from nptyping.shape_expression import check_shape
|
||||
from nptyping.structure import Structure
|
||||
from nptyping.structure_expression import check_structure, check_type_names
|
||||
from nptyping.typing_ import (
|
||||
from numpydantic.vendor.nptyping.error import InvalidArgumentsError
|
||||
from numpydantic.vendor.nptyping.nptyping_type import NPTypingType
|
||||
from numpydantic.vendor.nptyping.shape import Shape
|
||||
from numpydantic.vendor.nptyping.shape_expression import check_shape
|
||||
from numpydantic.vendor.nptyping.structure import Structure
|
||||
from numpydantic.vendor.nptyping.structure_expression import (
|
||||
check_structure,
|
||||
check_type_names,
|
||||
)
|
||||
from numpydantic.vendor.nptyping.typing_ import (
|
||||
DType,
|
||||
dtype_per_name,
|
||||
name_per_dtype,
|
||||
|
@ -67,7 +70,7 @@ class NDArrayMeta(
|
|||
|
||||
@property
|
||||
def __module__(cls) -> str:
|
||||
return cls._get_module(inspect.stack(), "nptyping.ndarray")
|
||||
return cls._get_module(inspect.currentframe(), "nptyping.ndarray")
|
||||
|
||||
def _get_item(cls, item: Any) -> Tuple[Any, ...]:
|
||||
cls._check_item(item)
|
||||
|
|
|
@ -27,8 +27,8 @@ from abc import ABC
|
|||
from typing import Any, Tuple
|
||||
|
||||
import numpy as np
|
||||
from nptyping import InvalidArgumentsError
|
||||
from nptyping.base_meta_classes import (
|
||||
from numpydantic.vendor.nptyping import InvalidArgumentsError
|
||||
from numpydantic.vendor.nptyping.base_meta_classes import (
|
||||
FinalMeta,
|
||||
ImmutableMeta,
|
||||
InconstructableMeta,
|
||||
|
@ -36,11 +36,11 @@ from nptyping.base_meta_classes import (
|
|||
PrintableMeta,
|
||||
SubscriptableMeta,
|
||||
)
|
||||
from nptyping.error import DependencyError
|
||||
from nptyping.nptyping_type import NPTypingType
|
||||
from nptyping.pandas_.typing_ import dtype_per_name
|
||||
from nptyping.structure import Structure
|
||||
from nptyping.structure_expression import check_structure
|
||||
from numpydantic.vendor.nptyping.error import DependencyError
|
||||
from numpydantic.vendor.nptyping.nptyping_type import NPTypingType
|
||||
from numpydantic.vendor.nptyping.pandas_.typing_ import dtype_per_name
|
||||
from numpydantic.vendor.nptyping.structure import Structure
|
||||
from numpydantic.vendor.nptyping.structure_expression import check_structure
|
||||
|
||||
try:
|
||||
import pandas as pd
|
||||
|
@ -105,7 +105,7 @@ class DataFrameMeta(
|
|||
|
||||
@property
|
||||
def __module__(cls) -> str:
|
||||
return cls._get_module(inspect.stack(), "nptyping.pandas_.dataframe")
|
||||
return cls._get_module(inspect.currentframe(), "nptyping.ndarray")
|
||||
|
||||
def _check_item(cls, item: Any) -> None:
|
||||
# Check if the item is what we expect and raise if it is not.
|
||||
|
|
|
@ -22,8 +22,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||
SOFTWARE.
|
||||
"""
|
||||
|
||||
from nptyping.typing_ import Object
|
||||
from nptyping.typing_ import dtype_per_name as dtype_per_name_default
|
||||
from numpydantic.vendor.nptyping.typing_ import Object
|
||||
from numpydantic.vendor.nptyping.typing_ import dtype_per_name as dtype_per_name_default
|
||||
|
||||
dtype_per_name = {
|
||||
**dtype_per_name_default, # type: ignore[arg-type]
|
||||
|
|
11
src/numpydantic/vendor/nptyping/recarray.py
vendored
11
src/numpydantic/vendor/nptyping/recarray.py
vendored
|
@ -26,10 +26,11 @@ import inspect
|
|||
from typing import Any, Tuple
|
||||
|
||||
import numpy as np
|
||||
from nptyping.error import InvalidArgumentsError
|
||||
from nptyping.ndarray import NDArray, NDArrayMeta
|
||||
from nptyping.structure import Structure
|
||||
from nptyping.typing_ import DType
|
||||
|
||||
from numpydantic.vendor.nptyping.error import InvalidArgumentsError
|
||||
from numpydantic.vendor.nptyping.ndarray import NDArray, NDArrayMeta
|
||||
from numpydantic.vendor.nptyping.structure import Structure
|
||||
from numpydantic.vendor.nptyping.typing_ import DType
|
||||
|
||||
|
||||
class RecArrayMeta(NDArrayMeta, implementation="RecArray"):
|
||||
|
@ -52,7 +53,7 @@ class RecArrayMeta(NDArrayMeta, implementation="RecArray"):
|
|||
|
||||
@property
|
||||
def __module__(cls) -> str:
|
||||
return cls._get_module(inspect.stack(), "nptyping.recarray")
|
||||
return cls._get_module(inspect.currentframe(), "nptyping.ndarray")
|
||||
|
||||
def __instancecheck__( # pylint: disable=bad-mcs-method-argument
|
||||
self, instance: Any
|
||||
|
|
6
src/numpydantic/vendor/nptyping/shape.py
vendored
6
src/numpydantic/vendor/nptyping/shape.py
vendored
|
@ -25,9 +25,9 @@ SOFTWARE.
|
|||
from abc import ABC
|
||||
from typing import Any, Dict
|
||||
|
||||
from nptyping.base_meta_classes import ContainerMeta
|
||||
from nptyping.nptyping_type import NPTypingType
|
||||
from nptyping.shape_expression import (
|
||||
from numpydantic.vendor.nptyping.base_meta_classes import ContainerMeta
|
||||
from numpydantic.vendor.nptyping.nptyping_type import NPTypingType
|
||||
from numpydantic.vendor.nptyping.shape_expression import (
|
||||
get_dimensions,
|
||||
normalize_shape_expression,
|
||||
remove_labels,
|
||||
|
|
|
@ -33,8 +33,8 @@ from typing import (
|
|||
Union,
|
||||
)
|
||||
|
||||
from nptyping.error import InvalidShapeError
|
||||
from nptyping.typing_ import ShapeExpression, ShapeTuple
|
||||
from numpydantic.vendor.nptyping.error import InvalidShapeError
|
||||
from numpydantic.vendor.nptyping.typing_ import ShapeExpression, ShapeTuple
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from nptyping.shape import Shape # pragma: no cover
|
||||
|
|
6
src/numpydantic/vendor/nptyping/structure.py
vendored
6
src/numpydantic/vendor/nptyping/structure.py
vendored
|
@ -29,9 +29,9 @@ from typing import (
|
|||
List,
|
||||
)
|
||||
|
||||
from nptyping.base_meta_classes import ContainerMeta
|
||||
from nptyping.nptyping_type import NPTypingType
|
||||
from nptyping.structure_expression import (
|
||||
from numpydantic.vendor.nptyping.base_meta_classes import ContainerMeta
|
||||
from numpydantic.vendor.nptyping.nptyping_type import NPTypingType
|
||||
from numpydantic.vendor.nptyping.structure_expression import (
|
||||
create_name_to_type_dict,
|
||||
normalize_structure_expression,
|
||||
validate_structure_expression,
|
||||
|
|
11
src/numpydantic/vendor/nptyping/structure.pyi
vendored
11
src/numpydantic/vendor/nptyping/structure.pyi
vendored
|
@ -27,9 +27,18 @@ try:
|
|||
except ImportError:
|
||||
from typing_extensions import Literal # type: ignore[attr-defined,misc,assignment]
|
||||
|
||||
from typing import Any, cast
|
||||
from typing import Any, Dict, cast
|
||||
|
||||
import numpy as np
|
||||
from numpydantic.vendor.nptyping.base_meta_classes import ContainerMeta
|
||||
|
||||
class StructureMeta(ContainerMeta, implementation="Structure"):
|
||||
|
||||
__args__ = tuple()
|
||||
|
||||
def _validate_expression(cls, item: str) -> None: ...
|
||||
def _normalize_expression(cls, item: str) -> str: ...
|
||||
def _get_additional_values(cls, item: Any) -> Dict[str, Any]: ...
|
||||
|
||||
# For MyPy:
|
||||
Structure = cast(Literal, Structure) # type: ignore[has-type,misc,valid-type]
|
||||
|
|
|
@ -38,14 +38,14 @@ from typing import (
|
|||
)
|
||||
|
||||
import numpy as np
|
||||
from nptyping.error import InvalidShapeError, InvalidStructureError
|
||||
from nptyping.shape import Shape
|
||||
from nptyping.shape_expression import (
|
||||
from numpydantic.vendor.nptyping.error import InvalidShapeError, InvalidStructureError
|
||||
from numpydantic.vendor.nptyping.shape import Shape
|
||||
from numpydantic.vendor.nptyping.shape_expression import (
|
||||
check_shape,
|
||||
normalize_shape_expression,
|
||||
validate_shape_expression,
|
||||
)
|
||||
from nptyping.typing_ import StructureExpression
|
||||
from numpydantic.vendor.nptyping.typing_ import StructureExpression
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from nptyping.structure import Structure # pragma: no cover
|
||||
|
|
Loading…
Reference in a new issue