Skip to content

Commit f1d5d65

Browse files
committed
feat: add DI following a singleton pattern
1 parent 1432c36 commit f1d5d65

File tree

16 files changed

+399
-310
lines changed

16 files changed

+399
-310
lines changed

src/dagster_app/__init__.py

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,11 @@
11
from dagster import Definitions, load_assets_from_modules
22

33
from src.dagster_app import assets
4-
from src.dagster_app.resources import (
5-
AttributorResource,
6-
CargoServiceResource,
7-
MavenServiceResource,
8-
NPMServiceResource,
9-
NuGetServiceResource,
10-
PackageServiceResource,
11-
PyPIServiceResource,
12-
RubyGemsServiceResource,
13-
VersionServiceResource,
14-
VulnerabilityServiceResource,
15-
)
164
from src.dagster_app.schedules import all_schedules
175

186
all_assets = load_assets_from_modules([assets])
197

20-
vuln_service = VulnerabilityServiceResource()
21-
22-
resources = {
23-
"pypi_service": PyPIServiceResource(),
24-
"npm_service": NPMServiceResource(),
25-
"maven_service": MavenServiceResource(),
26-
"cargo_service": CargoServiceResource(),
27-
"rubygems_service": RubyGemsServiceResource(),
28-
"nuget_service": NuGetServiceResource(),
29-
"package_service": PackageServiceResource(),
30-
"version_service": VersionServiceResource(),
31-
"vulnerability_service": vuln_service,
32-
"attributor": AttributorResource(vuln_service=vuln_service),
33-
}
34-
358
defs = Definitions(
369
assets=all_assets,
3710
schedules=all_schedules,
38-
resources=resources,
3911
)

src/dagster_app/assets/cargo_assets.py

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
from dagster import AssetExecutionContext, MetadataValue, Output, asset
55

6-
from src.dagster_app.resources import (
7-
AttributorResource,
8-
CargoServiceResource,
9-
PackageServiceResource,
10-
VersionServiceResource,
6+
from src.dependencies import (
7+
get_attributor,
8+
get_cargo_service,
9+
get_package_service,
10+
get_version_service,
1111
)
1212
from src.logger import logger
1313
from src.processes.extractors import CargoPackageExtractor
@@ -22,18 +22,14 @@
2222
)
2323
def cargo_package_ingestion(
2424
context: AssetExecutionContext,
25-
cargo_service: CargoServiceResource,
26-
package_service: PackageServiceResource,
27-
version_service: VersionServiceResource,
28-
attributor: AttributorResource,
2925
) -> Output[dict[str, Any]]:
3026
try:
3127
logger.info("Starting Cargo package ingestion process")
3228

33-
cargo_svc = cargo_service.get_service()
34-
package_svc = package_service.get_service()
35-
version_svc = version_service.get_service()
36-
attr = attributor.get_attributor()
29+
cargo_svc = get_cargo_service()
30+
package_svc = get_package_service()
31+
version_svc = get_version_service()
32+
attr = get_attributor()
3733

3834
async def _run():
3935
new_packages = 0
@@ -118,18 +114,14 @@ async def _run():
118114
)
119115
def cargo_packages_updates(
120116
context: AssetExecutionContext,
121-
cargo_service: CargoServiceResource,
122-
package_service: PackageServiceResource,
123-
version_service: VersionServiceResource,
124-
attributor: AttributorResource,
125117
) -> Output[dict[str, Any]]:
126118
try:
127119
logger.info("Starting Cargo package version update process")
128120

129-
cargo_svc = cargo_service.get_service()
130-
package_svc = package_service.get_service()
131-
version_svc = version_service.get_service()
132-
attr = attributor.get_attributor()
121+
cargo_svc = get_cargo_service()
122+
package_svc = get_package_service()
123+
version_svc = get_version_service()
124+
attr = get_attributor()
133125

134126
updater = CargoVersionUpdater(cargo_svc, package_svc, version_svc, attr)
135127

src/dagster_app/assets/maven_assets.py

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
from dagster import AssetExecutionContext, MetadataValue, Output, asset
55

6-
from src.dagster_app.resources import (
7-
AttributorResource,
8-
MavenServiceResource,
9-
PackageServiceResource,
10-
VersionServiceResource,
6+
from src.dependencies import (
7+
get_attributor,
8+
get_maven_service,
9+
get_package_service,
10+
get_version_service,
1111
)
1212
from src.logger import logger
1313
from src.processes.extractors import MavenPackageExtractor
@@ -22,18 +22,14 @@
2222
)
2323
def maven_package_ingestion(
2424
context: AssetExecutionContext,
25-
maven_service: MavenServiceResource,
26-
package_service: PackageServiceResource,
27-
version_service: VersionServiceResource,
28-
attributor: AttributorResource,
2925
) -> Output[dict[str, Any]]:
3026
try:
3127
logger.info("Starting Maven package ingestion process")
3228

33-
maven_svc = maven_service.get_service()
34-
package_svc = package_service.get_service()
35-
version_svc = version_service.get_service()
36-
attr = attributor.get_attributor()
29+
maven_svc = get_maven_service()
30+
package_svc = get_package_service()
31+
version_svc = get_version_service()
32+
attr = get_attributor()
3733

3834
async def _run():
3935
new_packages = 0
@@ -131,18 +127,14 @@ async def _run():
131127
)
132128
def maven_packages_updates(
133129
context: AssetExecutionContext,
134-
maven_service: MavenServiceResource,
135-
package_service: PackageServiceResource,
136-
version_service: VersionServiceResource,
137-
attributor: AttributorResource,
138130
) -> Output[dict[str, Any]]:
139131
try:
140132
logger.info("Starting Maven package version update process")
141133

142-
maven_svc = maven_service.get_service()
143-
package_svc = package_service.get_service()
144-
version_svc = version_service.get_service()
145-
attr = attributor.get_attributor()
134+
maven_svc = get_maven_service()
135+
package_svc = get_package_service()
136+
version_svc = get_version_service()
137+
attr = get_attributor()
146138

147139
updater = MavenVersionUpdater(maven_svc, package_svc, version_svc, attr)
148140

src/dagster_app/assets/npm_assets.py

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
from dagster import AssetExecutionContext, MetadataValue, Output, asset
55

6-
from src.dagster_app.resources import (
7-
AttributorResource,
8-
NPMServiceResource,
9-
PackageServiceResource,
10-
VersionServiceResource,
6+
from src.dependencies import (
7+
get_attributor,
8+
get_npm_service,
9+
get_package_service,
10+
get_version_service,
1111
)
1212
from src.logger import logger
1313
from src.processes.extractors import NPMPackageExtractor
@@ -22,18 +22,14 @@
2222
)
2323
def npm_package_ingestion(
2424
context: AssetExecutionContext,
25-
npm_service: NPMServiceResource,
26-
package_service: PackageServiceResource,
27-
version_service: VersionServiceResource,
28-
attributor: AttributorResource,
2925
) -> Output[dict[str, Any]]:
3026
try:
3127
logger.info("Starting NPM package ingestion process")
3228

33-
npm_svc = npm_service.get_service()
34-
package_svc = package_service.get_service()
35-
version_svc = version_service.get_service()
36-
attr = attributor.get_attributor()
29+
npm_svc = get_npm_service()
30+
package_svc = get_package_service()
31+
version_svc = get_version_service()
32+
attr = get_attributor()
3733

3834
async def _run():
3935
new_packages = 0
@@ -118,18 +114,14 @@ async def _run():
118114
)
119115
def npm_packages_updates(
120116
context: AssetExecutionContext,
121-
npm_service: NPMServiceResource,
122-
package_service: PackageServiceResource,
123-
version_service: VersionServiceResource,
124-
attributor: AttributorResource,
125117
) -> Output[dict[str, Any]]:
126118
try:
127119
logger.info("Starting NPM package version update process")
128120

129-
npm_svc = npm_service.get_service()
130-
package_svc = package_service.get_service()
131-
version_svc = version_service.get_service()
132-
attr = attributor.get_attributor()
121+
npm_svc = get_npm_service()
122+
package_svc = get_package_service()
123+
version_svc = get_version_service()
124+
attr = get_attributor()
133125

134126
updater = NPMVersionUpdater(npm_svc, package_svc, version_svc, attr)
135127

src/dagster_app/assets/nuget_assets.py

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
from dagster import AssetExecutionContext, MetadataValue, Output, asset
55

6-
from src.dagster_app.resources import (
7-
AttributorResource,
8-
NuGetServiceResource,
9-
PackageServiceResource,
10-
VersionServiceResource,
6+
from src.dependencies import (
7+
get_attributor,
8+
get_nuget_service,
9+
get_package_service,
10+
get_version_service,
1111
)
1212
from src.logger import logger
1313
from src.processes.extractors import NuGetPackageExtractor
@@ -22,18 +22,14 @@
2222
)
2323
def nuget_package_ingestion(
2424
context: AssetExecutionContext,
25-
nuget_service: NuGetServiceResource,
26-
package_service: PackageServiceResource,
27-
version_service: VersionServiceResource,
28-
attributor: AttributorResource,
2925
) -> Output[dict[str, Any]]:
3026
try:
3127
logger.info("Starting NuGet package ingestion process")
3228

33-
nuget_svc = nuget_service.get_service()
34-
package_svc = package_service.get_service()
35-
version_svc = version_service.get_service()
36-
attr = attributor.get_attributor()
29+
nuget_svc = get_nuget_service()
30+
package_svc = get_package_service()
31+
version_svc = get_version_service()
32+
attr = get_attributor()
3733

3834
async def _run():
3935
new_packages = 0
@@ -118,18 +114,14 @@ async def _run():
118114
)
119115
def nuget_packages_updates(
120116
context: AssetExecutionContext,
121-
nuget_service: NuGetServiceResource,
122-
package_service: PackageServiceResource,
123-
version_service: VersionServiceResource,
124-
attributor: AttributorResource,
125117
) -> Output[dict[str, Any]]:
126118
try:
127119
logger.info("Starting NuGet package version update process")
128120

129-
nuget_svc = nuget_service.get_service()
130-
package_svc = package_service.get_service()
131-
version_svc = version_service.get_service()
132-
attr = attributor.get_attributor()
121+
nuget_svc = get_nuget_service()
122+
package_svc = get_package_service()
123+
version_svc = get_version_service()
124+
attr = get_attributor()
133125

134126
updater = NuGetVersionUpdater(nuget_svc, package_svc, version_svc, attr)
135127

src/dagster_app/assets/pypi_assets.py

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
from dagster import AssetExecutionContext, MetadataValue, Output, asset
55

6-
from src.dagster_app.resources import (
7-
AttributorResource,
8-
PackageServiceResource,
9-
PyPIServiceResource,
10-
VersionServiceResource,
6+
from src.dependencies import (
7+
get_attributor,
8+
get_package_service,
9+
get_pypi_service,
10+
get_version_service,
1111
)
1212
from src.logger import logger
1313
from src.processes.extractors import PyPIPackageExtractor
@@ -22,18 +22,14 @@
2222
)
2323
def pypi_package_ingestion(
2424
context: AssetExecutionContext,
25-
pypi_service: PyPIServiceResource,
26-
package_service: PackageServiceResource,
27-
version_service: VersionServiceResource,
28-
attributor: AttributorResource,
2925
) -> Output[dict[str, Any]]:
3026
try:
3127
logger.info("Starting PyPI package ingestion process")
3228

33-
pypi_svc = pypi_service.get_service()
34-
package_svc = package_service.get_service()
35-
version_svc = version_service.get_service()
36-
attr = attributor.get_attributor()
29+
pypi_svc = get_pypi_service()
30+
package_svc = get_package_service()
31+
version_svc = get_version_service()
32+
attr = get_attributor()
3733

3834
async def _run():
3935
new_packages = 0
@@ -116,18 +112,14 @@ async def _run():
116112
)
117113
def pypi_packages_updates(
118114
context: AssetExecutionContext,
119-
pypi_service: PyPIServiceResource,
120-
package_service: PackageServiceResource,
121-
version_service: VersionServiceResource,
122-
attributor: AttributorResource,
123115
) -> Output[dict[str, Any]]:
124116
try:
125117
logger.info("Starting PyPI package version update process")
126118

127-
pypi_svc = pypi_service.get_service()
128-
package_svc = package_service.get_service()
129-
version_svc = version_service.get_service()
130-
attr = attributor.get_attributor()
119+
pypi_svc = get_pypi_service()
120+
package_svc = get_package_service()
121+
version_svc = get_version_service()
122+
attr = get_attributor()
131123

132124
updater = PyPIVersionUpdater(pypi_svc, package_svc, version_svc, attr)
133125

0 commit comments

Comments
 (0)