litestar-org/polyfactory

Enhancement: Support non-mutable Mapping containers

Open

#726 opened on Jul 3, 2025

 (1 comment) (2 reactions) (0 assignees)Python (114 forks)auto 404
enhancementgood first issue

Repository metrics

Stars
 (1,491 stars)
PR merge metrics
 (PR metrics pending)

Description

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