litestar-org/polyfactory

Enhancement: Support non-mutable Mapping containers

Offen

#726 geöffnet am 03.07.2025

 (1 Kommentar) (2 Reaktionen) (0 zugewiesene Personen)Python (114 Forks)auto 404
enhancementgood first issue

Repository-Metriken

Stars
 (1.491 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Summary

Currently handle_collection_type only supports MutableMappings, could support for non-mutable Mappings also be added? I am personally trying to use this alongside the frozendict pypi package.

Basic Example

You could make a factory for e.g.

@dataclass
class Shop(frozen=True)
    prices: MyImmutableMapping[str, int]

where MyImmutableMapping is a subclass of Mapping. Currently this will raise

 NotImplementedError: Unsupported container type: <class 'MyImmutableMapping'>

Drawbacks and Impact

Very few drawbacks in my opinion: changes should be small and isolated and adds functionality many users could benefit from.

Unresolved questions

No response

Contributor Guide