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
|
recursive-include tests *.py
|
||||||
include README.rst
|
include README.rst
|
||||||
include CONTRIBUTORS.rst
|
include CONTRIBUTORS.rst
|
||||||
|
@ -6,3 +6,4 @@ include LICENSE.rst
|
||||||
include requirements.txt
|
include requirements.txt
|
||||||
include setup.py
|
include setup.py
|
||||||
include tox.ini
|
include tox.ini
|
||||||
|
include py.typed
|
||||||
|
|
|
@ -6,5 +6,6 @@ flake8
|
||||||
pydocstyle
|
pydocstyle
|
||||||
sphinx_autobuild
|
sphinx_autobuild
|
||||||
pip
|
pip
|
||||||
|
mypy
|
||||||
|
|
||||||
-r requirements-ext.txt
|
-r requirements-ext.txt
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -47,7 +47,7 @@ setup(name='dependency-injector',
|
||||||
'': 'src',
|
'': 'src',
|
||||||
},
|
},
|
||||||
package_data={
|
package_data={
|
||||||
'dependency_injector': ['*.pxd'],
|
'dependency_injector': ['*.pxd', '*.pyi', 'py.typed'],
|
||||||
},
|
},
|
||||||
ext_modules=[
|
ext_modules=[
|
||||||
Extension('dependency_injector.containers',
|
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