imports.py 544 B

1234567891011121314151617181920212223
  1. """Import operations."""
  2. from collections import defaultdict
  3. from typing import Dict, Set
  4. ImportDict = Dict[str, Set[str]]
  5. def merge_imports(*imports) -> ImportDict:
  6. """Merge two import dicts together.
  7. Args:
  8. *imports: The list of import dicts to merge.
  9. Returns:
  10. The merged import dicts.
  11. """
  12. all_imports = defaultdict(set)
  13. for import_dict in imports:
  14. for lib, fields in import_dict.items():
  15. for field in fields:
  16. all_imports[lib].add(field)
  17. return all_imports