The BaseProduct ABC also has a lot of near boilerplate property code, though only three of its properties fall into implementation patterns that've been established so far:
- name is a standard required text line property.
- summary is a standard required text line property.
- description is an optional string value.
- dimensions is a standard optional text line property.
- shipping_weight is a required number value, which may only be used for determining shipping costs, but could also appear in product displays in the web store.
- metadata is a dictionary of metadata keys (strings) and values (strings also, probably). This is a new data structure, so we'll examine it in detail shortly.
- available is a required Boolean value that allows the ...