Skip to content

Commit 841b00c

Browse files
author
SunDoge
committed
fix typing
1 parent 48549da commit 841b00c

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

typed_args/_typed_args.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
from argparse import ArgumentParser, Namespace
1212
from dataclasses import Field, dataclass, field
1313
from enum import Enum
14-
from typing import Dict, List, Optional, Sequence, Tuple, TypeVar
14+
from typing import Dict, List, Optional, Sequence, Tuple, Type, TypeVar
1515

1616
_logger = logging.getLogger(__name__)
1717

18-
T = TypeVar('T')
18+
T = TypeVar('T', bound='TypedArgs')
1919

2020

2121
def _get_dataclass_fields(cls) -> Dict[str, Field]:
@@ -27,11 +27,11 @@ class TypedArgs:
2727

2828
@classmethod
2929
def from_args(
30-
cls,
30+
cls: Type[T],
3131
args: Optional[List[str]] = None,
3232
namespace: Optional[Namespace] = None,
3333
parser: Optional[ArgumentParser] = None,
34-
):
34+
) -> T:
3535

3636
if parser is None:
3737
parser = ArgumentParser()
@@ -47,7 +47,7 @@ def from_args(
4747

4848
@classmethod
4949
def from_known_args(
50-
cls,
50+
cls: Type[T],
5151
args: Optional[List[str]] = None,
5252
namespace: Optional[Namespace] = None,
5353
parser: Optional[ArgumentParser] = None,
@@ -66,10 +66,9 @@ def from_known_args(
6666

6767
@classmethod
6868
def _add_arguments(
69-
cls: T,
69+
cls,
7070
parser: ArgumentParser,
7171
prefix: str = '',
72-
7372
):
7473
fields = _get_dataclass_fields(cls)
7574
for name, field in fields.items():

0 commit comments

Comments
 (0)