diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/basic-subclass.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/basic-subclass.py index 61122081d863e..c8c1d5989b7ec 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/basic-subclass.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/basic-subclass.py @@ -1,6 +1,4 @@ -from dagster_components import registered_component_type from dagster_components.lib import SlingReplicationCollection -@registered_component_type(name="custom_subclass") class CustomSubclass(SlingReplicationCollection): ... diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/custom-scope.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/custom-scope.py index c97a27e04ac68..2f7596a27eb68 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/custom-scope.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/custom-scope.py @@ -1,13 +1,11 @@ from collections.abc import Mapping from typing import Any -from dagster_components import registered_component_type from dagster_components.lib import SlingReplicationCollection import dagster as dg -@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: diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/debug-mode.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/debug-mode.py index 2e13f4341650b..2a7a718d39928 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/debug-mode.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/debug-mode.py @@ -1,13 +1,11 @@ from collections.abc import Iterator -from dagster_components import registered_component_type from dagster_components.lib import SlingReplicationCollection from dagster_sling import SlingResource import dagster as dg -@registered_component_type(name="debug_sling_replication") class DebugSlingReplicationComponent(SlingReplicationCollection): def execute( self, context: dg.AssetExecutionContext, sling: SlingResource diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py index e0b899519d7ed..da87173317208 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py @@ -4,13 +4,11 @@ ComponentLoadContext, DefaultComponentScaffolder, ResolvableSchema, - registered_component_type, ) class ShellCommandSchema(ResolvableSchema): ... -@registered_component_type class ShellCommand(Component): """COMPONENT SUMMARY HERE. diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/custom-schema-resolution.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/custom-schema-resolution.py index b880addfe3ade..ce6ea25b06a34 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/custom-schema-resolution.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/custom-schema-resolution.py @@ -7,7 +7,6 @@ FieldResolver, ResolutionContext, ResolvableSchema, - registered_component_type, ) import dagster as dg @@ -27,7 +26,6 @@ def resolve_api_key( return MyApiClient(api_key=schema.api_key) -@registered_component_type(name="my_component") @dataclass class MyComponent(Component): # FieldResolver specifies a function used to map input matching the schema diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/empty.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/empty.py index 1fe3e2b31c795..228087f48772e 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/empty.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/empty.py @@ -1,15 +1,9 @@ -from dagster_components import ( - Component, - ComponentLoadContext, - ResolvableSchema, - registered_component_type, -) +from dagster_components import Component, ComponentLoadContext, ResolvableSchema from pydantic import BaseModel import dagster as dg -@registered_component_type(name="shell_command") class ShellCommand(Component): @classmethod def get_schema(cls) -> type[ResolvableSchema]: ... diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/resolving-resolvable-field.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/resolving-resolvable-field.py index 670fdcf590e74..5efc017ce0d79 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/resolving-resolvable-field.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/resolving-resolvable-field.py @@ -1,11 +1,6 @@ from collections.abc import Sequence -from dagster_components import ( - AssetSpecSchema, - Component, - ResolvableSchema, - registered_component_type, -) +from dagster_components import AssetSpecSchema, Component, ResolvableSchema class ShellCommandParams(ResolvableSchema): @@ -13,5 +8,4 @@ class ShellCommandParams(ResolvableSchema): asset_specs: Sequence[AssetSpecSchema] -@registered_component_type(name="shell_command") class ShellCommand(Component): ... diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-build-defs.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-build-defs.py index fab09854486aa..edb4073d2978e 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-build-defs.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-build-defs.py @@ -9,7 +9,6 @@ ComponentLoadContext, ResolutionContext, ResolvableSchema, - registered_component_type, ) import dagster as dg @@ -26,7 +25,6 @@ def resolve_asset_specs( return context.resolve_value(schema.asset_specs) -@registered_component_type(name="shell_command") @dataclass class ShellCommand(Component): """Models a shell script as a Dagster asset.""" diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-class-defined.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-class-defined.py index f5643382dc4e8..dc43a18f4027d 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-class-defined.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-class-defined.py @@ -6,7 +6,6 @@ Component, ComponentLoadContext, ResolvableSchema, - registered_component_type, ) import dagster as dg @@ -17,7 +16,6 @@ class ShellScriptSchema(ResolvableSchema): asset_specs: Sequence[AssetSpecSchema] -@registered_component_type(name="shell_command") @dataclass class ShellCommand(Component): script_path: str diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-config-schema.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-config-schema.py index 1c642b8ff365f..b97f295815736 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-config-schema.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-config-schema.py @@ -5,7 +5,6 @@ Component, ComponentLoadContext, ResolvableSchema, - registered_component_type, ) import dagster as dg @@ -16,7 +15,6 @@ class ShellScriptSchema(ResolvableSchema): asset_specs: Sequence[AssetSpecSchema] -@registered_component_type(name="shell_command") class ShellCommand(Component): """Models a shell script as a Dagster asset.""" diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-custom-scope.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-custom-scope.py index b8d04196de62e..4fcf883f52759 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-custom-scope.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-custom-scope.py @@ -10,7 +10,6 @@ ComponentLoadContext, ResolutionContext, ResolvableSchema, - registered_component_type, ) import dagster as dg @@ -27,7 +26,6 @@ def resolve_asset_specs( return context.resolve_value(schema.asset_specs) -@registered_component_type(name="shell_command") @dataclass class ShellCommand(Component): script_path: str diff --git a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-scaffolder.py b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-scaffolder.py index 88684b7038263..c6e47ba78a9cf 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-scaffolder.py +++ b/examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-scaffolder.py @@ -12,7 +12,6 @@ ComponentScaffolder, ComponentScaffoldRequest, ResolvableSchema, - registered_component_type, scaffold_component_yaml, ) @@ -46,7 +45,6 @@ class ShellScriptSchema(ResolvableSchema): asset_specs: Sequence[AssetSpecSchema] -@registered_component_type(name="shell_command") @dataclass class ShellCommand(Component): """Models a shell script as a Dagster asset.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/__init__.py b/python_modules/libraries/dagster-components/dagster_components/__init__.py index c091259c57d8f..5f51487fbe99b 100644 --- a/python_modules/libraries/dagster-components/dagster_components/__init__.py +++ b/python_modules/libraries/dagster-components/dagster_components/__init__.py @@ -2,7 +2,6 @@ Component as Component, ComponentLoadContext as ComponentLoadContext, component as component, - registered_component_type as registered_component_type, ) from dagster_components.core.component_defs_builder import ( build_component_defs as build_component_defs, diff --git a/python_modules/libraries/dagster-components/dagster_components/core/component.py b/python_modules/libraries/dagster-components/dagster_components/core/component.py index 58edbfc0a0914..5255b95779da1 100644 --- a/python_modules/libraries/dagster-components/dagster_components/core/component.py +++ b/python_modules/libraries/dagster-components/dagster_components/core/component.py @@ -14,7 +14,7 @@ from dagster import _check as check from dagster._core.definitions.definitions_class import Definitions from dagster._core.errors import DagsterError -from dagster._utils import pushd, snakecase +from dagster._utils import pushd from typing_extensions import Self from dagster_components.core.component_key import ComponentKey @@ -310,55 +310,9 @@ def build_defs(self, context: ComponentLoadContext) -> Definitions: return importlib.import_module(component_module_name) -COMPONENT_REGISTRY_KEY_ATTR = "__dagster_component_registry_key" COMPONENT_LOADER_FN_ATTR = "__dagster_component_loader_fn" -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. - - Args: - cls (Optional[Type[Component]]): The target of the decorator: the component class - to register. The class must inherit from Component. - name (Optional[str]): The name to register the component type under. If not - provided, the name will be the snake-cased version of the class name. The - name is used as a key in operations like scaffolding and loading. - """ - if cls is None: - - def wrapper(actual_cls: type[Component]) -> type[Component]: - check.inst_param(actual_cls, "actual_cls", type) - setattr( - actual_cls, - COMPONENT_REGISTRY_KEY_ATTR, - name or snakecase(actual_cls.__name__), - ) - return actual_cls - - return wrapper - else: - # called without params - check.inst_param(cls, "cls", type) - setattr(cls, COMPONENT_REGISTRY_KEY_ATTR, name or snakecase(cls.__name__)) - return cls - - -def is_registered_component_type(cls: type) -> bool: - return hasattr(cls, COMPONENT_REGISTRY_KEY_ATTR) - - -def get_component_type_name(component_type: type[Component]) -> str: - check.param_invariant( - is_registered_component_type(component_type), - "component_type", - "Expected a registered component. Use @component to register a component.", - ) - return getattr(component_type, COMPONENT_REGISTRY_KEY_ATTR) - - T_Component = TypeVar("T_Component", bound=Component) diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/dbt_project/component.py b/python_modules/libraries/dagster-components/dagster_components/lib/dbt_project/component.py index a54a19b2a086f..e0e2a6c41a143 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/dbt_project/component.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/dbt_project/component.py @@ -14,7 +14,6 @@ from pydantic.dataclasses import dataclass from dagster_components import Component, ComponentLoadContext, FieldResolver -from dagster_components.core.component import registered_component_type from dagster_components.core.schema.base import ResolvableSchema from dagster_components.core.schema.metadata import ResolvableFieldInfo from dagster_components.core.schema.objects import ( @@ -52,7 +51,6 @@ def resolve_translator( ) -@registered_component_type(name="dbt_project") @dataclass(config=ConfigDict(arbitrary_types_allowed=True)) # omits translator prop from schema class DbtProjectComponent(Component): """Expose a DBT project to Dagster as a set of assets.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/definitions_component/component.py b/python_modules/libraries/dagster-components/dagster_components/lib/definitions_component/component.py index e2b42e92139f1..757d4b7bdb85b 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/definitions_component/component.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/definitions_component/component.py @@ -8,12 +8,7 @@ from pydantic import Field from pydantic.dataclasses import dataclass -from dagster_components import ( - Component, - ComponentLoadContext, - ResolvableSchema, - registered_component_type, -) +from dagster_components import Component, ComponentLoadContext, ResolvableSchema from dagster_components.lib.definitions_component.scaffolder import DefinitionsComponentScaffolder @@ -21,7 +16,6 @@ class DefinitionsParamSchema(ResolvableSchema): definitions_path: Optional[str] = None -@registered_component_type(name="definitions") @dataclass class DefinitionsComponent(Component): """Wraps an arbitrary set of Dagster definitions.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/pipes_subprocess_script_collection.py b/python_modules/libraries/dagster-components/dagster_components/lib/pipes_subprocess_script_collection.py index 0455ca6cb94a8..cae7e2aef4d87 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/pipes_subprocess_script_collection.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/pipes_subprocess_script_collection.py @@ -12,11 +12,7 @@ from pydantic.dataclasses import dataclass from dagster_components import FieldResolver -from dagster_components.core.component import ( - Component, - ComponentLoadContext, - registered_component_type, -) +from dagster_components.core.component import Component, ComponentLoadContext from dagster_components.core.schema.base import ResolvableSchema from dagster_components.core.schema.context import ResolutionContext from dagster_components.core.schema.objects import AssetSpecSchema @@ -47,7 +43,6 @@ def resolve_specs_by_path( return {spec.path: spec.assets for spec in context.resolve_value(schema.scripts)} -@registered_component_type(name="pipes_subprocess_script_collection") @dataclass class PipesSubprocessScriptCollection(Component): """Assets that wrap Python scripts executed with Dagster's PipesSubprocessClient.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/sling_replication_collection/component.py b/python_modules/libraries/dagster-components/dagster_components/lib/sling_replication_collection/component.py index 66f1dd9a079bb..4a8f980a19b3e 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/sling_replication_collection/component.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/sling_replication_collection/component.py @@ -13,7 +13,6 @@ from typing_extensions import TypeAlias from dagster_components import Component, ComponentLoadContext, FieldResolver -from dagster_components.core.component import registered_component_type from dagster_components.core.component_scaffolder import ComponentScaffolder from dagster_components.core.schema.base import ResolvableSchema from dagster_components.core.schema.context import ResolutionContext @@ -87,7 +86,6 @@ def resolve_resource( ) -@registered_component_type @dataclass class SlingReplicationCollection(Component): """Expose one or more Sling replications to Dagster as assets.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/test/all_metadata_empty_asset.py b/python_modules/libraries/dagster-components/dagster_components/lib/test/all_metadata_empty_asset.py index 3698d23bb3fc1..f9d35f4b167d8 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/test/all_metadata_empty_asset.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/test/all_metadata_empty_asset.py @@ -2,11 +2,10 @@ from dagster._core.definitions.definitions_class import Definitions from dagster._core.execution.context.asset_execution_context import AssetExecutionContext -from dagster_components import Component, ComponentLoadContext, registered_component_type +from dagster_components import Component, ComponentLoadContext from dagster_components.core.component_scaffolder import DefaultComponentScaffolder -@registered_component_type(name="all_metadata_empty_asset") class AllMetadataEmptyAsset(Component): @classmethod def get_scaffolder(cls) -> DefaultComponentScaffolder: diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/test/complex_schema_asset.py b/python_modules/libraries/dagster-components/dagster_components/lib/test/complex_schema_asset.py index ada1a8c8380ef..d42d452f629ae 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/test/complex_schema_asset.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/test/complex_schema_asset.py @@ -6,7 +6,7 @@ from dagster._core.execution.context.asset_execution_context import AssetExecutionContext from pydantic import Field -from dagster_components import Component, ComponentLoadContext, registered_component_type +from dagster_components import Component, ComponentLoadContext from dagster_components.core.component_scaffolder import DefaultComponentScaffolder from dagster_components.core.schema.base import ResolvableSchema from dagster_components.core.schema.metadata import ResolvableFieldInfo @@ -31,7 +31,6 @@ class ComplexAssetSchema(ResolvableSchema["ComplexSchemaAsset"]): asset_post_processors: Optional[Sequence[AssetPostProcessorSchema]] = None -@registered_component_type(name="complex_schema_asset") class ComplexSchemaAsset(Component): """An asset that has a complex schema.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_asset.py b/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_asset.py index 40ac92b19b13f..e4855c464fcac 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_asset.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_asset.py @@ -4,7 +4,7 @@ from dagster._core.execution.context.asset_execution_context import AssetExecutionContext from pydantic import BaseModel -from dagster_components import Component, ComponentLoadContext, registered_component_type +from dagster_components import Component, ComponentLoadContext from dagster_components.core.component_scaffolder import ( ComponentScaffolder, DefaultComponentScaffolder, @@ -16,7 +16,6 @@ class SimpleAssetSchema(BaseModel): value: str -@registered_component_type(name="simple_asset") class SimpleAsset(Component): """A simple asset that returns a constant string value.""" diff --git a/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_pipes_script_asset.py b/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_pipes_script_asset.py index 6dfbe21fc32fb..aae19b920ee09 100644 --- a/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_pipes_script_asset.py +++ b/python_modules/libraries/dagster-components/dagster_components/lib/test/simple_pipes_script_asset.py @@ -8,7 +8,7 @@ from dagster._core.pipes.subprocess import PipesSubprocessClient from pydantic import BaseModel -from dagster_components import Component, ComponentLoadContext, registered_component_type +from dagster_components import Component, ComponentLoadContext from dagster_components.core.component_scaffolder import ( ComponentScaffolder, ComponentScaffoldRequest, @@ -46,7 +46,6 @@ def scaffold( """ -@registered_component_type(name="simple_pipes_script_asset") class SimplePipesScriptAsset(Component): """A simple asset that runs a Python script with the Pipes subprocess client. diff --git a/python_modules/libraries/dagster-components/dagster_components/test/basic_components.py b/python_modules/libraries/dagster-components/dagster_components/test/basic_components.py index 6da0f619f9e76..cbaaffe15acee 100644 --- a/python_modules/libraries/dagster-components/dagster_components/test/basic_components.py +++ b/python_modules/libraries/dagster-components/dagster_components/test/basic_components.py @@ -7,7 +7,7 @@ from dagster._core.definitions.definitions_class import Definitions from pydantic import BaseModel, ConfigDict -from dagster_components import Component, ResolvableSchema, registered_component_type +from dagster_components import Component, ResolvableSchema from dagster_components.core.component import ComponentLoadContext @@ -16,7 +16,6 @@ class MyComponentSchema(ResolvableSchema): an_int: int -@registered_component_type @dataclass class MyComponent(Component): a_string: str @@ -43,7 +42,6 @@ class MyNestedComponentSchema(BaseModel): model_config = ConfigDict(extra="forbid") -@registered_component_type class MyNestedComponent(Component): @classmethod def get_schema(cls) -> type[MyNestedComponentSchema]: diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/local_component_sample/__init__.py b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/local_component_sample/__init__.py index 6fd52bf2775a3..4d99561deb9c4 100644 --- a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/local_component_sample/__init__.py +++ b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/local_component_sample/__init__.py @@ -1,5 +1,5 @@ from dagster._core.definitions.definitions_class import Definitions -from dagster_components import Component, ResolvableSchema, registered_component_type +from dagster_components import Component, ResolvableSchema from dagster_components.core.component import ComponentLoadContext @@ -8,7 +8,6 @@ class MyComponentSchema(ResolvableSchema): an_int: int -@registered_component_type class MyComponent(Component): a_string: str an_int: int diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/other_local_component_sample/__init__.py b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/other_local_component_sample/__init__.py index bb3010a7f40fc..618d8f3f1ea9e 100644 --- a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/other_local_component_sample/__init__.py +++ b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/components/definitions/other_local_component_sample/__init__.py @@ -1,5 +1,5 @@ from dagster._core.definitions.definitions_class import Definitions -from dagster_components import Component, registered_component_type +from dagster_components import Component from dagster_components.core.component import ComponentLoadContext from pydantic import BaseModel @@ -9,7 +9,6 @@ class MyNewComponentSchema(BaseModel): an_int: int -@registered_component_type class MyNewComponent(Component): name = "my_new_component" diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_dbt_project.py b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_dbt_project.py index 2bb8690c18c5f..d68f73c1a38ff 100644 --- a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_dbt_project.py +++ b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_dbt_project.py @@ -7,7 +7,6 @@ import pytest from dagster import AssetKey -from dagster_components.core.component import registered_component_type from dagster_components.core.component_decl_builder import ComponentFileModel from dagster_components.core.component_defs_builder import ( YamlComponentDecl, @@ -94,7 +93,6 @@ def test_load_from_path(dbt_path: Path) -> None: def test_dbt_subclass_additional_scope_fn(dbt_path: Path) -> None: - @registered_component_type(name="debug_dbt_project") @dataclass class DebugDbtProjectComponent(DbtProjectComponent): @classmethod diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_sling_integration_test.py b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_sling_integration_test.py index edb9ef1d3423d..32cdc2369037a 100644 --- a/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_sling_integration_test.py +++ b/python_modules/libraries/dagster-components/dagster_components_tests/integration_tests/test_sling_integration_test.py @@ -13,7 +13,6 @@ from dagster._core.execution.context.asset_execution_context import AssetExecutionContext from dagster._core.instance_for_test import instance_for_test from dagster._utils.env import environ -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, build_component_defs from dagster_components.lib.sling_replication_collection.component import SlingReplicationCollection @@ -170,7 +169,6 @@ def test_load_from_path() -> None: def test_sling_subclass() -> None: - @registered_component_type(name="debug_sling_replication") class DebugSlingReplicationComponent(SlingReplicationCollection): def execute( self, context: AssetExecutionContext, sling: SlingResource diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/registry_tests/test_registry.py b/python_modules/libraries/dagster-components/dagster_components_tests/registry_tests/test_registry.py index 08571b088e226..37bb6b1506aec 100644 --- a/python_modules/libraries/dagster-components/dagster_components_tests/registry_tests/test_registry.py +++ b/python_modules/libraries/dagster-components/dagster_components_tests/registry_tests/test_registry.py @@ -66,8 +66,8 @@ def _find_repo_root(): def _generate_test_component_source(number: int) -> str: return textwrap.dedent(f""" - from dagster_components import Component, registered_component_type - @registered_component_type(name="test_component_{number}") + from dagster_components import Component + class TestComponent{number}(Component): def build_defs(self, context): pass diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/resolution_tests/custom_scope_component/component.py b/python_modules/libraries/dagster-components/dagster_components_tests/resolution_tests/custom_scope_component/component.py index 74088dcbf34c2..5aef754fd8b83 100644 --- a/python_modules/libraries/dagster-components/dagster_components_tests/resolution_tests/custom_scope_component/component.py +++ b/python_modules/libraries/dagster-components/dagster_components_tests/resolution_tests/custom_scope_component/component.py @@ -8,7 +8,6 @@ Component, ComponentLoadContext, ResolvableSchema, - registered_component_type, ) @@ -24,7 +23,6 @@ class CustomScopeSchema(ResolvableSchema): asset_attributes: AssetAttributesSchema -@registered_component_type(name="custom_scope_component") @dataclass class HasCustomScope(Component): asset_attributes: Mapping[str, Any] diff --git a/python_modules/libraries/dagster-components/dagster_components_tests/unit_tests/test_registered_component.py b/python_modules/libraries/dagster-components/dagster_components_tests/unit_tests/test_registered_component.py deleted file mode 100644 index bcef8659a3661..0000000000000 --- a/python_modules/libraries/dagster-components/dagster_components_tests/unit_tests/test_registered_component.py +++ /dev/null @@ -1,32 +0,0 @@ -from dagster_components import Component, registered_component_type -from dagster_components.core.component import get_component_type_name, is_registered_component_type - - -def test_registered_component_with_default_name() -> None: - @registered_component_type - class RegisteredComponent(Component): ... - - assert is_registered_component_type(RegisteredComponent) - assert get_component_type_name(RegisteredComponent) == "registered_component" - - -def test_registered_component_with_default_name_and_parens() -> None: - @registered_component_type() - class RegisteredComponent(Component): ... - - assert is_registered_component_type(RegisteredComponent) - assert get_component_type_name(RegisteredComponent) == "registered_component" - - -def test_registered_component_with_explicit_kwarg_name() -> None: - @registered_component_type(name="explicit_name") - class RegisteredComponent(Component): ... - - assert is_registered_component_type(RegisteredComponent) - assert get_component_type_name(RegisteredComponent) == "explicit_name" - - -def test_unregistered_component() -> None: - class UnregisteredComponent(Component): ... - - assert not is_registered_component_type(UnregisteredComponent) diff --git a/python_modules/libraries/dagster-dg/dagster_dg/templates/COMPONENT_TYPE/COMPONENT_TYPE_NAME_PLACEHOLDER.py.jinja b/python_modules/libraries/dagster-dg/dagster_dg/templates/COMPONENT_TYPE/COMPONENT_TYPE_NAME_PLACEHOLDER.py.jinja index d5f8b8139d707..f715d25fd3075 100644 --- a/python_modules/libraries/dagster-dg/dagster_dg/templates/COMPONENT_TYPE/COMPONENT_TYPE_NAME_PLACEHOLDER.py.jinja +++ b/python_modules/libraries/dagster-dg/dagster_dg/templates/COMPONENT_TYPE/COMPONENT_TYPE_NAME_PLACEHOLDER.py.jinja @@ -4,13 +4,11 @@ from dagster_components import ( ComponentLoadContext, DefaultComponentScaffolder, ResolvableSchema, - registered_component_type, ) class {{ name }}Schema(ResolvableSchema): ... -@registered_component_type class {{ name }}(Component): """COMPONENT SUMMARY HERE.