robosystems-client 0.2.5__py3-none-any.whl → 0.2.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of robosystems-client might be problematic. Click here for more details.
- robosystems_client/api/agent/auto_select_agent.py +164 -32
- robosystems_client/api/backup/create_backup.py +72 -0
- robosystems_client/api/backup/get_backup_download_url.py +12 -28
- robosystems_client/api/backup/restore_backup.py +92 -0
- robosystems_client/api/graph_limits/get_graph_limits.py +12 -14
- robosystems_client/api/graphs/create_graph.py +136 -36
- robosystems_client/api/graphs/get_available_graph_tiers.py +281 -0
- robosystems_client/api/query/execute_cypher_query.py +13 -11
- robosystems_client/api/service_offerings/get_service_offerings.py +13 -11
- robosystems_client/models/__init__.py +66 -8
- robosystems_client/models/agent_response.py +1 -1
- robosystems_client/models/available_graph_tiers_response.py +74 -0
- robosystems_client/models/backup_download_url_response.py +92 -0
- robosystems_client/models/backup_limits.py +76 -0
- robosystems_client/models/batch_agent_request.py +1 -1
- robosystems_client/models/batch_agent_response.py +2 -2
- robosystems_client/models/copy_operation_limits.py +100 -0
- robosystems_client/models/create_graph_request.py +16 -17
- robosystems_client/models/credit_limits.py +84 -0
- robosystems_client/models/custom_schema_definition.py +14 -10
- robosystems_client/models/execute_cypher_query_response_200.py +135 -0
- robosystems_client/models/{get_graph_limits_response_getgraphlimits.py → execute_cypher_query_response_200_data_item.py} +5 -5
- robosystems_client/models/graph_limits_response.py +174 -0
- robosystems_client/models/graph_subscription_tier.py +220 -0
- robosystems_client/models/graph_subscriptions.py +100 -0
- robosystems_client/models/graph_tier_backup.py +76 -0
- robosystems_client/models/graph_tier_copy_operations.py +92 -0
- robosystems_client/models/graph_tier_info.py +192 -0
- robosystems_client/models/graph_tier_instance.py +76 -0
- robosystems_client/models/graph_tier_limits.py +106 -0
- robosystems_client/models/initial_entity_data.py +15 -12
- robosystems_client/models/offering_repository_plan.py +148 -0
- robosystems_client/models/offering_repository_plan_rate_limits_type_0.py +61 -0
- robosystems_client/models/operation_costs.py +100 -0
- robosystems_client/models/operation_costs_ai_operations.py +44 -0
- robosystems_client/models/operation_costs_token_pricing.py +59 -0
- robosystems_client/models/query_limits.py +84 -0
- robosystems_client/models/rate_limits.py +76 -0
- robosystems_client/models/repository_info.py +114 -0
- robosystems_client/models/repository_subscriptions.py +90 -0
- robosystems_client/models/service_offering_summary.py +84 -0
- robosystems_client/models/service_offerings_response.py +98 -0
- robosystems_client/models/storage_info.py +76 -0
- robosystems_client/models/{get_backup_download_url_response_getbackupdownloadurl.py → storage_info_included_per_tier.py} +9 -9
- robosystems_client/models/storage_info_overage_pricing.py +44 -0
- robosystems_client/models/storage_limits.py +90 -0
- robosystems_client/models/token_pricing.py +68 -0
- {robosystems_client-0.2.5.dist-info → robosystems_client-0.2.7.dist-info}/METADATA +1 -1
- {robosystems_client-0.2.5.dist-info → robosystems_client-0.2.7.dist-info}/RECORD +51 -21
- {robosystems_client-0.2.5.dist-info → robosystems_client-0.2.7.dist-info}/WHEEL +0 -0
- {robosystems_client-0.2.5.dist-info → robosystems_client-0.2.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from ..models.graph_subscriptions import GraphSubscriptions
|
|
9
|
+
from ..models.operation_costs import OperationCosts
|
|
10
|
+
from ..models.repository_subscriptions import RepositorySubscriptions
|
|
11
|
+
from ..models.service_offering_summary import ServiceOfferingSummary
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="ServiceOfferingsResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class ServiceOfferingsResponse:
|
|
19
|
+
"""Complete service offerings response.
|
|
20
|
+
|
|
21
|
+
Attributes:
|
|
22
|
+
graph_subscriptions (GraphSubscriptions): Graph subscription offerings.
|
|
23
|
+
repository_subscriptions (RepositorySubscriptions): Repository subscription offerings.
|
|
24
|
+
operation_costs (OperationCosts): Operation cost information.
|
|
25
|
+
summary (ServiceOfferingSummary): Summary of service offerings.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
graph_subscriptions: "GraphSubscriptions"
|
|
29
|
+
repository_subscriptions: "RepositorySubscriptions"
|
|
30
|
+
operation_costs: "OperationCosts"
|
|
31
|
+
summary: "ServiceOfferingSummary"
|
|
32
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
|
+
|
|
34
|
+
def to_dict(self) -> dict[str, Any]:
|
|
35
|
+
graph_subscriptions = self.graph_subscriptions.to_dict()
|
|
36
|
+
|
|
37
|
+
repository_subscriptions = self.repository_subscriptions.to_dict()
|
|
38
|
+
|
|
39
|
+
operation_costs = self.operation_costs.to_dict()
|
|
40
|
+
|
|
41
|
+
summary = self.summary.to_dict()
|
|
42
|
+
|
|
43
|
+
field_dict: dict[str, Any] = {}
|
|
44
|
+
field_dict.update(self.additional_properties)
|
|
45
|
+
field_dict.update(
|
|
46
|
+
{
|
|
47
|
+
"graph_subscriptions": graph_subscriptions,
|
|
48
|
+
"repository_subscriptions": repository_subscriptions,
|
|
49
|
+
"operation_costs": operation_costs,
|
|
50
|
+
"summary": summary,
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
return field_dict
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
58
|
+
from ..models.graph_subscriptions import GraphSubscriptions
|
|
59
|
+
from ..models.operation_costs import OperationCosts
|
|
60
|
+
from ..models.repository_subscriptions import RepositorySubscriptions
|
|
61
|
+
from ..models.service_offering_summary import ServiceOfferingSummary
|
|
62
|
+
|
|
63
|
+
d = dict(src_dict)
|
|
64
|
+
graph_subscriptions = GraphSubscriptions.from_dict(d.pop("graph_subscriptions"))
|
|
65
|
+
|
|
66
|
+
repository_subscriptions = RepositorySubscriptions.from_dict(
|
|
67
|
+
d.pop("repository_subscriptions")
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
operation_costs = OperationCosts.from_dict(d.pop("operation_costs"))
|
|
71
|
+
|
|
72
|
+
summary = ServiceOfferingSummary.from_dict(d.pop("summary"))
|
|
73
|
+
|
|
74
|
+
service_offerings_response = cls(
|
|
75
|
+
graph_subscriptions=graph_subscriptions,
|
|
76
|
+
repository_subscriptions=repository_subscriptions,
|
|
77
|
+
operation_costs=operation_costs,
|
|
78
|
+
summary=summary,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
service_offerings_response.additional_properties = d
|
|
82
|
+
return service_offerings_response
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def additional_keys(self) -> list[str]:
|
|
86
|
+
return list(self.additional_properties.keys())
|
|
87
|
+
|
|
88
|
+
def __getitem__(self, key: str) -> Any:
|
|
89
|
+
return self.additional_properties[key]
|
|
90
|
+
|
|
91
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
92
|
+
self.additional_properties[key] = value
|
|
93
|
+
|
|
94
|
+
def __delitem__(self, key: str) -> None:
|
|
95
|
+
del self.additional_properties[key]
|
|
96
|
+
|
|
97
|
+
def __contains__(self, key: str) -> bool:
|
|
98
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from ..models.storage_info_included_per_tier import StorageInfoIncludedPerTier
|
|
9
|
+
from ..models.storage_info_overage_pricing import StorageInfoOveragePricing
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="StorageInfo")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class StorageInfo:
|
|
17
|
+
"""Storage pricing information.
|
|
18
|
+
|
|
19
|
+
Attributes:
|
|
20
|
+
included_per_tier (StorageInfoIncludedPerTier): Storage included per tier in GB
|
|
21
|
+
overage_pricing (StorageInfoOveragePricing): Overage pricing per GB per tier
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
included_per_tier: "StorageInfoIncludedPerTier"
|
|
25
|
+
overage_pricing: "StorageInfoOveragePricing"
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
included_per_tier = self.included_per_tier.to_dict()
|
|
30
|
+
|
|
31
|
+
overage_pricing = self.overage_pricing.to_dict()
|
|
32
|
+
|
|
33
|
+
field_dict: dict[str, Any] = {}
|
|
34
|
+
field_dict.update(self.additional_properties)
|
|
35
|
+
field_dict.update(
|
|
36
|
+
{
|
|
37
|
+
"included_per_tier": included_per_tier,
|
|
38
|
+
"overage_pricing": overage_pricing,
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
return field_dict
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
46
|
+
from ..models.storage_info_included_per_tier import StorageInfoIncludedPerTier
|
|
47
|
+
from ..models.storage_info_overage_pricing import StorageInfoOveragePricing
|
|
48
|
+
|
|
49
|
+
d = dict(src_dict)
|
|
50
|
+
included_per_tier = StorageInfoIncludedPerTier.from_dict(d.pop("included_per_tier"))
|
|
51
|
+
|
|
52
|
+
overage_pricing = StorageInfoOveragePricing.from_dict(d.pop("overage_pricing"))
|
|
53
|
+
|
|
54
|
+
storage_info = cls(
|
|
55
|
+
included_per_tier=included_per_tier,
|
|
56
|
+
overage_pricing=overage_pricing,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
storage_info.additional_properties = d
|
|
60
|
+
return storage_info
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def additional_keys(self) -> list[str]:
|
|
64
|
+
return list(self.additional_properties.keys())
|
|
65
|
+
|
|
66
|
+
def __getitem__(self, key: str) -> Any:
|
|
67
|
+
return self.additional_properties[key]
|
|
68
|
+
|
|
69
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
70
|
+
self.additional_properties[key] = value
|
|
71
|
+
|
|
72
|
+
def __delitem__(self, key: str) -> None:
|
|
73
|
+
del self.additional_properties[key]
|
|
74
|
+
|
|
75
|
+
def __contains__(self, key: str) -> bool:
|
|
76
|
+
return key in self.additional_properties
|
|
@@ -4,14 +4,14 @@ from typing import Any, TypeVar
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
6
|
|
|
7
|
-
T = TypeVar("T", bound="
|
|
7
|
+
T = TypeVar("T", bound="StorageInfoIncludedPerTier")
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@_attrs_define
|
|
11
|
-
class
|
|
12
|
-
""" """
|
|
11
|
+
class StorageInfoIncludedPerTier:
|
|
12
|
+
"""Storage included per tier in GB"""
|
|
13
13
|
|
|
14
|
-
additional_properties: dict[str,
|
|
14
|
+
additional_properties: dict[str, int] = _attrs_field(init=False, factory=dict)
|
|
15
15
|
|
|
16
16
|
def to_dict(self) -> dict[str, Any]:
|
|
17
17
|
field_dict: dict[str, Any] = {}
|
|
@@ -22,19 +22,19 @@ class GetBackupDownloadUrlResponseGetbackupdownloadurl:
|
|
|
22
22
|
@classmethod
|
|
23
23
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
24
24
|
d = dict(src_dict)
|
|
25
|
-
|
|
25
|
+
storage_info_included_per_tier = cls()
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
return
|
|
27
|
+
storage_info_included_per_tier.additional_properties = d
|
|
28
|
+
return storage_info_included_per_tier
|
|
29
29
|
|
|
30
30
|
@property
|
|
31
31
|
def additional_keys(self) -> list[str]:
|
|
32
32
|
return list(self.additional_properties.keys())
|
|
33
33
|
|
|
34
|
-
def __getitem__(self, key: str) ->
|
|
34
|
+
def __getitem__(self, key: str) -> int:
|
|
35
35
|
return self.additional_properties[key]
|
|
36
36
|
|
|
37
|
-
def __setitem__(self, key: str, value:
|
|
37
|
+
def __setitem__(self, key: str, value: int) -> None:
|
|
38
38
|
self.additional_properties[key] = value
|
|
39
39
|
|
|
40
40
|
def __delitem__(self, key: str) -> None:
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="StorageInfoOveragePricing")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class StorageInfoOveragePricing:
|
|
12
|
+
"""Overage pricing per GB per tier"""
|
|
13
|
+
|
|
14
|
+
additional_properties: dict[str, float] = _attrs_field(init=False, factory=dict)
|
|
15
|
+
|
|
16
|
+
def to_dict(self) -> dict[str, Any]:
|
|
17
|
+
field_dict: dict[str, Any] = {}
|
|
18
|
+
field_dict.update(self.additional_properties)
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
24
|
+
d = dict(src_dict)
|
|
25
|
+
storage_info_overage_pricing = cls()
|
|
26
|
+
|
|
27
|
+
storage_info_overage_pricing.additional_properties = d
|
|
28
|
+
return storage_info_overage_pricing
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> list[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> float:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: float) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="StorageLimits")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class StorageLimits:
|
|
14
|
+
"""Storage limits information.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
max_storage_gb (float): Maximum storage limit in GB
|
|
18
|
+
approaching_limit (bool): Whether approaching storage limit (>80%)
|
|
19
|
+
current_usage_gb (Union[None, Unset, float]): Current storage usage in GB
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
max_storage_gb: float
|
|
23
|
+
approaching_limit: bool
|
|
24
|
+
current_usage_gb: Union[None, Unset, float] = UNSET
|
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
26
|
+
|
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
max_storage_gb = self.max_storage_gb
|
|
29
|
+
|
|
30
|
+
approaching_limit = self.approaching_limit
|
|
31
|
+
|
|
32
|
+
current_usage_gb: Union[None, Unset, float]
|
|
33
|
+
if isinstance(self.current_usage_gb, Unset):
|
|
34
|
+
current_usage_gb = UNSET
|
|
35
|
+
else:
|
|
36
|
+
current_usage_gb = self.current_usage_gb
|
|
37
|
+
|
|
38
|
+
field_dict: dict[str, Any] = {}
|
|
39
|
+
field_dict.update(self.additional_properties)
|
|
40
|
+
field_dict.update(
|
|
41
|
+
{
|
|
42
|
+
"max_storage_gb": max_storage_gb,
|
|
43
|
+
"approaching_limit": approaching_limit,
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
if current_usage_gb is not UNSET:
|
|
47
|
+
field_dict["current_usage_gb"] = current_usage_gb
|
|
48
|
+
|
|
49
|
+
return field_dict
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
53
|
+
d = dict(src_dict)
|
|
54
|
+
max_storage_gb = d.pop("max_storage_gb")
|
|
55
|
+
|
|
56
|
+
approaching_limit = d.pop("approaching_limit")
|
|
57
|
+
|
|
58
|
+
def _parse_current_usage_gb(data: object) -> Union[None, Unset, float]:
|
|
59
|
+
if data is None:
|
|
60
|
+
return data
|
|
61
|
+
if isinstance(data, Unset):
|
|
62
|
+
return data
|
|
63
|
+
return cast(Union[None, Unset, float], data)
|
|
64
|
+
|
|
65
|
+
current_usage_gb = _parse_current_usage_gb(d.pop("current_usage_gb", UNSET))
|
|
66
|
+
|
|
67
|
+
storage_limits = cls(
|
|
68
|
+
max_storage_gb=max_storage_gb,
|
|
69
|
+
approaching_limit=approaching_limit,
|
|
70
|
+
current_usage_gb=current_usage_gb,
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
storage_limits.additional_properties = d
|
|
74
|
+
return storage_limits
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
def additional_keys(self) -> list[str]:
|
|
78
|
+
return list(self.additional_properties.keys())
|
|
79
|
+
|
|
80
|
+
def __getitem__(self, key: str) -> Any:
|
|
81
|
+
return self.additional_properties[key]
|
|
82
|
+
|
|
83
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
84
|
+
self.additional_properties[key] = value
|
|
85
|
+
|
|
86
|
+
def __delitem__(self, key: str) -> None:
|
|
87
|
+
del self.additional_properties[key]
|
|
88
|
+
|
|
89
|
+
def __contains__(self, key: str) -> bool:
|
|
90
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="TokenPricing")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class TokenPricing:
|
|
12
|
+
"""AI token pricing for a specific model.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
input_per_1k_tokens (int): Credits per 1K input tokens
|
|
16
|
+
output_per_1k_tokens (int): Credits per 1K output tokens
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
input_per_1k_tokens: int
|
|
20
|
+
output_per_1k_tokens: int
|
|
21
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> dict[str, Any]:
|
|
24
|
+
input_per_1k_tokens = self.input_per_1k_tokens
|
|
25
|
+
|
|
26
|
+
output_per_1k_tokens = self.output_per_1k_tokens
|
|
27
|
+
|
|
28
|
+
field_dict: dict[str, Any] = {}
|
|
29
|
+
field_dict.update(self.additional_properties)
|
|
30
|
+
field_dict.update(
|
|
31
|
+
{
|
|
32
|
+
"input_per_1k_tokens": input_per_1k_tokens,
|
|
33
|
+
"output_per_1k_tokens": output_per_1k_tokens,
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
return field_dict
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
41
|
+
d = dict(src_dict)
|
|
42
|
+
input_per_1k_tokens = d.pop("input_per_1k_tokens")
|
|
43
|
+
|
|
44
|
+
output_per_1k_tokens = d.pop("output_per_1k_tokens")
|
|
45
|
+
|
|
46
|
+
token_pricing = cls(
|
|
47
|
+
input_per_1k_tokens=input_per_1k_tokens,
|
|
48
|
+
output_per_1k_tokens=output_per_1k_tokens,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
token_pricing.additional_properties = d
|
|
52
|
+
return token_pricing
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def additional_keys(self) -> list[str]:
|
|
56
|
+
return list(self.additional_properties.keys())
|
|
57
|
+
|
|
58
|
+
def __getitem__(self, key: str) -> Any:
|
|
59
|
+
return self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
62
|
+
self.additional_properties[key] = value
|
|
63
|
+
|
|
64
|
+
def __delitem__(self, key: str) -> None:
|
|
65
|
+
del self.additional_properties[key]
|
|
66
|
+
|
|
67
|
+
def __contains__(self, key: str) -> bool:
|
|
68
|
+
return key in self.additional_properties
|