Skip to content

Conversation

@alangenfeld
Copy link
Member

@alangenfeld alangenfeld commented May 23, 2025

How I Tested These Changes

rebuild api docs and run docs locally, look at api docs entry for components

Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@alangenfeld alangenfeld force-pushed the al/05-23-_components_api_doc_refresh branch 2 times, most recently from 026d33e to 5384e8a Compare May 27, 2025 21:30
@alangenfeld alangenfeld marked this pull request as ready for review May 27, 2025 21:30
@alangenfeld alangenfeld requested a review from a team as a code owner May 27, 2025 21:30
Copy link
Contributor

@neverett neverett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few suggestions, including one to fix the broken API docs link, otherwise LGTM!

- The assets the shell script is expected to produce

The `ShellCommand` class inherits from <PyObject section="resolved" module="dagster.components" object="Resolvable" />, in addition to <PyObject section="components" module="dagster.components" object="Component" />. `Resolvable` handles deriving a YAML schema for the `ShellCommand` class based on what the class is annotated with. To simplify common use cases, Dagster provides annotations for common bits of configuration, such as `ResolvedAssetSpec`, which will handle exposing a schema for defining <PyObject section="assets" module="dagster" object="AssetSpec" pluralize /> from YAML and resolving them before instantiating the component.
The `ShellCommand` class inherits from <PyObject section="resolved" module="dagster" object="Resolvable" />, in addition to <PyObject section="components" module="dagster" object="Component" />. `Resolvable` handles deriving a YAML schema for the `ShellCommand` class based on what the class is annotated with. To simplify common use cases, Dagster provides annotations for common bits of configuration, such as `ResolvedAssetSpec`, which will handle exposing a schema for defining <PyObject section="assets" module="dagster" object="AssetSpec" pluralize /> from YAML and resolving them before instantiating the component.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `ShellCommand` class inherits from <PyObject section="resolved" module="dagster" object="Resolvable" />, in addition to <PyObject section="components" module="dagster" object="Component" />. `Resolvable` handles deriving a YAML schema for the `ShellCommand` class based on what the class is annotated with. To simplify common use cases, Dagster provides annotations for common bits of configuration, such as `ResolvedAssetSpec`, which will handle exposing a schema for defining <PyObject section="assets" module="dagster" object="AssetSpec" pluralize /> from YAML and resolving them before instantiating the component.
The `ShellCommand` class inherits from <PyObject section="components" module="dagster" object="Resolvable" />, in addition to <PyObject section="components" module="dagster" object="Component" />. `Resolvable` handles deriving a YAML schema for the `ShellCommand` class based on what the class is annotated with. To simplify common use cases, Dagster provides annotations for common bits of configuration, such as `ResolvedAssetSpec`, which will handle exposing a schema for defining <PyObject section="assets" module="dagster" object="AssetSpec" pluralize /> from YAML and resolving them before instantiating the component.

-----------

These Annotated TypeAliases can be used when defining custom Components for
common dagster types.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
common dagster types.
common Dagster types.

.. py:data:: ResolvedAssetKey
:type: Annotated[AssetKey, ...]

Allows resolving to an AssetKey via a yaml friendly schema.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Allows resolving to an AssetKey via a yaml friendly schema.
Allows resolving to an AssetKey via a YAML-friendly schema.

.. py:data:: ResolvedAssetSpec
:type: Annotated[AssetSpec, ...]

Allows resolving to an AssetSpec via a yaml friendly schema.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Allows resolving to an AssetSpec via a yaml friendly schema.
Allows resolving to an AssetSpec via a YAML-friendly schema.

.. py:data:: ResolvedAssetCheckSpec
:type: Annotated[AssetCheckSpec, ...]

Allows resolving to an AssetCheckSpec via a yaml friendly schema.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Allows resolving to an AssetCheckSpec via a yaml friendly schema.
Allows resolving to an AssetCheckSpec via a YAML-friendly schema.

@alangenfeld alangenfeld force-pushed the al/05-23-_components_api_doc_refresh branch from fafa0f6 to ba77328 Compare May 29, 2025 18:45
Copy link
Member Author

alangenfeld commented May 29, 2025

Merge activity

  • May 29, 9:37 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • May 29, 9:37 PM UTC: @alangenfeld merged this pull request with Graphite.

@alangenfeld alangenfeld merged commit 02e9a88 into master May 29, 2025
8 checks passed
@alangenfeld alangenfeld deleted the al/05-23-_components_api_doc_refresh branch May 29, 2025 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants