Skip to content

Commit

Permalink
Merge pull request #390 from mit-ll-responsible-ai/update-pyright
Browse files Browse the repository at this point in the history
pyright==1.2.288 ; fix type errors.
  • Loading branch information
rsokl committed Jan 12, 2023
2 parents b4a0ef3 + aba5abf commit 9e7ad1a
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 12 deletions.
2 changes: 1 addition & 1 deletion deps/requirements-pyright.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pyright==1.1.287
pyright==1.1.288
4 changes: 2 additions & 2 deletions src/hydra_zen/structured_configs/_type_guards.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from hydra_zen.funcs import get_obj, zen_processing
from hydra_zen.structured_configs._utils import safe_name
from hydra_zen.typing import Builds, Just, PartialBuilds
from hydra_zen.typing._implementations import DataClass_
from hydra_zen.typing._implementations import DataClass_, HasTarget

from ._globals import (
JUST_FIELD_NAME,
Expand Down Expand Up @@ -67,7 +67,7 @@ def safe_getattr(obj: Any, field: str, *default: Any) -> Any:
return getattr(obj, field, *default)


def _get_target(x: Builds[Any]) -> Any:
def _get_target(x: HasTarget) -> Any:
return safe_getattr(x, TARGET_FIELD_NAME)


Expand Down
9 changes: 6 additions & 3 deletions src/hydra_zen/structured_configs/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -599,11 +599,11 @@ def merge_settings(


_DATACLASS_OPTION_KEYS: FrozenSet[str] = (
DataclassOptions.__required_keys__ | DataclassOptions.__optional_keys__ # type: ignore
DataclassOptions.__required_keys__ | DataclassOptions.__optional_keys__
)

_STRICT_DATACLASS_OPTION_KEYS: FrozenSet[str] = (
StrictDataclassOptions.__required_keys__ | StrictDataclassOptions.__optional_keys__ # type: ignore
StrictDataclassOptions.__required_keys__ | StrictDataclassOptions.__optional_keys__
)
_STRICT_DATACLASS_OPTION_KEYS.copy()

Expand Down Expand Up @@ -697,7 +697,10 @@ def parse_dataclass_options(options: Mapping[str, Any]) -> DataclassOptions:
def parse_strict_dataclass_options(
options: Mapping[str, Any]
) -> TypeGuard[StrictDataclassOptions]:
return options.keys() <= _STRICT_DATACLASS_OPTION_KEYS and StrictDataclassOptions.__required_keys__ <= options.keys() # type: ignore
return (
options.keys() <= _STRICT_DATACLASS_OPTION_KEYS
and StrictDataclassOptions.__required_keys__ <= options.keys()
)


_HYDRA_CONVERT_OPTIONS = (
Expand Down
10 changes: 5 additions & 5 deletions src/hydra_zen/typing/_implementations.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,11 @@ def __setattr__(self, __name: str, __value: Any) -> None:
...


@runtime_checkable
class HasTarget(Protocol):
_target_: str


@runtime_checkable
class Builds(DataClass, Protocol[T]):
_target_: ClassVar[str]
Expand Down Expand Up @@ -178,11 +183,6 @@ class HydraPartialBuilds(Builds[T], HydraPartialMixin[T], Protocol[T]):
PartialBuilds: TypeAlias = Union[ZenPartialBuilds[T], HydraPartialBuilds[T]]


@runtime_checkable
class HasTarget(Protocol):
_target_: str


Importable = TypeVar("Importable", bound=Callable[..., Any])

_HydraPrimitive: TypeAlias = Union[
Expand Down
4 changes: 3 additions & 1 deletion src/hydra_zen/wrapper/_implementations.py
Original file line number Diff line number Diff line change
Expand Up @@ -822,7 +822,9 @@ class _StoreCallSig(TypedDict):
__kw={},
)

_DEFAULT_KEYS: Final[FrozenSet[str]] = frozenset(_StoreCallSig.__required_keys__ - {"__kw"}) # type: ignore
_DEFAULT_KEYS: Final[FrozenSet[str]] = frozenset(
_StoreCallSig.__required_keys__ - {"__kw"}
)


class _Deferred:
Expand Down

0 comments on commit 9e7ad1a

Please sign in to comment.