Locations
albert.collections.locations
AlbertPaginator
AlbertPaginator(
*,
path: str,
mode: PaginationMode,
session: AlbertSession,
deserialize: Callable[
[Iterable[dict]], Iterable[ItemType]
],
params: dict[str, str] | None = None,
)
Bases: Iterator[ItemType]
Helper class for pagination through Albert endpoints.
Two pagination modes are possible:
- Offset-based via by the offset query parameter
- Key-based via by the startKey query parameter and 'lastKey' response field
A custom deserialize function is provided when additional logic is required to load
the raw items returned by the search listing, e.g., making additional Albert API calls.
Source code in src/albert/core/pagination.py
AlbertSession
AlbertSession(
*,
base_url: str,
token: str | None = None,
auth_manager: AlbertClientCredentials
| AlbertSSOClient
| None = None,
retries: int | None = None,
)
Bases: Session
A session that has a base URL, which is prefixed to all request URLs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base_url
|
str
|
The base URL to prefix to all relative request paths (e.g., "https://app.albertinvent.com"). |
required |
token
|
str | None
|
A static JWT token for authentication. Ignored if |
None
|
auth_manager
|
AlbertClientCredentials | AlbertSSOClient
|
An authentication manager used to dynamically fetch and refresh tokens.
If provided, it overrides |
None
|
retries
|
int
|
The number of automatic retries on failed requests (default is 3). |
None
|
Methods:
| Name | Description |
|---|---|
request |
|
Source code in src/albert/core/session.py
request
Source code in src/albert/core/session.py
BaseCollection
BaseCollection(*, session: AlbertSession)
BaseCollection is the base class for all collection classes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
AlbertSession
|
The Albert API Session instance. |
required |
Source code in src/albert/collections/base.py
Location
Bases: BaseResource
A location in Albert.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
The name of the location. |
id |
str | None
|
The Albert ID of the location. Set when the location is retrieved from Albert. |
latitude |
float
|
The latitude of the location. |
longitude |
float
|
The longitude of the location. |
address |
str
|
The address of the location. |
country |
str | None
|
The country code of the location. Must be two characters long. |
country
class-attribute
instance-attribute
country: str | None = Field(
None, max_length=2, min_length=2
)
LocationCollection
LocationCollection(*, session: AlbertSession)
Bases: BaseCollection
LocationCollection is a collection class for managing Location entities in the Albert platform.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
AlbertSession
|
The Albert session instance. |
required |
Methods:
| Name | Description |
|---|---|
create |
Creates a new Location entity. |
delete |
Deletes a Location entity. |
exists |
Determines if a location, with the same name, exists in the collection. |
get_all |
Get all Location entities matching the provided criteria. |
get_by_id |
Retrieves a location by its ID. |
update |
Update a Location entity. |
Source code in src/albert/collections/locations.py
create
Creates a new Location entity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
location
|
Location
|
The Location entity to create. |
required |
Returns:
| Type | Description |
|---|---|
Location
|
The created Location entity. |
Source code in src/albert/collections/locations.py
delete
delete(*, id: str) -> None
Deletes a Location entity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
Str
|
The id of the Location entity to delete. |
required |
Returns:
| Type | Description |
|---|---|
None
|
|
Source code in src/albert/collections/locations.py
exists
Determines if a location, with the same name, exists in the collection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
location
|
Location
|
The Location entity to check |
required |
Returns:
| Type | Description |
|---|---|
Location | None
|
The existing registered Location entity if found, otherwise None. |
Source code in src/albert/collections/locations.py
get_all
get_all(
*,
ids: list[str] | None = None,
name: str | list[str] | None = None,
country: str | None = None,
exact_match: bool = False,
limit: int = 50,
start_key: str | None = None,
) -> Iterator[Location]
Get all Location entities matching the provided criteria.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ids
|
list[str] | None
|
The list of IDs to filter the locations, by default None. Max length is 100. |
None
|
name
|
str | list[str] | None
|
The name or names of locations to search for, by default None |
None
|
country
|
str | None
|
The country code of the country to filter the locations , by default None |
None
|
exact_match
|
bool
|
Whether to return exact matches only, by default False |
False
|
Yields:
| Type | Description |
|---|---|
Iterator[Location]
|
An iterator of Location entities matching the search criteria. |
Source code in src/albert/collections/locations.py
get_by_id
update
Update a Location entity.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
location
|
Location
|
The Location entity to update. The ID of the Location entity must be provided. |
required |
Returns:
| Type | Description |
|---|---|
Location
|
The updated Location entity as returned by the server. |