Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[components] component_type -> registered_component_type (BUILD-655) #27482

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from dagster_components import component_type
from dagster_components import registered_component_type
from dagster_components.lib import SlingReplicationCollection


@component_type(name="custom_subclass")
@registered_component_type(name="custom_subclass")
class CustomSubclass(SlingReplicationCollection): ...
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from collections.abc import Mapping
from typing import Any

from dagster_components import component_type
from dagster_components import registered_component_type
from dagster_components.lib import SlingReplicationCollection

import dagster as dg


@component_type(name="custom_subclass")
@registered_component_type(name="custom_subclass")
class SubclassWithScope(SlingReplicationCollection):
def get_additional_scope(self) -> Mapping[str, Any]:
def _custom_cron(cron_schedule: str) -> dg.AutomationCondition:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from collections.abc import Iterator

from dagster_components import component_type
from dagster_components import registered_component_type
from dagster_components.lib import SlingReplicationCollection
from dagster_sling import SlingResource

import dagster as dg


@component_type(name="debug_sling_replication")
@registered_component_type(name="debug_sling_replication")
class DebugSlingReplicationComponent(SlingReplicationCollection):
def execute(
self, context: dg.AssetExecutionContext, sling: SlingResource
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import (
Component,
ComponentLoadContext,
registered_component_type,
)
from pydantic import BaseModel

from dagster import Definitions


@component_type(name="shell_command")
@registered_component_type(name="shell_command")
class ShellCommand(Component):
@classmethod
def get_schema(cls) -> type[BaseModel]: ...
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import (
Component,
ComponentLoadContext,
registered_component_type,
)

import dagster as dg

Expand All @@ -10,7 +14,7 @@ def _get_script_runner(val: str) -> ScriptRunner:
return ScriptRunner()


@component_type(name="shell_command")
@registered_component_type(name="shell_command")
class ShellCommand(Component):
def __init__(self, params):
self.params = params
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import subprocess
from typing import Optional

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import (
Component,
ComponentLoadContext,
registered_component_type,
)
from dagster_components.core.schema.objects import AssetAttributesModel, OpSpecModel
from pydantic import BaseModel

Expand All @@ -16,7 +20,7 @@ class ShellScriptSchema(BaseModel):
# highlight-end


@component_type(name="shell_command")
@registered_component_type(name="shell_command")
class ShellCommand(Component):
def __init__(self, params: ShellScriptSchema):
self.params = params
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
from typing import Optional

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import (
Component,
ComponentLoadContext,
registered_component_type,
)
from dagster_components.core.schema.objects import AssetAttributesModel, OpSpecModel
from pydantic import BaseModel

Expand All @@ -15,7 +19,7 @@ class ShellScriptSchema(BaseModel):
# highlight-end


@component_type(name="shell_command")
@registered_component_type(name="shell_command")
class ShellCommand(Component):
@classmethod
def get_schema(cls) -> type[ShellScriptSchema]:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Component as Component,
ComponentLoadContext as ComponentLoadContext,
ComponentTypeRegistry as ComponentTypeRegistry,
component_type as component_type,
registered_component_type as registered_component_type,
)
from dagster_components.core.component_defs_builder import (
build_component_defs as build_component_defs,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,9 @@ def for_decl_node(self, decl_node: ComponentDeclNode) -> "ComponentLoadContext":
COMPONENT_LOADER_FN_ATTR = "__dagster_component_loader_fn"


def component_type(cls: Optional[type[Component]] = None, *, name: Optional[str] = None) -> Any:
def registered_component_type(
cls: Optional[type[Component]] = None, *, name: Optional[str] = None
) -> Any:
"""Decorator for registering a component type. You must annotate a component
type with this decorator in order for it to be inspectable and loaded by tools.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
)

from dagster_components import Component, ComponentLoadContext
from dagster_components.core.component import component_type
from dagster_components.core.component import registered_component_type
from dagster_components.core.schema.base import ResolvableModel
from dagster_components.core.schema.metadata import ResolvableFieldInfo
from dagster_components.core.schema.objects import (
Expand Down Expand Up @@ -46,7 +46,7 @@ def resolve(self, resolver: TemplatedValueResolver) -> "DbtProjectComponent":
)


@component_type(name="dbt_project")
@registered_component_type(name="dbt_project")
class DbtProjectComponent(Component):
"""Expose a DBT project to Dagster as a set of assets."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
from pydantic import BaseModel
from typing_extensions import Self

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import Component, ComponentLoadContext, registered_component_type
from dagster_components.lib.definitions_component.scaffolder import DefinitionsComponentScaffolder


class DefinitionsParamSchema(BaseModel):
definitions_path: Optional[str] = None


@component_type(name="definitions")
@registered_component_type(name="definitions")
class DefinitionsComponent(Component):
"""Wraps an arbitrary set of Dagster definitions."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@
from dagster._core.pipes.subprocess import PipesSubprocessClient
from pydantic import BaseModel

from dagster_components.core.component import Component, ComponentLoadContext, component_type
from dagster_components.core.component import (
Component,
ComponentLoadContext,
registered_component_type,
)
from dagster_components.core.schema.base import ResolvableModel
from dagster_components.core.schema.objects import AssetSpecModel
from dagster_components.core.schema.resolver import TemplatedValueResolver
Expand All @@ -36,7 +40,7 @@ def resolve(self, resolver: TemplatedValueResolver) -> Mapping[str, Sequence[Ass
}


@component_type(name="pipes_subprocess_script_collection")
@registered_component_type(name="pipes_subprocess_script_collection")
class PipesSubprocessScriptCollection(Component):
"""Assets that wrap Python scripts executed with Dagster's PipesSubprocessClient."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from typing_extensions import Self

from dagster_components import Component, ComponentLoadContext
from dagster_components.core.component import component_type
from dagster_components.core.component import registered_component_type
from dagster_components.core.component_scaffolder import ComponentScaffolder
from dagster_components.core.schema.metadata import ResolvableFieldInfo
from dagster_components.core.schema.objects import (
Expand Down Expand Up @@ -73,7 +73,7 @@ def resolve(self, resolver: TemplatedValueResolver) -> ResolvedSlingReplicationC
)


@component_type
@registered_component_type
class SlingReplicationCollection(Component):
"""Expose one or more Sling replications to Dagster as assets."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
from dagster._core.execution.context.asset_execution_context import AssetExecutionContext
from typing_extensions import Self

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import Component, ComponentLoadContext, registered_component_type
from dagster_components.core.component_scaffolder import DefaultComponentScaffolder


@component_type(name="all_metadata_empty_asset")
@registered_component_type(name="all_metadata_empty_asset")
class AllMetadataEmptyAsset(Component):
@classmethod
def load(cls, context: "ComponentLoadContext") -> Self:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from pydantic import BaseModel
from typing_extensions import Self

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import Component, ComponentLoadContext, registered_component_type
from dagster_components.core.component_scaffolder import DefaultComponentScaffolder
from dagster_components.core.schema.metadata import ResolvableFieldInfo
from dagster_components.core.schema.objects import (
Expand All @@ -26,7 +26,7 @@ class ComplexAssetParams(BaseModel):
asset_transforms: Optional[Sequence[AssetSpecTransformModel]] = None


@component_type(name="complex_schema_asset")
@registered_component_type(name="complex_schema_asset")
class ComplexSchemaAsset(Component):
"""An asset that has a complex params schema."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from pydantic import BaseModel
from typing_extensions import Self

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import Component, ComponentLoadContext, registered_component_type
from dagster_components.core.component_scaffolder import (
ComponentScaffolder,
DefaultComponentScaffolder,
Expand All @@ -17,7 +17,7 @@ class SimpleAssetParams(BaseModel):
value: str


@component_type(name="simple_asset")
@registered_component_type(name="simple_asset")
class SimpleAsset(Component):
"""A simple asset that returns a constant string value."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from pydantic import BaseModel
from typing_extensions import Self

from dagster_components import Component, ComponentLoadContext, component_type
from dagster_components import Component, ComponentLoadContext, registered_component_type
from dagster_components.core.component_scaffolder import (
ComponentScaffolder,
ComponentScaffoldRequest,
Expand Down Expand Up @@ -47,7 +47,7 @@ def scaffold(
"""


@component_type(name="simple_pipes_script_asset")
@registered_component_type(name="simple_pipes_script_asset")
class SimplePipesScriptAsset(Component):
"""A simple asset that runs a Python script with the Pipes subprocess client.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from pydantic import BaseModel, ConfigDict
from typing_extensions import Self

from dagster_components import Component, component_type
from dagster_components import Component, registered_component_type
from dagster_components.core.component import ComponentLoadContext


Expand All @@ -17,7 +17,7 @@ class MyComponentSchema(BaseModel):
model_config = ConfigDict(extra="forbid")


@component_type
@registered_component_type
class MyComponent(Component):
name = "my_component"

Expand Down Expand Up @@ -46,7 +46,7 @@ class MyNestedComponentSchema(BaseModel):
model_config = ConfigDict(extra="forbid")


@component_type
@registered_component_type
class MyNestedComponent(Component):
name = "my_nested_component"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from collections.abc import Iterator

from dagster._core.execution.context.asset_execution_context import AssetExecutionContext
from dagster_components import component_type
from dagster_components import registered_component_type
from dagster_components.lib.sling_replication_collection.component import SlingReplicationCollection
from dagster_sling import SlingResource


@component_type(name="debug_sling_replication")
@registered_component_type(name="debug_sling_replication")
class DebugSlingReplicationComponent(SlingReplicationCollection):
def execute(self, context: AssetExecutionContext, sling: SlingResource) -> Iterator:
return sling.replicate(context=context, debug=True)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from dagster._core.definitions.definitions_class import Definitions
from dagster_components import Component, component_type
from dagster_components import Component, registered_component_type
from dagster_components.core.component import ComponentLoadContext
from dagster_components.core.schema.base import BaseModel
from typing_extensions import Self
Expand All @@ -10,7 +10,7 @@ class MyComponentSchema(BaseModel):
an_int: int


@component_type
@registered_component_type
class MyComponent(Component):
name = "my_component"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from dagster._core.definitions.definitions_class import Definitions
from dagster_components import Component, component_type
from dagster_components import Component, registered_component_type
from dagster_components.core.component import ComponentLoadContext
from pydantic import BaseModel
from typing_extensions import Self
Expand All @@ -10,7 +10,7 @@ class MyNewComponentSchema(BaseModel):
an_int: int


@component_type
@registered_component_type
class MyNewComponent(Component):
name = "my_new_component"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from dagster._core.definitions.result import MaterializeResult
from dagster._core.execution.context.asset_execution_context import AssetExecutionContext
from dagster._utils.env import environ
from dagster_components import component_type
from dagster_components import registered_component_type
from dagster_components.core.component_decl_builder import ComponentFileModel
from dagster_components.core.component_defs_builder import (
YamlComponentDecl,
Expand Down Expand Up @@ -163,7 +163,7 @@ def test_load_from_path(sling_path: Path) -> None:


def test_sling_subclass() -> None:
@component_type(name="debug_sling_replication")
@registered_component_type(name="debug_sling_replication")
class DebugSlingReplicationComponent(SlingReplicationCollection):
def execute(
self, context: AssetExecutionContext, sling: SlingResource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ def _find_repo_root():

def _generate_test_component_source(number: int) -> str:
return textwrap.dedent(f"""
from dagster_components import Component, component_type
@component_type(name="test_component_{number}")
from dagster_components import Component, registered_component_type
@registered_component_type(name="test_component_{number}")
class TestComponent{number}(Component):
pass
""")
Expand Down
Loading