Skip to content

Commit

Permalink
Merge pull request #80 from evo-company/typings-compat
Browse files Browse the repository at this point in the history
typings compatibility
  • Loading branch information
kindermax committed Aug 19, 2022
2 parents 490afaa + 69fea32 commit 1f3acef
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 10 deletions.
20 changes: 20 additions & 0 deletions hiku/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,23 @@ def arguments(_, args, vararg, kwonlyargs, kw_defaults, kwarg, defaults): # typ


ast = _AST()

if sys.version_info >= (3, 10):
from typing import Concatenate, ParamSpec, TypeAlias
else:
from typing_extensions import Concatenate, ParamSpec, TypeAlias

if sys.version_info >= (3, 8):
from typing import Protocol
else:
from typing_extensions import Protocol

__all__ = [
'PY38',
'PY310',
'ast',
'Protocol',
'Concatenate',
'ParamSpec',
'TypeAlias'
]
2 changes: 1 addition & 1 deletion hiku/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
from itertools import chain, repeat
from collections import defaultdict
from collections.abc import Sequence, Mapping, Hashable
from typing_extensions import Concatenate, ParamSpec

from .compat import Concatenate, ParamSpec
from .executors.base import SyncAsyncExecutor
from .query import (
Node as QueryNode,
Expand Down
3 changes: 1 addition & 2 deletions hiku/executors/queue.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
Union,
)

from typing_extensions import Protocol

from hiku.compat import Protocol
from hiku.executors.base import BaseExecutor
from hiku.result import Proxy

Expand Down
2 changes: 1 addition & 1 deletion hiku/expr/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from functools import wraps
from itertools import chain
from collections import namedtuple
from typing_extensions import ParamSpec

from ..compat import ParamSpec
from ..edn import loads
from ..query import Node as QueryNode, Link, Field
from ..types import (
Expand Down
5 changes: 3 additions & 2 deletions hiku/graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
from collections import OrderedDict
from typing import List

from typing_extensions import TypeAlias

from .types import (
Optional,
OptionalMeta,
Expand All @@ -36,6 +34,9 @@
)
from .directives import DirectiveBase

from .compat import TypeAlias


if t.TYPE_CHECKING:
from .sources.graph import SubGraph
from .sources.graph import BoundExpr
Expand Down
3 changes: 2 additions & 1 deletion hiku/introspection/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
NamedTuple,
)

from typing_extensions import TypeAlias
from hiku.compat import TypeAlias


# Mark everything that _namedtuple creates as HashedNamedTuple,
# so it will be easier to refactor types later
Expand Down
3 changes: 1 addition & 2 deletions hiku/sources/graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@
Iterator,
)

from typing_extensions import TypeAlias

from .. import query
from ..compat import TypeAlias
from ..executors.queue import (
Queue,
TaskSet,
Expand Down
2 changes: 1 addition & 1 deletion hiku/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
Iterator,
)

from typing_extensions import ParamSpec
from hiku.compat import ParamSpec

Const = NewType('Const', object)

Expand Down

0 comments on commit 1f3acef

Please sign in to comment.