Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[docs] AssetSpec IO managers via metadata (dagster-io#23279)
## Summary & Motivation With `SourceAsset`s being deprecated, posting this PR to kick off a discussion around what we tell users who have been relying on its `io_manager_key` attribute. **Another related option** would be to expose an `IOManagerMetadataSet` instead of a constant. ```python from dagster import AssetSpec, IOManagerMetadataSet my_source_asset = AssetSpec( key=AssetKey("my_source_asset"), metadata=**IOManagerMetadataSet(io_manager_key="s3_io_manager") ) ``` **A third option** would be to expose an `AssetSpecWithIOManager` subclass that internally uses the metadata scheme above. **A fourth option** would be a `with_io_manager` static method on `AssetSpec` that constructs an `AssetSpec` using the metadata schema bove. **A fifth option** would be to deprecate the use of IO managers on non-executable assets. I am not a fan of this option, because I think a big part of the beauty of the IO manager system is being able to depend on an asset and treat the process that generates that asset as a black box. Having one set of capabilities for loading executable assets and another for non-executable assets seems arbitrary. ## How I Tested These Changes
- Loading branch information