Attributes
albert.collections.attributes.AttributeCollection
Bases: BaseCollection
AttributeCollection manages Attribute entities in the Albert platform.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
AlbertSession
|
The Albert session instance. |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
base_path |
str
|
The base URL for attribute API requests. |
Methods:
| Name | Description |
|---|---|
get_all |
Lists all attributes with optional filters. |
get_by_id |
Retrieves an attribute by its ID. |
get_by_ids |
Retrieves multiple attributes by their IDs. |
create |
Creates a new attribute. |
update |
Updates an existing attribute. |
delete |
Deletes an attribute by its ID. |
search |
Searches for attributes. |
add_values |
Adds or updates reference values for a parent entity. |
get_values |
Retrieves reference values for a parent entity. |
get_by_parent_ids |
Retrieves reference values for multiple parent entities. |
delete_values |
Deletes specific reference values from a parent entity. |
clear_values |
Removes all reference values from a parent entity. |
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
AlbertSession
|
The Albert session instance. |
required |
Source code in src/albert/collections/attributes.py
get_all
get_all(
*,
category: AttributeCategory | None = None,
start_key: str | None = None,
max_items: int | None = None,
) -> Iterator[Attribute]
List all attributes with optional filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
category
|
AttributeCategory
|
Filter attributes by category. |
None
|
start_key
|
str
|
Pagination start key from a previous request. |
None
|
max_items
|
int
|
Maximum number of items to return. |
None
|
Returns:
| Type | Description |
|---|---|
Iterator[Attribute]
|
An iterator over Attribute entities. |
Source code in src/albert/collections/attributes.py
get_by_id
get_by_id(*, id: AttributeId) -> Attribute
get_by_ids
get_by_ids(*, ids: list[AttributeId]) -> list[Attribute]
Retrieve multiple attributes by their IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ids
|
list[str]
|
A list of attribute IDs. |
required |
Returns:
| Type | Description |
|---|---|
list[Attribute]
|
The matching Attribute objects. |
Source code in src/albert/collections/attributes.py
create
Create a new attribute.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
attribute
|
Attribute
|
The attribute to create. |
required |
Returns:
| Type | Description |
|---|---|
Attribute
|
The created Attribute. |
Source code in src/albert/collections/attributes.py
update
Update an existing attribute.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
attribute
|
Attribute
|
The updated Attribute object. Must have an ID set. |
required |
Returns:
| Type | Description |
|---|---|
Attribute
|
The updated Attribute. |
Notes
The following fields can be updated: reference_name, parameters,
validation. unit_id can only be set once (when no unit is currently
assigned); it cannot be changed afterwards.
Source code in src/albert/collections/attributes.py
delete
delete(*, id: AttributeId) -> None
Delete an attribute by its ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The attribute ID. |
required |
Returns:
| Type | Description |
|---|---|
None
|
|
Source code in src/albert/collections/attributes.py
search
search(
*,
text: str | None = None,
order_by: OrderBy = DESCENDING,
sort_by: str | None = None,
datacolumn_id: list[DataColumnId] | None = None,
datacolumn_name: list[str] | None = None,
parameter: list[str] | None = None,
unit: list[str] | None = None,
data_type: list[DataType] | None = None,
max_items: int | None = None,
) -> Iterator[AttributeSearchItem]
Search for attributes with optional filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Full-text search term. |
None
|
order_by
|
OrderBy
|
Sort order. Default is DESCENDING. |
DESCENDING
|
sort_by
|
str
|
Field to sort results by. |
None
|
datacolumn_id
|
list[str]
|
Filter by data column IDs. |
None
|
datacolumn_name
|
list[str]
|
Filter by data column names. |
None
|
parameter
|
list[str]
|
Filter by parameter name(s) (e.g., |
None
|
unit
|
list[str]
|
Filter by unit name(s) (e.g., |
None
|
data_type
|
list[DataType]
|
Filter by data type(s). |
None
|
max_items
|
int
|
Maximum number of items to return. |
None
|
Returns:
| Type | Description |
|---|---|
Iterator[AttributeSearchItem]
|
An iterator over search results. |
Source code in src/albert/collections/attributes.py
add_values
add_values(
*, parent_id: str, values: list[AttributeValue]
) -> AttributeValuesResponse
Add or update reference values for a parent entity.
If a value already exists for any of the provided attributes it is
replaced. Attributes not mentioned in values are left unchanged.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent_id
|
str
|
The ID of the parent entity (inventory item, lot, etc.). |
required |
values
|
list[AttributeValue]
|
The attribute values to add or update. |
required |
Returns:
| Type | Description |
|---|---|
AttributeValuesResponse
|
The saved attribute values with full attribute definitions. |
Source code in src/albert/collections/attributes.py
get_values
get_values(
*,
parent_id: str,
scope: AttributeScope | None = None,
start_key: str | None = None,
max_items: int | None = None,
) -> Iterator[AttributeValuesResponse]
Retrieve reference values for a parent entity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent_id
|
str
|
The ID of the parent entity. |
required |
scope
|
AttributeScope
|
Defines which entities to fetch values for.
|
None
|
start_key
|
str
|
Pagination start key from a previous request. |
None
|
max_items
|
int
|
Maximum number of items to return. |
None
|
Returns:
| Type | Description |
|---|---|
Iterator[AttributeValuesResponse]
|
An iterator over attribute value responses, one per entity. |
Source code in src/albert/collections/attributes.py
get_by_parent_ids
get_by_parent_ids(
*, parent_ids: list[str], max_items: int | None = None
) -> list[AttributeValuesResponse]
Retrieve reference values for multiple parent entities.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent_ids
|
list[str]
|
The IDs of the parent entities to fetch values for. |
required |
max_items
|
int | None
|
Maximum total number of attribute value items to return across all parents. When None (default), all pages are fetched for every parent. |
None
|
Returns:
| Type | Description |
|---|---|
list[AttributeValuesResponse]
|
Attribute values for each parent entity that has values set. |
Source code in src/albert/collections/attributes.py
delete_values
delete_values(
*,
parent_id: str,
attribute_ids: list[AttributeId],
scope: AttributeScope | None = None,
) -> None
Delete specific reference values from a parent entity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent_id
|
str
|
The ID of the parent entity. |
required |
attribute_ids
|
list[str]
|
The attribute IDs whose values should be removed. |
required |
scope
|
AttributeScope
|
Scope of deletion. Defaults to |
None
|
Returns:
| Type | Description |
|---|---|
None
|
|
Source code in src/albert/collections/attributes.py
clear_values
clear_values(
*, parent_id: str, scope: AttributeScope | None = None
) -> None
Remove all reference values from a parent entity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent_id
|
str
|
The ID of the parent entity. |
required |
scope
|
AttributeScope
|
Scope of deletion. Defaults to |
None
|
Returns:
| Type | Description |
|---|---|
None
|
|