Skip to content

Commit d1bd33a

Browse files
authored
Type stubs for mypy (#6)
mypy can not analyze external dependencies correctly
1 parent ae11d7c commit d1bd33a

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import typing
2+
3+
4+
class AdvancedProperty:
5+
def __init__(
6+
self,
7+
fget: typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]=None,
8+
fset: typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]=None,
9+
fdel: typing.Optional[typing.Callable[[typing.Any, ], None]]=None,
10+
fcget: typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]=None,
11+
) -> None: ...
12+
13+
def cgetter(self, fcget: typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]) -> AdvancedProperty: ...
14+
15+
def getter(self, fget : typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]) -> AdvancedProperty: ...
16+
17+
def setter(self, fset: typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]) -> AdvancedProperty: ...
18+
19+
def deleter(self, fdel: typing.Optional[typing.Callable[[typing.Any, ], None]]) -> AdvancedProperty: ...
20+
21+
@property
22+
def fcget(self) -> typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]: ...
23+
24+
@property
25+
def fget(self) -> typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]: ...
26+
27+
@property
28+
def fset(self) -> typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]: ...
29+
30+
@property
31+
def fdel(self) -> typing.Optional[typing.Callable[[typing.Any, ], None]]: ...
32+
33+
def __get__(self, instance: typing.Optional[object], owner: typing.Type[object]) -> typing.Any: ...
34+
35+
def __set__(self, instance: typing.Any, value: typing.Any) -> None: ...
36+
37+
def __delete__(self, instance: typing.Any) -> None: ...
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Stubs for advanced_descriptors.separate_class_method (Python 3.6)
2+
#
3+
# NOTE: This dynamically typed stub was automatically generated by stubgen.
4+
5+
import typing
6+
7+
class SeparateClassMethod:
8+
def __init__(
9+
self,
10+
imeth: typing.Optional[typing.Callable[..., typing.Any]]=None,
11+
cmeth: typing.Optional[typing.Callable[..., typing.Any]]=None,
12+
) -> None: ...
13+
14+
def class_method(self, cmeth: typing.Optional[typing.Callable[..., typing.Any]]) -> SeparateClassMethod: ...
15+
16+
def instance_method(self, imeth: typing.Optional[typing.Callable[..., typing.Any]]) -> SeparateClassMethod: ...
17+
18+
@property
19+
def cmeth(self) -> typing.Optional[typing.Callable[..., typing.Any]]: ...
20+
21+
@property
22+
def imeth(self) -> typing.Optional[typing.Callable[..., typing.Any]]: ...
23+
24+
def __get__(self, instance: typing.Optional[object], owner: typing.Type[object]) -> typing.Callable[..., typing.Any]: ...

setup.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import collections
2020
from distutils.command import build_ext
2121
import distutils.errors
22+
import glob
2223
import os.path
2324
import shutil
2425
import sys
@@ -251,6 +252,12 @@ def get_simple_vars_from_src(src):
251252
'typing>=3.6',
252253
],
253254
},
255+
package_data={
256+
'advanced_descriptors': [
257+
os.path.basename(filename)
258+
for filename in glob.glob(os.path.join('advanced_descriptors', '*.pyi'))
259+
],
260+
},
254261
)
255262
if cythonize is not None:
256263
setup_args['ext_modules'] = ext_modules

0 commit comments

Comments
 (0)