Skip to content

DataclassDeclaration

Renders a Python dataclass.

Example:

<py.DataclassDeclaration name="User" kwOnly>
  <py.VariableDeclaration instanceVariable omitNone name="id" type="int" />
  <py.VariableDeclaration instanceVariable name={namekey("_", { ignoreNamePolicy: true })} type={dataclassesModule["."].KW_ONLY} omitNone />
  <py.VariableDeclaration
    instanceVariable
    name="name"
    type="str"
    initializer={"Anonymous"}
  />
</py.DataclassDeclaration>

Will render as:

from dataclasses import dataclass
from dataclasses import KW_ONLY

@dataclass(kw_only=True)
class User:
    id: int
    _: KW_ONLY
    name: str = "Anonymous"
import { DataclassDeclaration } from "@alloy-js/python";
<DataclassDeclaration bases={Children[]} />
basesoptional Children[]The base classes that this class inherits from.