mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-08 22:33:15 +03:00
Add basic setup
This commit is contained in:
parent
47f4279ccd
commit
39e9059890
|
@ -1,4 +1,4 @@
|
|||
recursive-include src/dependency_injector *.py *.pyx *.pxd *.c
|
||||
recursive-include src/dependency_injector *.py* *.c
|
||||
recursive-include tests *.py
|
||||
include README.rst
|
||||
include CONTRIBUTORS.rst
|
||||
|
@ -6,3 +6,4 @@ include LICENSE.rst
|
|||
include requirements.txt
|
||||
include setup.py
|
||||
include tox.ini
|
||||
include py.typed
|
||||
|
|
|
@ -6,5 +6,6 @@ flake8
|
|||
pydocstyle
|
||||
sphinx_autobuild
|
||||
pip
|
||||
mypy
|
||||
|
||||
-r requirements-ext.txt
|
||||
|
|
2
setup.py
2
setup.py
|
@ -47,7 +47,7 @@ setup(name='dependency-injector',
|
|||
'': 'src',
|
||||
},
|
||||
package_data={
|
||||
'dependency_injector': ['*.pxd'],
|
||||
'dependency_injector': ['*.pxd', '*.pyi', 'py.typed'],
|
||||
},
|
||||
ext_modules=[
|
||||
Extension('dependency_injector.containers',
|
||||
|
|
0
src/dependency_injector/__init__.pyi
Normal file
0
src/dependency_injector/__init__.pyi
Normal file
10
src/dependency_injector/providers.pyi
Normal file
10
src/dependency_injector/providers.pyi
Normal file
|
@ -0,0 +1,10 @@
|
|||
from typing import TypeVar, Generic, Callable, Any
|
||||
|
||||
Injection = Any
|
||||
T = TypeVar('T')
|
||||
|
||||
|
||||
class Factory(Generic[T]):
|
||||
|
||||
def __init__(self, provides: Callable[..., T], *args: Injection, **kwargs: Injection) -> None: ...
|
||||
def __call__(self, *args: Injection, **kwargs: Injection) -> T: ...
|
0
src/dependency_injector/py.typed
Normal file
0
src/dependency_injector/py.typed
Normal file
14
tests/typing/factory.py
Normal file
14
tests/typing/factory.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from dependency_injector import providers
|
||||
|
||||
|
||||
class Animal:
|
||||
...
|
||||
|
||||
|
||||
class Cat(Animal):
|
||||
...
|
||||
|
||||
|
||||
provider = providers.Factory(Cat)
|
||||
|
||||
animal: Animal = provider(1, 2, 3, b='1', c=2, e=0.0)
|
Loading…
Reference in New Issue
Block a user