Skip to content

Product Models

Classes for representing products, product groups, shopping list items, and related data.

Product

The main product class, initialized from various API response types.

Product

Bases: BaseModel

A product tracked in Grocy inventory.

Populated with varying levels of detail depending on the source response. Use get_details to fetch full information.

id instance-attribute

name = None class-attribute instance-attribute

product_group_id = None class-attribute instance-attribute

shopping_location_id = None class-attribute instance-attribute

available_amount = None class-attribute instance-attribute

amount_aggregated = None class-attribute instance-attribute

amount_opened = None class-attribute instance-attribute

amount_opened_aggregated = None class-attribute instance-attribute

is_aggregated_amount = None class-attribute instance-attribute

best_before_date = None class-attribute instance-attribute

barcodes = [] class-attribute instance-attribute

product_barcodes = [] class-attribute instance-attribute

amount_missing = None class-attribute instance-attribute

is_partly_in_stock = None class-attribute instance-attribute

default_quantity_unit_purchase = None class-attribute instance-attribute

from_stock_response(resp) classmethod

Create from a current-stock API response.

from_missing_response(resp) classmethod

Create from a missing-products API response.

from_details_response(resp) classmethod

Create from a product-details API response.

from_product_data(data) classmethod

Create from raw product entity data.

from_stock_log_response(resp) classmethod

Create a minimal instance from a stock log entry.

get_details(api_client)

Fetch and populate full product details from the API.

ProductBarcode

ProductBarcode

Bases: BaseModel

A barcode associated with a product.

barcode instance-attribute

amount = None class-attribute instance-attribute

QuantityUnit

QuantityUnit

Bases: BaseModel

A unit of measurement for products.

id instance-attribute

name instance-attribute

name_plural = None class-attribute instance-attribute

description = None class-attribute instance-attribute

Group

Represents a product group.

Group

Bases: BaseModel

A product group for categorizing products.

id instance-attribute

name instance-attribute

description = None class-attribute instance-attribute

ShoppingListProduct

A product entry on a shopping list.

ShoppingListProduct

Bases: BaseModel

An item on a shopping list, optionally linked to a product.

id instance-attribute

product_id = None class-attribute instance-attribute

amount = None class-attribute instance-attribute

note = None class-attribute instance-attribute

product = None class-attribute instance-attribute

done = False class-attribute instance-attribute

from_shopping_list_item(item) classmethod

Create from a shopping list API response.

get_details(api_client)

Fetch and populate the linked product details from the API.