Use dataclasses with “kw_only” (PBR004)

This rule will enforce that you use the kw_only parameter in every dataclass decorator.

This will force the developer to set all dataclass attributes as kwargs instead of args, which is more explicit and easier to refactor.

Wrong:

from dataclasses import dataclass


@dataclass
class MyDataClass:
    pass

Correct:

from dataclasses import dataclass


@dataclass(kw_only=True)
class MyDataClass:
    pass