assumed to be True or False if it is omitted by the caller.
* ``kw_only_default`` indicates whether the ``kw_only`` parameter is
assumed to be True or False if it is omitted by the caller.
+ * ``frozen_default`` indicates whether the ``frozen`` parameter is
+ assumed to be True or False if it is omitted by the caller.
+
+ .. versionadded:: 3.12
* ``field_specifiers`` specifies a static list of supported classes
or functions that describe fields, similar to ``dataclasses.field()``.
* Arbitrary other keyword arguments are accepted in order to allow for
"eq_default": True,
"order_default": False,
"kw_only_default": True,
+ "frozen_default": False,
"field_specifiers": (),
"kwargs": {},
}
"eq_default": True,
"order_default": True,
"kw_only_default": False,
+ "frozen_default": False,
"field_specifiers": (),
"kwargs": {"make_everything_awesome": True},
}
return super().__new__(cls, name, bases, namespace)
Decorated = dataclass_transform(
- order_default=True, field_specifiers=(Field,)
+ order_default=True, frozen_default=True, field_specifiers=(Field,)
)(ModelMeta)
class ModelBase(metaclass=Decorated): ...
"eq_default": True,
"order_default": True,
"kw_only_default": False,
+ "frozen_default": True,
"field_specifiers": (Field,),
"kwargs": {},
}
eq_default: bool = True,
order_default: bool = False,
kw_only_default: bool = False,
+ frozen_default: bool = False,
field_specifiers: tuple[type[Any] | Callable[..., Any], ...] = (),
**kwargs: Any,
) -> Callable[[T], T]:
assumed to be True or False if it is omitted by the caller.
- ``kw_only_default`` indicates whether the ``kw_only`` parameter is
assumed to be True or False if it is omitted by the caller.
+ - ``frozen_default`` indicates whether the ``frozen`` parameter is
+ assumed to be True or False if it is omitted by the caller.
- ``field_specifiers`` specifies a static list of supported classes
or functions that describe fields, similar to ``dataclasses.field()``.
- Arbitrary other keyword arguments are accepted in order to allow for
"eq_default": eq_default,
"order_default": order_default,
"kw_only_default": kw_only_default,
+ "frozen_default": frozen_default,
"field_specifiers": field_specifiers,
"kwargs": kwargs,
}
--- /dev/null
+Add ``frozen_default`` parameter to :func:`typing.dataclass_transform`.