wrapping the migration is a good opportunity to clean out some cruft in the sdk
the local_data module itself can be removed
the concept of steps
distinct Garden / PublishedGarden and EntrypointMetadata / RegisteredEntrypoint classes
an object structure that I think makes more sense than what we have now is to have pydantic classes responsible for metadata schemas (EntrypointMetadata, GardenMetadata), and regular classes (Garden, Entrypoint) which have a metadata attribute. The metadata classes would be data-only and responsible for mirroring the backend API schemas, and the regular classes would handle programmatic/interactive behavior, e.g. the implementation of things like __dir__ or __call__, or building the datacite-specific json from the metadata etc.
the important thing here is that any Garden methods which currently need to lazy-import local data or a garden client should be removed
redundant client methods like delete_garden_from_search_index vs delete_garden_locally
wrapping the migration is a good opportunity to clean out some cruft in the sdk
Garden
/PublishedGarden
andEntrypointMetadata
/RegisteredEntrypoint
classesEntrypointMetadata
,GardenMetadata
), and regular classes (Garden
,Entrypoint
) which have ametadata
attribute. The metadata classes would be data-only and responsible for mirroring the backend API schemas, and the regular classes would handle programmatic/interactive behavior, e.g. the implementation of things like__dir__
or__call__
, or building the datacite-specific json from the metadata etc.Garden
methods which currently need to lazy-import local data or a garden client should be removeddelete_garden_from_search_index
vsdelete_garden_locally