I have a data_class object and want to add some functionality using a decorator.
It works, however the class name is lost and becomes defaultinstance.<locals>.SubClass .
I know functools.wraps can fix this, but where/how should it be used?
from dataclasses import dataclass, fields, is_dataclass
def defaultinstance(object):
class SubClass(object):
@classmethod
def woof(cls):
print("woof")
return SubClass
@defaultinstance
@dataclass
class Dog:
name: str
paws: int
doggo = Dog(name="jack", paws=4)
print(doggo)
# defaultinstance.<locals>.SubClass(name='jack', paws=4)