pyufunc.dataclass_merge#

pyufunc.dataclass_merge(dataclass_one, dataclass_two, prefer='first', *, merged_class_name='')#

Merges two dataclasses into a single new dataclass, handling duplicate attributes.

Parameters:
  • dataclass_one (Type[Any]) – The first dataclass to merge.

  • dataclass_two (Type[Any]) – The second dataclass to merge.

  • prefer (str) – Specifies which dataclass to prefer in case of duplicate attributes. Defaults to ‘first’: - (option): ‘first’ - (option): ‘second’

  • merged_class_name (str) – Optional name for the generated merged dataclass. Defaults to “”.

Example

>>> from dataclasses import dataclass
>>> from pyufunc import dataclass_merge
>>> @dataclass
... class DataclassOne:
...     name: str
...     age: int = 30
>>> @dataclass
... class DataclassTwo:
...     city: str
...     age: int = 40
>>> MergedDataclass = dataclass_merge(DataclassOne, DataclassTwo, prefer='first')
>>> MergedDataclass.age
30
>>> MergedDataclass = dataclass_merge(DataclassOne, DataclassTwo, prefer='second')
>>> MergedDataclass.age
40
Returns:

A new dataclass that includes all fields from both dataclasses, with duplicates handled.

Return type:

Type[Any]