Skip to content

Product Design

albert.resources.product_design

CasLevelSubstance

Bases: BaseAlbertModel

A single CAS-level substance in an unpacked product's composition.

Show JSON schema:
{
  "description": "A single CAS-level substance in an unpacked product's composition.",
  "properties": {
    "casPrimaryKeyId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Internal key identifying the CAS record for this substance.",
      "title": "Casprimarykeyid"
    },
    "casID": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The CAS identifier for the substance (registry number or ``CAS...`` id).",
      "title": "Casid"
    },
    "substanceId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Regulatory DB substance identifier for this CAS entry.\n\nPrefer this over ``cas_id`` when looking a substance up in the Regulatory DB\n(see [`SubstanceV4Collection`][albert.collections.substance_v4.SubstanceV4Collection]):\na single CAS number can map to more than one substance record, so the substance\nID is the precise key.",
      "title": "Substanceid"
    },
    "albertId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Inventory ID of the ingredient this substance was unpacked from.",
      "title": "Albertid"
    },
    "amount": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The amount of this substance in the unpacked composition.",
      "title": "Amount"
    },
    "min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The minimum proportion of this substance in the unpacked composition.",
      "title": "Min"
    },
    "target": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The target proportion of this substance in the unpacked composition.",
      "title": "Target"
    },
    "aggregatedFunc": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Aggregated function values associated with this substance, when present.",
      "title": "Aggregatedfunc"
    }
  },
  "title": "CasLevelSubstance",
  "type": "object"
}

Fields:

cas_primary_key_id

cas_primary_key_id: str | None = None

Internal key identifying the CAS record for this substance.

cas_id

cas_id: str | None = None

The CAS identifier for the substance (registry number or CAS... id).

substance_id

substance_id: str | None = None

The Regulatory DB substance identifier for this CAS entry.

Prefer this over cas_id when looking a substance up in the Regulatory DB (see SubstanceV4Collection): a single CAS number can map to more than one substance record, so the substance ID is the precise key.

albert_id

albert_id: str | None = None

The Inventory ID of the ingredient this substance was unpacked from.

amount

amount: float | None = None

The amount of this substance in the unpacked composition.

min

min: float | None = None

The minimum proportion of this substance in the unpacked composition.

target

target: float | None = None

The target proportion of this substance in the unpacked composition.

aggregated_func

aggregated_func: list[Any] | None = None

Aggregated function values associated with this substance, when present.

NormalizedCAS

Bases: BaseAlbertModel

A CAS entry with its normalized proportion in the unpacked product.

Show JSON schema:
{
  "description": "A CAS entry with its normalized proportion in the unpacked product.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The name of the CAS substance.",
      "title": "Name"
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The normalized amount of this CAS substance in the product.",
      "title": "Value"
    },
    "albertId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Albert identifier for the CAS record.",
      "title": "Albertid"
    },
    "smiles": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The SMILES string describing the substance's chemical structure.",
      "title": "Smiles"
    }
  },
  "title": "NormalizedCAS",
  "type": "object"
}

Fields:

name

name: str | None = None

The name of the CAS substance.

value

value: float | None = None

The normalized amount of this CAS substance in the product.

albert_id

albert_id: str | None = None

The Albert identifier for the CAS record.

smiles

smiles: str | None = None

The SMILES string describing the substance's chemical structure.

UnpackedInventorySDS

Bases: BaseAlbertModel

Safety data sheet (SDS) and regulatory details for an unpacked ingredient.

Show JSON schema:
{
  "description": "Safety data sheet (SDS) and regulatory details for an unpacked ingredient.",
  "properties": {
    "albertId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Albert identifier this SDS information belongs to.",
      "title": "Albertid"
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The amount associated with this SDS entry.",
      "title": "Value"
    },
    "class": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The SDS hazard classification.",
      "title": "Class"
    },
    "unNumber": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The UN number used for transport / regulatory classification.",
      "title": "Unnumber"
    }
  },
  "title": "UnpackedInventorySDS",
  "type": "object"
}

Fields:

albert_id

albert_id: str | None = None

The Albert identifier this SDS information belongs to.

value

value: float | None = None

The amount associated with this SDS entry.

sds_class

sds_class: str | None = None

The SDS hazard classification.

un_number

un_number: str | None = None

The UN number used for transport / regulatory classification.

UnpackedCasInfo

Bases: BaseAlbertModel

CAS composition detail for an ingredient in an unpacked product.

Show JSON schema:
{
  "description": "CAS composition detail for an ingredient in an unpacked product.",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Albert identifier for the CAS record.",
      "title": "Id"
    },
    "casID": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The CAS identifier for this row, when distinct from ``id`` (e.g. unknown CAS placeholders).",
      "title": "Casid"
    },
    "substanceId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Regulatory DB substance identifier for this CAS entry.",
      "title": "Substanceid"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The name of the CAS substance.",
      "title": "Name"
    },
    "min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The minimum proportion of this substance in the ingredient.",
      "title": "Min"
    },
    "max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The maximum proportion of this substance in the ingredient.",
      "title": "Max"
    },
    "number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The CAS registry number (e.g. ``\"7732-18-5\"``).",
      "title": "Number"
    },
    "casAvg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The averaged CAS proportion.",
      "title": "Casavg"
    },
    "casMinAvg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The minimum averaged CAS proportion.",
      "title": "Casminavg"
    },
    "casTargetAvg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The target averaged CAS proportion.",
      "title": "Castargetavg"
    },
    "casSum": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The summed CAS proportion.",
      "title": "Cassum"
    },
    "minSum": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The summed minimum CAS proportion.",
      "title": "Minsum"
    },
    "targetSum": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The summed target CAS proportion.",
      "title": "Targetsum"
    },
    "casSmiles": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The SMILES string for this CAS constituent.",
      "title": "Cassmiles"
    },
    "aggregatedFunc": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Aggregated function values associated with this CAS constituent.",
      "title": "Aggregatedfunc"
    }
  },
  "title": "UnpackedCasInfo",
  "type": "object"
}

Fields:

id

id: str | None = None

The Albert identifier for the CAS record.

cas_id

cas_id: str | None = None

The CAS identifier for this row, when distinct from id (e.g. unknown CAS placeholders).

substance_id

substance_id: str | None = None

The Regulatory DB substance identifier for this CAS entry.

name

name: str | None = None

The name of the CAS substance.

min

min: float | None = None

The minimum proportion of this substance in the ingredient.

max

max: float | None = None

The maximum proportion of this substance in the ingredient.

number

number: str | None = None

The CAS registry number (e.g. "7732-18-5").

cas_average

cas_average: float | None = None

The averaged CAS proportion.

cas_min_average

cas_min_average: float | None = None

The minimum averaged CAS proportion.

cas_target_average

cas_target_average: float | None = None

The target averaged CAS proportion.

cas_sum

cas_sum: float | None = None

The summed CAS proportion.

min_sum

min_sum: float | None = None

The summed minimum CAS proportion.

target_sum

target_sum: float | None = None

The summed target CAS proportion.

cas_smiles

cas_smiles: str | None = None

The SMILES string for this CAS constituent.

aggregated_func

aggregated_func: list[Any] | None = None

Aggregated function values associated with this CAS constituent.

UnpackedInventoryListItem

Bases: BaseAlbertModel

A single flattened ingredient entry linking a formula cell to an item.

Represents one row/column position in the unpacked formula together with the inventory item at that position and its amount.

Show JSON schema:
{
  "description": "A single flattened ingredient entry linking a formula cell to an item.\n\nRepresents one row/column position in the unpacked formula together with the\ninventory item at that position and its amount.",
  "properties": {
    "rowInventoryId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Inventory ID of the item on this row.",
      "title": "Rowinventoryid"
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The amount contributed by this entry.",
      "title": "Value"
    },
    "functionValue": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Function values associated with this formula cell, when present.",
      "title": "Functionvalue"
    },
    "colId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The identifier of the formula column this entry belongs to.",
      "title": "Colid"
    },
    "colInventoryId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Inventory ID associated with the column.",
      "title": "Colinventoryid"
    },
    "parentId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The identifier of the parent formula this entry was unpacked from.",
      "title": "Parentid"
    },
    "rowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The identifier of the row this entry belongs to.",
      "title": "Rowid"
    }
  },
  "title": "UnpackedInventoryListItem",
  "type": "object"
}

Fields:

row_inventory_id

row_inventory_id: str | None = None

The Inventory ID of the item on this row.

value

value: float | None = None

The amount contributed by this entry.

function_value

function_value: list[Any] | None = None

Function values associated with this formula cell, when present.

column_id

column_id: str | None = None

The identifier of the formula column this entry belongs to.

column_inventory_id

column_inventory_id: str | None = None

The Inventory ID associated with the column.

parent_id

parent_id: str | None = None

The identifier of the parent formula this entry was unpacked from.

row_id

row_id: str | None = None

The identifier of the row this entry belongs to.

UnpackedInventory

Bases: UnpackedInventoryListItem

A fully unpacked ingredient (inventory item) within a product.

Extends UnpackedInventoryListItem with the item's identity plus its resolved SDS information and CAS-level breakdown.

Show JSON schema:
{
  "$defs": {
    "UnpackedCasInfo": {
      "description": "CAS composition detail for an ingredient in an unpacked product.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert identifier for the CAS record.",
          "title": "Id"
        },
        "casID": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The CAS identifier for this row, when distinct from ``id`` (e.g. unknown CAS placeholders).",
          "title": "Casid"
        },
        "substanceId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Regulatory DB substance identifier for this CAS entry.",
          "title": "Substanceid"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the CAS substance.",
          "title": "Name"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum proportion of this substance in the ingredient.",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum proportion of this substance in the ingredient.",
          "title": "Max"
        },
        "number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The CAS registry number (e.g. ``\"7732-18-5\"``).",
          "title": "Number"
        },
        "casAvg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The averaged CAS proportion.",
          "title": "Casavg"
        },
        "casMinAvg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum averaged CAS proportion.",
          "title": "Casminavg"
        },
        "casTargetAvg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The target averaged CAS proportion.",
          "title": "Castargetavg"
        },
        "casSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed CAS proportion.",
          "title": "Cassum"
        },
        "minSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed minimum CAS proportion.",
          "title": "Minsum"
        },
        "targetSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed target CAS proportion.",
          "title": "Targetsum"
        },
        "casSmiles": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The SMILES string for this CAS constituent.",
          "title": "Cassmiles"
        },
        "aggregatedFunc": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Aggregated function values associated with this CAS constituent.",
          "title": "Aggregatedfunc"
        }
      },
      "title": "UnpackedCasInfo",
      "type": "object"
    },
    "UnpackedInventorySDS": {
      "description": "Safety data sheet (SDS) and regulatory details for an unpacked ingredient.",
      "properties": {
        "albertId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert identifier this SDS information belongs to.",
          "title": "Albertid"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The amount associated with this SDS entry.",
          "title": "Value"
        },
        "class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The SDS hazard classification.",
          "title": "Class"
        },
        "unNumber": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The UN number used for transport / regulatory classification.",
          "title": "Unnumber"
        }
      },
      "title": "UnpackedInventorySDS",
      "type": "object"
    }
  },
  "description": "A fully unpacked ingredient (inventory item) within a product.\n\nExtends [`UnpackedInventoryListItem`][albert.resources.product_design.UnpackedInventoryListItem] with the item's identity plus its\nresolved SDS information and CAS-level breakdown.",
  "properties": {
    "rowInventoryId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Inventory ID of the item on this row.",
      "title": "Rowinventoryid"
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The amount contributed by this entry.",
      "title": "Value"
    },
    "functionValue": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Function values associated with this formula cell, when present.",
      "title": "Functionvalue"
    },
    "colId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The identifier of the formula column this entry belongs to.",
      "title": "Colid"
    },
    "colInventoryId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Inventory ID associated with the column.",
      "title": "Colinventoryid"
    },
    "parentId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The identifier of the parent formula this entry was unpacked from.",
      "title": "Parentid"
    },
    "rowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The identifier of the row this entry belongs to.",
      "title": "Rowid"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The Inventory ID of the ingredient (format ``INV...``).",
      "title": "Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The name of the ingredient.",
      "title": "Name"
    },
    "rsnNumber": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The RSN (registered substance) number for the ingredient.",
      "title": "Rsnnumber"
    },
    "totalCasSum": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The summed CAS proportion across the ingredient's constituents.",
      "title": "Totalcassum"
    },
    "sdsInfo": {
      "anyOf": [
        {
          "$ref": "#/$defs/UnpackedInventorySDS"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The SDS / regulatory details for the ingredient."
    },
    "casInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/UnpackedCasInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The CAS-level composition breakdown for the ingredient.",
      "title": "Casinfo"
    },
    "childCas": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/UnpackedCasInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Child CAS rows for the ingredient, including unknown-CAS placeholders.",
      "title": "Childcas"
    }
  },
  "title": "UnpackedInventory",
  "type": "object"
}

Fields:

id

id: str | None = None

The Inventory ID of the ingredient (format INV...).

name

name: str | None = None

The name of the ingredient.

rsn_number

rsn_number: str | None = None

The RSN (registered substance) number for the ingredient.

total_cas_sum

total_cas_sum: float | None = None

The summed CAS proportion across the ingredient's constituents.

sds_info

sds_info: UnpackedInventorySDS | None = None

The SDS / regulatory details for the ingredient.

cas_info

cas_info: list[UnpackedCasInfo] | None = None

The CAS-level composition breakdown for the ingredient.

child_cas

child_cas: list[UnpackedCasInfo] | None = None

Child CAS rows for the ingredient, including unknown-CAS placeholders.

UnpackedProductDesign

Bases: BaseAlbertModel

The full unpacked composition of a single formulated product.

Returned by get_unpacked_products, one per formula that was unpacked. Unpacking recursively resolves the formulation's ingredient tree into two views: a row-level inventory list (the direct worksheet ingredients, some of which may be sub-formulations) and a flat CAS-level substance list (fully resolved raw materials with combined weight fractions). This object gathers the resolved ingredients, the flattened ingredient list, SDS details, and the CAS-level substance rollup.

Show JSON schema:
{
  "$defs": {
    "CasLevelSubstance": {
      "description": "A single CAS-level substance in an unpacked product's composition.",
      "properties": {
        "casPrimaryKeyId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Internal key identifying the CAS record for this substance.",
          "title": "Casprimarykeyid"
        },
        "casID": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The CAS identifier for the substance (registry number or ``CAS...`` id).",
          "title": "Casid"
        },
        "substanceId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Regulatory DB substance identifier for this CAS entry.\n\nPrefer this over ``cas_id`` when looking a substance up in the Regulatory DB\n(see [`SubstanceV4Collection`][albert.collections.substance_v4.SubstanceV4Collection]):\na single CAS number can map to more than one substance record, so the substance\nID is the precise key.",
          "title": "Substanceid"
        },
        "albertId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Inventory ID of the ingredient this substance was unpacked from.",
          "title": "Albertid"
        },
        "amount": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The amount of this substance in the unpacked composition.",
          "title": "Amount"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum proportion of this substance in the unpacked composition.",
          "title": "Min"
        },
        "target": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The target proportion of this substance in the unpacked composition.",
          "title": "Target"
        },
        "aggregatedFunc": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Aggregated function values associated with this substance, when present.",
          "title": "Aggregatedfunc"
        }
      },
      "title": "CasLevelSubstance",
      "type": "object"
    },
    "NormalizedCAS": {
      "description": "A CAS entry with its normalized proportion in the unpacked product.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the CAS substance.",
          "title": "Name"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The normalized amount of this CAS substance in the product.",
          "title": "Value"
        },
        "albertId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert identifier for the CAS record.",
          "title": "Albertid"
        },
        "smiles": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The SMILES string describing the substance's chemical structure.",
          "title": "Smiles"
        }
      },
      "title": "NormalizedCAS",
      "type": "object"
    },
    "UnpackedCasInfo": {
      "description": "CAS composition detail for an ingredient in an unpacked product.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert identifier for the CAS record.",
          "title": "Id"
        },
        "casID": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The CAS identifier for this row, when distinct from ``id`` (e.g. unknown CAS placeholders).",
          "title": "Casid"
        },
        "substanceId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Regulatory DB substance identifier for this CAS entry.",
          "title": "Substanceid"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the CAS substance.",
          "title": "Name"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum proportion of this substance in the ingredient.",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The maximum proportion of this substance in the ingredient.",
          "title": "Max"
        },
        "number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The CAS registry number (e.g. ``\"7732-18-5\"``).",
          "title": "Number"
        },
        "casAvg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The averaged CAS proportion.",
          "title": "Casavg"
        },
        "casMinAvg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The minimum averaged CAS proportion.",
          "title": "Casminavg"
        },
        "casTargetAvg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The target averaged CAS proportion.",
          "title": "Castargetavg"
        },
        "casSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed CAS proportion.",
          "title": "Cassum"
        },
        "minSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed minimum CAS proportion.",
          "title": "Minsum"
        },
        "targetSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed target CAS proportion.",
          "title": "Targetsum"
        },
        "casSmiles": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The SMILES string for this CAS constituent.",
          "title": "Cassmiles"
        },
        "aggregatedFunc": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Aggregated function values associated with this CAS constituent.",
          "title": "Aggregatedfunc"
        }
      },
      "title": "UnpackedCasInfo",
      "type": "object"
    },
    "UnpackedInventory": {
      "description": "A fully unpacked ingredient (inventory item) within a product.\n\nExtends [`UnpackedInventoryListItem`][albert.resources.product_design.UnpackedInventoryListItem] with the item's identity plus its\nresolved SDS information and CAS-level breakdown.",
      "properties": {
        "rowInventoryId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Inventory ID of the item on this row.",
          "title": "Rowinventoryid"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The amount contributed by this entry.",
          "title": "Value"
        },
        "functionValue": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Function values associated with this formula cell, when present.",
          "title": "Functionvalue"
        },
        "colId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The identifier of the formula column this entry belongs to.",
          "title": "Colid"
        },
        "colInventoryId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Inventory ID associated with the column.",
          "title": "Colinventoryid"
        },
        "parentId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The identifier of the parent formula this entry was unpacked from.",
          "title": "Parentid"
        },
        "rowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The identifier of the row this entry belongs to.",
          "title": "Rowid"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Inventory ID of the ingredient (format ``INV...``).",
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The name of the ingredient.",
          "title": "Name"
        },
        "rsnNumber": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The RSN (registered substance) number for the ingredient.",
          "title": "Rsnnumber"
        },
        "totalCasSum": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The summed CAS proportion across the ingredient's constituents.",
          "title": "Totalcassum"
        },
        "sdsInfo": {
          "anyOf": [
            {
              "$ref": "#/$defs/UnpackedInventorySDS"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The SDS / regulatory details for the ingredient."
        },
        "casInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/UnpackedCasInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The CAS-level composition breakdown for the ingredient.",
          "title": "Casinfo"
        },
        "childCas": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/UnpackedCasInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Child CAS rows for the ingredient, including unknown-CAS placeholders.",
          "title": "Childcas"
        }
      },
      "title": "UnpackedInventory",
      "type": "object"
    },
    "UnpackedInventoryListItem": {
      "description": "A single flattened ingredient entry linking a formula cell to an item.\n\nRepresents one row/column position in the unpacked formula together with the\ninventory item at that position and its amount.",
      "properties": {
        "rowInventoryId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Inventory ID of the item on this row.",
          "title": "Rowinventoryid"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The amount contributed by this entry.",
          "title": "Value"
        },
        "functionValue": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Function values associated with this formula cell, when present.",
          "title": "Functionvalue"
        },
        "colId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The identifier of the formula column this entry belongs to.",
          "title": "Colid"
        },
        "colInventoryId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Inventory ID associated with the column.",
          "title": "Colinventoryid"
        },
        "parentId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The identifier of the parent formula this entry was unpacked from.",
          "title": "Parentid"
        },
        "rowId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The identifier of the row this entry belongs to.",
          "title": "Rowid"
        }
      },
      "title": "UnpackedInventoryListItem",
      "type": "object"
    },
    "UnpackedInventorySDS": {
      "description": "Safety data sheet (SDS) and regulatory details for an unpacked ingredient.",
      "properties": {
        "albertId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The Albert identifier this SDS information belongs to.",
          "title": "Albertid"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The amount associated with this SDS entry.",
          "title": "Value"
        },
        "class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The SDS hazard classification.",
          "title": "Class"
        },
        "unNumber": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The UN number used for transport / regulatory classification.",
          "title": "Unnumber"
        }
      },
      "title": "UnpackedInventorySDS",
      "type": "object"
    }
  },
  "description": "The full unpacked composition of a single formulated product.\n\nReturned by\n[`get_unpacked_products`][albert.collections.product_design.ProductDesignCollection.get_unpacked_products],\none per formula that was unpacked. Unpacking recursively resolves the\nformulation's ingredient tree into two views: a row-level inventory list (the\ndirect worksheet ingredients, some of which may be sub-formulations) and a flat\nCAS-level substance list (fully resolved raw materials with combined weight\nfractions). This object gathers the resolved ingredients, the flattened\ningredient list, SDS details, and the CAS-level substance rollup.",
  "properties": {
    "Inventories": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/UnpackedInventory"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The resolved ingredients making up the product, each with its SDS and CAS breakdown.",
      "title": "Inventories"
    },
    "inventoryList": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/UnpackedInventoryListItem"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The flattened list of ingredient entries by formula position.",
      "title": "Inventorylist"
    },
    "inventorySDSList": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/UnpackedInventorySDS"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The SDS / regulatory details collected across the ingredients.",
      "title": "Inventorysdslist"
    },
    "substances": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/CasLevelSubstance"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The formula's substance rows (CAS identifiers, amounts, and related fields).",
      "title": "Substances"
    },
    "casLevelSubstances": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/CasLevelSubstance"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The product's composition expressed as individual CAS-level substances and their amounts.",
      "title": "Caslevelsubstances"
    },
    "normalizedCasList": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/NormalizedCAS"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The CAS substances with their normalized proportions in the product.",
      "title": "Normalizedcaslist"
    }
  },
  "title": "UnpackedProductDesign",
  "type": "object"
}

Fields:

inventories

inventories: list[UnpackedInventory] | None = None

The resolved ingredients making up the product, each with its SDS and CAS breakdown.

inventory_list

inventory_list: list[UnpackedInventoryListItem] | None = (
    None
)

The flattened list of ingredient entries by formula position.

inventory_sds_list

inventory_sds_list: list[UnpackedInventorySDS] | None = None

The SDS / regulatory details collected across the ingredients.

substances

substances: list[CasLevelSubstance] | None = None

The formula's substance rows (CAS identifiers, amounts, and related fields).

cas_level_substances

cas_level_substances: list[CasLevelSubstance] | None = None

The product's composition expressed as individual CAS-level substances and their amounts.

normalized_cas_list

normalized_cas_list: list[NormalizedCAS] | None = None

The CAS substances with their normalized proportions in the product.