mypy run storage
Summary:
- mypy methods in
- in_memory
- sql_run_storage: -> use deserialize_as instead of deserialize_json_to_dagster_namedtuple
- update methods which didn't pass type check, i.e. get_run_group, get_run_groups
- guard empty pipeline run - error like https://gist.github.com/alangenfeld/8e394ccf12dda9abafd79c6d99d3d1f7 shouldn't happen
- flatten nested defaultdict into two separate dicts for readability and easier mypy typing
- get_backfill should return Optional[PartitionBackfill] not PartitionBackfill
Test Plan: bk
Reviewers: max, alangenfeld, dgibson
Reviewed By: dgibson
Differential Revision: https://dagster.phacility.com/D9071