-
Notifications
You must be signed in to change notification settings - Fork 0
/
container.py
26 lines (22 loc) · 1.03 KB
/
container.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from dependency_injector import containers, providers
from src import *
class Container(containers.DeclarativeContainer):
container = providers.Object(None)
DNAAnalyzer = providers.Singleton(DNAAnalyzer)
Options = providers.Singleton(Options)
CitationsDataframeGenerator = providers.Singleton(CitationsDataframeGenerator)
NCBIDataDownloader = providers.Singleton(NCBIDataDownloader)
NCBIDataFrameGenerator = providers.Singleton(NCBIDataFrameGenerator)
AncestryReader = providers.Singleton(AncestryReader)
TwentyThreeReader = providers.Singleton(TwentyThreeReader)
GeneticFileReader = providers.Singleton(GeneticFileReader)
GeneticDataToDataFrameConverter = providers.Singleton(GeneticDataToDataFrameConverter)
def wire(container: containers.DeclarativeContainer, mod='__main__'):
import src
packages = [src]
import __main__
container.wire(
modules=[mod],
packages=packages
)
container.container.override(providers.Object(container))