bely-api 2026.3.1__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.
Files changed (78) hide show
  1. BelyApiFactory.py +256 -0
  2. belyApi/__init__.py +266 -0
  3. belyApi/api/__init__.py +55 -0
  4. belyApi/api/authentication_api.py +796 -0
  5. belyApi/api/domain_api.py +2596 -0
  6. belyApi/api/downloads_api.py +1316 -0
  7. belyApi/api/logbook_api.py +3536 -0
  8. belyApi/api/notification_configuration_api.py +2566 -0
  9. belyApi/api/property_value_api.py +1877 -0
  10. belyApi/api/search_api.py +744 -0
  11. belyApi/api/system_log_api.py +1526 -0
  12. belyApi/api/test_api.py +764 -0
  13. belyApi/api/users_api.py +1037 -0
  14. belyApi/api_client.py +834 -0
  15. belyApi/api_response.py +21 -0
  16. belyApi/configuration.py +676 -0
  17. belyApi/exceptions.py +219 -0
  18. belyApi/models/__init__.py +200 -0
  19. belyApi/models/allowed_property_value.py +98 -0
  20. belyApi/models/api_exception_message.py +97 -0
  21. belyApi/models/api_exception_message_exception.py +115 -0
  22. belyApi/models/api_exception_message_exception_cause.py +109 -0
  23. belyApi/models/api_exception_message_exception_cause_stack_trace_inner.py +103 -0
  24. belyApi/models/api_exception_message_exception_cause_suppressed_inner.py +100 -0
  25. belyApi/models/connector.py +128 -0
  26. belyApi/models/connector_type.py +105 -0
  27. belyApi/models/domain.py +142 -0
  28. belyApi/models/entity_info.py +108 -0
  29. belyApi/models/entity_type.py +167 -0
  30. belyApi/models/item.py +170 -0
  31. belyApi/models/item_category.py +104 -0
  32. belyApi/models/item_connector.py +188 -0
  33. belyApi/models/item_domain_logbook.py +177 -0
  34. belyApi/models/item_element.py +174 -0
  35. belyApi/models/item_element_history.py +149 -0
  36. belyApi/models/item_element_relationship.py +201 -0
  37. belyApi/models/item_element_relationship_history.py +155 -0
  38. belyApi/models/item_project.py +94 -0
  39. belyApi/models/item_resource.py +122 -0
  40. belyApi/models/item_source.py +118 -0
  41. belyApi/models/item_type.py +113 -0
  42. belyApi/models/list_tbl.py +129 -0
  43. belyApi/models/log.py +135 -0
  44. belyApi/models/log_document_options.py +97 -0
  45. belyApi/models/log_document_section.py +91 -0
  46. belyApi/models/log_entry.py +121 -0
  47. belyApi/models/log_entry_attachment.py +95 -0
  48. belyApi/models/log_reaction.py +97 -0
  49. belyApi/models/logbook_search_results.py +104 -0
  50. belyApi/models/notification_configuration.py +106 -0
  51. belyApi/models/notification_configuration_handler_setting.py +106 -0
  52. belyApi/models/notification_configuration_setting.py +106 -0
  53. belyApi/models/notification_handler_config_key.py +113 -0
  54. belyApi/models/notification_provider.py +118 -0
  55. belyApi/models/notification_provider_config_key.py +115 -0
  56. belyApi/models/property_metadata.py +94 -0
  57. belyApi/models/property_type.py +119 -0
  58. belyApi/models/property_value.py +174 -0
  59. belyApi/models/property_value_history.py +115 -0
  60. belyApi/models/reaction.py +98 -0
  61. belyApi/models/relationship_type.py +111 -0
  62. belyApi/models/relationship_type_handler.py +105 -0
  63. belyApi/models/resource_type.py +144 -0
  64. belyApi/models/resource_type_category.py +105 -0
  65. belyApi/models/role_type.py +94 -0
  66. belyApi/models/search_entities_options.py +121 -0
  67. belyApi/models/search_entities_results.py +216 -0
  68. belyApi/models/search_result.py +106 -0
  69. belyApi/models/source.py +102 -0
  70. belyApi/models/user_group.py +94 -0
  71. belyApi/models/user_info.py +129 -0
  72. belyApi/models/user_role.py +99 -0
  73. belyApi/py.typed +0 -0
  74. belyApi/rest.py +335 -0
  75. bely_api-2026.3.1.dist-info/METADATA +12 -0
  76. bely_api-2026.3.1.dist-info/RECORD +78 -0
  77. bely_api-2026.3.1.dist-info/WHEEL +4 -0
  78. bely_api-2026.3.1.dist-info/entry_points.txt +2 -0
BelyApiFactory.py ADDED
@@ -0,0 +1,256 @@
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) UChicago Argonne, LLC. All rights reserved.
4
+ # See LICENSE file.
5
+
6
+ # Annotations are stored as strings so that the API return types below can be
7
+ # named without importing them at module load time.
8
+ from __future__ import annotations
9
+
10
+ import base64
11
+ import os
12
+ import warnings
13
+ import typing
14
+
15
+ if typing.TYPE_CHECKING:
16
+ from belyApi import (
17
+ AuthenticationApi,
18
+ DomainApi,
19
+ DownloadsApi,
20
+ LogbookApi,
21
+ NotificationConfigurationApi,
22
+ PropertyValueApi,
23
+ SearchApi,
24
+ SystemLogApi,
25
+ UsersApi,
26
+ )
27
+
28
+
29
+ class BelyApiFactory:
30
+
31
+ HEADER_TOKEN_KEY = "token"
32
+ URL_FORMAT = "%s/views/item/view?id=%s"
33
+
34
+ LOGBOOK_DOMAIN_ID = 1
35
+
36
+ # attribute name -> generated api class. Each api is built on first access by
37
+ # __getattr__ so that importing this module does not drag in every belyApi
38
+ # model; see the "Known startup cost" section of bely-cli/CLAUDE.md. The
39
+ # generator's lazyImports option only pays off while this stays lazy.
40
+ _API_CLASSES = {
41
+ "auth_api": "AuthenticationApi",
42
+ "domain_api": "DomainApi",
43
+ "downloads_api": "DownloadsApi",
44
+ "logbook_api": "LogbookApi",
45
+ "notification_configuration_api": "NotificationConfigurationApi",
46
+ "property_value_api": "PropertyValueApi",
47
+ "search_api": "SearchApi",
48
+ "systemlog_api": "SystemLogApi",
49
+ "users_api": "UsersApi",
50
+ }
51
+
52
+ # Deprecated camelCase aliases -> canonical attribute name
53
+ _API_ALIASES = {
54
+ "domainApi": "domain_api",
55
+ "downloadsApi": "downloads_api",
56
+ "propertyValueApi": "property_value_api",
57
+ "searchApi": "search_api",
58
+ "systemlogApi": "systemlog_api",
59
+ "usersApi": "users_api",
60
+ }
61
+
62
+ def __init__(self, bely_url):
63
+ from belyApi import ApiClient, Configuration
64
+
65
+ self.bely_url = bely_url
66
+ self.config = Configuration(host=self.bely_url)
67
+ self.api_client = ApiClient(configuration=self.config)
68
+
69
+ def __getattr__(self, name):
70
+ """Build api instances on first access.
71
+
72
+ Only called when normal attribute lookup fails, so each api is created
73
+ once and then cached in __dict__.
74
+ """
75
+ canonical = self._API_ALIASES.get(name, name)
76
+ class_name = self._API_CLASSES.get(canonical)
77
+ if class_name is None:
78
+ raise AttributeError(
79
+ f"{type(self).__name__!r} object has no attribute {name!r}"
80
+ )
81
+
82
+ # __init__ must have run; guard against access on a half-built instance
83
+ # (e.g. during unpickling) recursing back into __getattr__.
84
+ if "api_client" not in self.__dict__:
85
+ raise AttributeError(
86
+ f"cannot build {canonical!r} before BelyApiFactory.__init__ has run"
87
+ )
88
+
89
+ import belyApi
90
+
91
+ api = getattr(belyApi, class_name)(api_client=self.api_client)
92
+ setattr(self, canonical, api)
93
+ if name != canonical:
94
+ setattr(self, name, api)
95
+ return api
96
+
97
+ def __dir__(self):
98
+ return sorted(
99
+ set(super().__dir__())
100
+ | set(self._API_CLASSES)
101
+ | set(self._API_ALIASES)
102
+ )
103
+
104
+ def _deprecated(self, old_name, new_name):
105
+ warnings.warn(
106
+ f"{old_name} is deprecated, use {new_name} instead",
107
+ DeprecationWarning,
108
+ stacklevel=3,
109
+ )
110
+
111
+ # -- snake_case methods (primary) --
112
+
113
+ def get_logbook_api(self) -> LogbookApi:
114
+ return self.logbook_api
115
+
116
+ def get_domain_api(self) -> DomainApi:
117
+ return self.domain_api
118
+
119
+ def get_download_api(self) -> DownloadsApi:
120
+ return self.downloads_api
121
+
122
+ def get_property_value_api(self) -> PropertyValueApi:
123
+ return self.property_value_api
124
+
125
+ def get_users_api(self) -> UsersApi:
126
+ return self.users_api
127
+
128
+ def get_search_api(self) -> SearchApi:
129
+ return self.search_api
130
+
131
+ def get_notification_configuration_api(self):
132
+ return self.notification_configuration_api
133
+
134
+ def generate_cdb_url_for_item_id(self, item_id):
135
+ return self.URL_FORMAT % (self.bely_url, str(item_id))
136
+
137
+ def authenticate_user(self, username, password):
138
+ response = self.auth_api.authenticate_user_with_http_info(
139
+ username=username, password=password
140
+ )
141
+
142
+ token = response.headers[self.HEADER_TOKEN_KEY]
143
+ self.__set_authenticate_token(token)
144
+
145
+ def __set_authenticate_token(self, token):
146
+ self.api_client.set_default_header(self.HEADER_TOKEN_KEY, token)
147
+
148
+ def get_authenticate_token(self):
149
+ return self.api_client.default_headers[self.HEADER_TOKEN_KEY]
150
+
151
+ def test_authenticated(self):
152
+ self.auth_api.verify_authenticated()
153
+
154
+ def logout_user(self):
155
+ self.auth_api.log_out()
156
+
157
+ def parse_api_exception(self, open_api_exception):
158
+ from belyApi import ApiExceptionMessage
159
+
160
+ response_type = ApiExceptionMessage.__name__
161
+ open_api_exception.data = open_api_exception.body
162
+ ex_obj = self.api_client.deserialize(open_api_exception, response_type)
163
+ ex_obj.status = open_api_exception.status
164
+ return ex_obj
165
+
166
+ # -- Deprecated camelCase wrappers --
167
+
168
+ def getDomainApi(self) -> DomainApi:
169
+ self._deprecated("getDomainApi", "get_domain_api")
170
+ return self.get_domain_api()
171
+
172
+ def getDownloadApi(self) -> DownloadsApi:
173
+ self._deprecated("getDownloadApi", "get_download_api")
174
+ return self.get_download_api()
175
+
176
+ def getPropertyValueApi(self) -> PropertyValueApi:
177
+ self._deprecated("getPropertyValueApi", "get_property_value_api")
178
+ return self.get_property_value_api()
179
+
180
+ def getUsersApi(self) -> UsersApi:
181
+ self._deprecated("getUsersApi", "get_users_api")
182
+ return self.get_users_api()
183
+
184
+ def getSearchApi(self) -> SearchApi:
185
+ self._deprecated("getSearchApi", "get_search_api")
186
+ return self.get_search_api()
187
+
188
+ def getNotificationConfigurationApi(self):
189
+ self._deprecated("getNotificationConfigurationApi", "get_notification_configuration_api")
190
+ return self.get_notification_configuration_api()
191
+
192
+ def generateCDBUrlForItemId(self, itemId):
193
+ self._deprecated("generateCDBUrlForItemId", "generate_cdb_url_for_item_id")
194
+ return self.generate_cdb_url_for_item_id(itemId)
195
+
196
+ def getAuthenticateToken(self):
197
+ self._deprecated("getAuthenticateToken", "get_authenticate_token")
198
+ return self.get_authenticate_token()
199
+
200
+ def parseApiException(self, openApiException):
201
+ self._deprecated("parseApiException", "parse_api_exception")
202
+ return self.parse_api_exception(openApiException)
203
+
204
+ # Restore later
205
+ # @classmethod
206
+ # def createFileUploadObject(cls, filePath):
207
+ # data = open(filePath, "rb").read()
208
+ # b64String = base64.b64encode(data).decode()
209
+
210
+ # fileName = os.path.basename(filePath)
211
+ # return FileUploadObject(file_name=fileName, base64_binary=b64String)
212
+
213
+
214
+ # def run_command():
215
+ # Example
216
+ # print("\nEnter cdb URL (ex: https://cdb.aps.anl.gov/cdb): ")
217
+ # hostname = input()
218
+
219
+ # apiFactory = CdbApiFactory(hostname)
220
+ # itemApi = apiFactory.getItemApi()
221
+
222
+ # catalogItems = itemApi.get_catalog_items()
223
+ # catalogItem = catalogItems[0]
224
+
225
+ # # Lists of items seem to be lists of dict items
226
+ # catalogId = catalogItem.id
227
+
228
+ # # Single items seem to be appropriate type
229
+ # catalogFetchedById = itemApi.get_item_by_id(catalogId)
230
+ # print(catalogFetchedById.name)
231
+
232
+ # inventoryItemPerCatalog = itemApi.get_items_derived_from_item_by_item_id(catalogId)
233
+ # print(inventoryItemPerCatalog)
234
+
235
+ # print("\n\n\nWould you like to test authentication? (y/N): ")
236
+ # resp = input()
237
+ # if resp == 'y' or resp == "Y":
238
+ # import getpass
239
+ # print("Username: ")
240
+ # username = input()
241
+ # print("Password: ")
242
+ # password = getpass.getpass()
243
+
244
+ # try:
245
+ # apiFactory.authenticateUser(username, password)
246
+ # apiFactory.testAuthenticated()
247
+ # apiFactory.logOutUser()
248
+ # except ApiException:
249
+ # print("Authentication failed!")
250
+ # exit(1)
251
+
252
+ # print("Success!")
253
+
254
+ if __name__ == "__main__":
255
+ pass
256
+ # run_command()
belyApi/__init__.py ADDED
@@ -0,0 +1,266 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ BELY API
7
+
8
+ The API that provides access to BELY data.
9
+
10
+ The version of the OpenAPI document: 2024.5
11
+ Contact: djarosz@anl.gov
12
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
13
+
14
+ Do not edit the class manually.
15
+ """ # noqa: E501
16
+
17
+
18
+ __version__ = "1.0.0"
19
+
20
+ # Define package exports
21
+ __all__ = [
22
+ "AuthenticationApi",
23
+ "DownloadsApi",
24
+ "LogbookApi",
25
+ "NotificationConfigurationApi",
26
+ "PropertyValueApi",
27
+ "SearchApi",
28
+ "SystemLogApi",
29
+ "TestApi",
30
+ "UsersApi",
31
+ "DomainApi",
32
+ "ApiResponse",
33
+ "ApiClient",
34
+ "Configuration",
35
+ "OpenApiException",
36
+ "ApiTypeError",
37
+ "ApiValueError",
38
+ "ApiKeyError",
39
+ "ApiAttributeError",
40
+ "ApiException",
41
+ "AllowedPropertyValue",
42
+ "ApiExceptionMessage",
43
+ "ApiExceptionMessageException",
44
+ "ApiExceptionMessageExceptionCause",
45
+ "ApiExceptionMessageExceptionCauseStackTraceInner",
46
+ "ApiExceptionMessageExceptionCauseSuppressedInner",
47
+ "Connector",
48
+ "ConnectorType",
49
+ "Domain",
50
+ "EntityInfo",
51
+ "EntityType",
52
+ "Item",
53
+ "ItemCategory",
54
+ "ItemConnector",
55
+ "ItemDomainLogbook",
56
+ "ItemElement",
57
+ "ItemElementHistory",
58
+ "ItemElementRelationship",
59
+ "ItemElementRelationshipHistory",
60
+ "ItemProject",
61
+ "ItemResource",
62
+ "ItemSource",
63
+ "ItemType",
64
+ "ListTbl",
65
+ "Log",
66
+ "LogDocumentOptions",
67
+ "LogDocumentSection",
68
+ "LogEntry",
69
+ "LogEntryAttachment",
70
+ "LogReaction",
71
+ "LogbookSearchResults",
72
+ "NotificationConfiguration",
73
+ "NotificationConfigurationHandlerSetting",
74
+ "NotificationConfigurationSetting",
75
+ "NotificationHandlerConfigKey",
76
+ "NotificationProvider",
77
+ "NotificationProviderConfigKey",
78
+ "PropertyMetadata",
79
+ "PropertyType",
80
+ "PropertyValue",
81
+ "PropertyValueHistory",
82
+ "Reaction",
83
+ "RelationshipType",
84
+ "RelationshipTypeHandler",
85
+ "ResourceType",
86
+ "ResourceTypeCategory",
87
+ "RoleType",
88
+ "SearchEntitiesOptions",
89
+ "SearchEntitiesResults",
90
+ "SearchResult",
91
+ "Source",
92
+ "UserGroup",
93
+ "UserInfo",
94
+ "UserRole",
95
+ ]
96
+
97
+ import typing as _typing
98
+
99
+ if _typing.TYPE_CHECKING:
100
+ # import apis into sdk package
101
+ from belyApi.api.authentication_api import AuthenticationApi as AuthenticationApi
102
+ from belyApi.api.downloads_api import DownloadsApi as DownloadsApi
103
+ from belyApi.api.logbook_api import LogbookApi as LogbookApi
104
+ from belyApi.api.notification_configuration_api import NotificationConfigurationApi as NotificationConfigurationApi
105
+ from belyApi.api.property_value_api import PropertyValueApi as PropertyValueApi
106
+ from belyApi.api.search_api import SearchApi as SearchApi
107
+ from belyApi.api.system_log_api import SystemLogApi as SystemLogApi
108
+ from belyApi.api.test_api import TestApi as TestApi
109
+ from belyApi.api.users_api import UsersApi as UsersApi
110
+ from belyApi.api.domain_api import DomainApi as DomainApi
111
+
112
+ # import ApiClient
113
+ from belyApi.api_response import ApiResponse as ApiResponse
114
+ from belyApi.api_client import ApiClient as ApiClient
115
+ from belyApi.configuration import Configuration as Configuration
116
+ from belyApi.exceptions import OpenApiException as OpenApiException
117
+ from belyApi.exceptions import ApiTypeError as ApiTypeError
118
+ from belyApi.exceptions import ApiValueError as ApiValueError
119
+ from belyApi.exceptions import ApiKeyError as ApiKeyError
120
+ from belyApi.exceptions import ApiAttributeError as ApiAttributeError
121
+ from belyApi.exceptions import ApiException as ApiException
122
+
123
+ # import models into sdk package
124
+ from belyApi.models.allowed_property_value import AllowedPropertyValue as AllowedPropertyValue
125
+ from belyApi.models.api_exception_message import ApiExceptionMessage as ApiExceptionMessage
126
+ from belyApi.models.api_exception_message_exception import ApiExceptionMessageException as ApiExceptionMessageException
127
+ from belyApi.models.api_exception_message_exception_cause import ApiExceptionMessageExceptionCause as ApiExceptionMessageExceptionCause
128
+ from belyApi.models.api_exception_message_exception_cause_stack_trace_inner import ApiExceptionMessageExceptionCauseStackTraceInner as ApiExceptionMessageExceptionCauseStackTraceInner
129
+ from belyApi.models.api_exception_message_exception_cause_suppressed_inner import ApiExceptionMessageExceptionCauseSuppressedInner as ApiExceptionMessageExceptionCauseSuppressedInner
130
+ from belyApi.models.connector import Connector as Connector
131
+ from belyApi.models.connector_type import ConnectorType as ConnectorType
132
+ from belyApi.models.domain import Domain as Domain
133
+ from belyApi.models.entity_info import EntityInfo as EntityInfo
134
+ from belyApi.models.entity_type import EntityType as EntityType
135
+ from belyApi.models.item import Item as Item
136
+ from belyApi.models.item_category import ItemCategory as ItemCategory
137
+ from belyApi.models.item_connector import ItemConnector as ItemConnector
138
+ from belyApi.models.item_domain_logbook import ItemDomainLogbook as ItemDomainLogbook
139
+ from belyApi.models.item_element import ItemElement as ItemElement
140
+ from belyApi.models.item_element_history import ItemElementHistory as ItemElementHistory
141
+ from belyApi.models.item_element_relationship import ItemElementRelationship as ItemElementRelationship
142
+ from belyApi.models.item_element_relationship_history import ItemElementRelationshipHistory as ItemElementRelationshipHistory
143
+ from belyApi.models.item_project import ItemProject as ItemProject
144
+ from belyApi.models.item_resource import ItemResource as ItemResource
145
+ from belyApi.models.item_source import ItemSource as ItemSource
146
+ from belyApi.models.item_type import ItemType as ItemType
147
+ from belyApi.models.list_tbl import ListTbl as ListTbl
148
+ from belyApi.models.log import Log as Log
149
+ from belyApi.models.log_document_options import LogDocumentOptions as LogDocumentOptions
150
+ from belyApi.models.log_document_section import LogDocumentSection as LogDocumentSection
151
+ from belyApi.models.log_entry import LogEntry as LogEntry
152
+ from belyApi.models.log_entry_attachment import LogEntryAttachment as LogEntryAttachment
153
+ from belyApi.models.log_reaction import LogReaction as LogReaction
154
+ from belyApi.models.logbook_search_results import LogbookSearchResults as LogbookSearchResults
155
+ from belyApi.models.notification_configuration import NotificationConfiguration as NotificationConfiguration
156
+ from belyApi.models.notification_configuration_handler_setting import NotificationConfigurationHandlerSetting as NotificationConfigurationHandlerSetting
157
+ from belyApi.models.notification_configuration_setting import NotificationConfigurationSetting as NotificationConfigurationSetting
158
+ from belyApi.models.notification_handler_config_key import NotificationHandlerConfigKey as NotificationHandlerConfigKey
159
+ from belyApi.models.notification_provider import NotificationProvider as NotificationProvider
160
+ from belyApi.models.notification_provider_config_key import NotificationProviderConfigKey as NotificationProviderConfigKey
161
+ from belyApi.models.property_metadata import PropertyMetadata as PropertyMetadata
162
+ from belyApi.models.property_type import PropertyType as PropertyType
163
+ from belyApi.models.property_value import PropertyValue as PropertyValue
164
+ from belyApi.models.property_value_history import PropertyValueHistory as PropertyValueHistory
165
+ from belyApi.models.reaction import Reaction as Reaction
166
+ from belyApi.models.relationship_type import RelationshipType as RelationshipType
167
+ from belyApi.models.relationship_type_handler import RelationshipTypeHandler as RelationshipTypeHandler
168
+ from belyApi.models.resource_type import ResourceType as ResourceType
169
+ from belyApi.models.resource_type_category import ResourceTypeCategory as ResourceTypeCategory
170
+ from belyApi.models.role_type import RoleType as RoleType
171
+ from belyApi.models.search_entities_options import SearchEntitiesOptions as SearchEntitiesOptions
172
+ from belyApi.models.search_entities_results import SearchEntitiesResults as SearchEntitiesResults
173
+ from belyApi.models.search_result import SearchResult as SearchResult
174
+ from belyApi.models.source import Source as Source
175
+ from belyApi.models.user_group import UserGroup as UserGroup
176
+ from belyApi.models.user_info import UserInfo as UserInfo
177
+ from belyApi.models.user_role import UserRole as UserRole
178
+
179
+ else:
180
+ from importlib import import_module
181
+
182
+ _exports = {
183
+ "AuthenticationApi": ".api.authentication_api",
184
+ "DownloadsApi": ".api.downloads_api",
185
+ "LogbookApi": ".api.logbook_api",
186
+ "NotificationConfigurationApi": ".api.notification_configuration_api",
187
+ "PropertyValueApi": ".api.property_value_api",
188
+ "SearchApi": ".api.search_api",
189
+ "SystemLogApi": ".api.system_log_api",
190
+ "TestApi": ".api.test_api",
191
+ "UsersApi": ".api.users_api",
192
+ "DomainApi": ".api.domain_api",
193
+ "ApiResponse": ".api_response",
194
+ "ApiClient": ".api_client",
195
+ "Configuration": ".configuration",
196
+ "OpenApiException": ".exceptions",
197
+ "ApiTypeError": ".exceptions",
198
+ "ApiValueError": ".exceptions",
199
+ "ApiKeyError": ".exceptions",
200
+ "ApiAttributeError": ".exceptions",
201
+ "ApiException": ".exceptions",
202
+ "AllowedPropertyValue": ".models.allowed_property_value",
203
+ "ApiExceptionMessage": ".models.api_exception_message",
204
+ "ApiExceptionMessageException": ".models.api_exception_message_exception",
205
+ "ApiExceptionMessageExceptionCause": ".models.api_exception_message_exception_cause",
206
+ "ApiExceptionMessageExceptionCauseStackTraceInner": ".models.api_exception_message_exception_cause_stack_trace_inner",
207
+ "ApiExceptionMessageExceptionCauseSuppressedInner": ".models.api_exception_message_exception_cause_suppressed_inner",
208
+ "Connector": ".models.connector",
209
+ "ConnectorType": ".models.connector_type",
210
+ "Domain": ".models.domain",
211
+ "EntityInfo": ".models.entity_info",
212
+ "EntityType": ".models.entity_type",
213
+ "Item": ".models.item",
214
+ "ItemCategory": ".models.item_category",
215
+ "ItemConnector": ".models.item_connector",
216
+ "ItemDomainLogbook": ".models.item_domain_logbook",
217
+ "ItemElement": ".models.item_element",
218
+ "ItemElementHistory": ".models.item_element_history",
219
+ "ItemElementRelationship": ".models.item_element_relationship",
220
+ "ItemElementRelationshipHistory": ".models.item_element_relationship_history",
221
+ "ItemProject": ".models.item_project",
222
+ "ItemResource": ".models.item_resource",
223
+ "ItemSource": ".models.item_source",
224
+ "ItemType": ".models.item_type",
225
+ "ListTbl": ".models.list_tbl",
226
+ "Log": ".models.log",
227
+ "LogDocumentOptions": ".models.log_document_options",
228
+ "LogDocumentSection": ".models.log_document_section",
229
+ "LogEntry": ".models.log_entry",
230
+ "LogEntryAttachment": ".models.log_entry_attachment",
231
+ "LogReaction": ".models.log_reaction",
232
+ "LogbookSearchResults": ".models.logbook_search_results",
233
+ "NotificationConfiguration": ".models.notification_configuration",
234
+ "NotificationConfigurationHandlerSetting": ".models.notification_configuration_handler_setting",
235
+ "NotificationConfigurationSetting": ".models.notification_configuration_setting",
236
+ "NotificationHandlerConfigKey": ".models.notification_handler_config_key",
237
+ "NotificationProvider": ".models.notification_provider",
238
+ "NotificationProviderConfigKey": ".models.notification_provider_config_key",
239
+ "PropertyMetadata": ".models.property_metadata",
240
+ "PropertyType": ".models.property_type",
241
+ "PropertyValue": ".models.property_value",
242
+ "PropertyValueHistory": ".models.property_value_history",
243
+ "Reaction": ".models.reaction",
244
+ "RelationshipType": ".models.relationship_type",
245
+ "RelationshipTypeHandler": ".models.relationship_type_handler",
246
+ "ResourceType": ".models.resource_type",
247
+ "ResourceTypeCategory": ".models.resource_type_category",
248
+ "RoleType": ".models.role_type",
249
+ "SearchEntitiesOptions": ".models.search_entities_options",
250
+ "SearchEntitiesResults": ".models.search_entities_results",
251
+ "SearchResult": ".models.search_result",
252
+ "Source": ".models.source",
253
+ "UserGroup": ".models.user_group",
254
+ "UserInfo": ".models.user_info",
255
+ "UserRole": ".models.user_role",
256
+ }
257
+
258
+ def __getattr__(name: str) -> object:
259
+ if (module_name := _exports.get(name)) is None:
260
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
261
+ value = getattr(import_module(module_name, __name__), name)
262
+ globals()[name] = value
263
+ return value
264
+
265
+ def __dir__() -> list[str]:
266
+ return sorted(globals().keys() | _exports.keys())
@@ -0,0 +1,55 @@
1
+ # flake8: noqa
2
+
3
+ __all__ = [
4
+ "AuthenticationApi",
5
+ "DownloadsApi",
6
+ "LogbookApi",
7
+ "NotificationConfigurationApi",
8
+ "PropertyValueApi",
9
+ "SearchApi",
10
+ "SystemLogApi",
11
+ "TestApi",
12
+ "UsersApi",
13
+ "DomainApi",
14
+ ]
15
+
16
+ import typing as _typing
17
+
18
+ if _typing.TYPE_CHECKING:
19
+ # import apis into api package
20
+ from belyApi.api.authentication_api import AuthenticationApi
21
+ from belyApi.api.downloads_api import DownloadsApi
22
+ from belyApi.api.logbook_api import LogbookApi
23
+ from belyApi.api.notification_configuration_api import NotificationConfigurationApi
24
+ from belyApi.api.property_value_api import PropertyValueApi
25
+ from belyApi.api.search_api import SearchApi
26
+ from belyApi.api.system_log_api import SystemLogApi
27
+ from belyApi.api.test_api import TestApi
28
+ from belyApi.api.users_api import UsersApi
29
+ from belyApi.api.domain_api import DomainApi
30
+
31
+ else:
32
+ from importlib import import_module
33
+
34
+ _exports = {
35
+ "AuthenticationApi": ".authentication_api",
36
+ "DownloadsApi": ".downloads_api",
37
+ "LogbookApi": ".logbook_api",
38
+ "NotificationConfigurationApi": ".notification_configuration_api",
39
+ "PropertyValueApi": ".property_value_api",
40
+ "SearchApi": ".search_api",
41
+ "SystemLogApi": ".system_log_api",
42
+ "TestApi": ".test_api",
43
+ "UsersApi": ".users_api",
44
+ "DomainApi": ".domain_api",
45
+ }
46
+
47
+ def __getattr__(name: str) -> object:
48
+ if (module_name := _exports.get(name)) is None:
49
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
50
+ value = getattr(import_module(module_name, __name__), name)
51
+ globals()[name] = value
52
+ return value
53
+
54
+ def __dir__() -> list[str]:
55
+ return sorted(globals().keys() | _exports.keys())