aas-http-client 0.2.2__py3-none-any.whl → 0.2.3__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 aas-http-client might be problematic. Click here for more details.
- aas_http_client/demo/demo_process.py +2 -2
- aas_http_client/wrapper/sdk_wrapper.py +7 -7
- {aas_http_client-0.2.2.dist-info → aas_http_client-0.2.3.dist-info}/METADATA +19 -9
- {aas_http_client-0.2.2.dist-info → aas_http_client-0.2.3.dist-info}/RECORD +7 -7
- {aas_http_client-0.2.2.dist-info → aas_http_client-0.2.3.dist-info}/WHEEL +0 -0
- {aas_http_client-0.2.2.dist-info → aas_http_client-0.2.3.dist-info}/licenses/LICENSE +0 -0
- {aas_http_client-0.2.2.dist-info → aas_http_client-0.2.3.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@ from aas_http_client.wrapper.sdk_wrapper import SdkWrapper, create_wrapper_by_co
|
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
import json
|
|
7
7
|
import basyx.aas.adapter.json
|
|
8
|
-
|
|
8
|
+
import basyx.aas.model
|
|
9
9
|
|
|
10
10
|
logger = logging.getLogger(__name__)
|
|
11
11
|
|
|
@@ -43,7 +43,7 @@ def start():
|
|
|
43
43
|
|
|
44
44
|
logger.info(f"Client created successfully. {shells}")
|
|
45
45
|
|
|
46
|
-
def _create_shell() -> AssetAdministrationShell:
|
|
46
|
+
def _create_shell() -> basyx.aas.model.AssetAdministrationShell:
|
|
47
47
|
# create an AAS
|
|
48
48
|
aas_short_id: str = model_builder.create_unique_short_id("poc_aas")
|
|
49
49
|
aas = model_builder.create_base_ass(aas_short_id)
|
|
@@ -12,7 +12,7 @@ from aas_http_client.client import AasHttpClient, _create_client
|
|
|
12
12
|
logger = logging.getLogger(__name__)
|
|
13
13
|
|
|
14
14
|
class SdkWrapper():
|
|
15
|
-
"""Represents a
|
|
15
|
+
"""Represents a wrapper for the BaSyx Python SDK to communicate with a REST API."""
|
|
16
16
|
_client: AasHttpClient = None
|
|
17
17
|
|
|
18
18
|
def post_shells(self, aas: AssetAdministrationShell) -> dict | None:
|
|
@@ -215,7 +215,7 @@ def create_wrapper_by_url(
|
|
|
215
215
|
connection_time_out: int = 60,
|
|
216
216
|
ssl_verify: str = True, # noqa: FBT002
|
|
217
217
|
) -> SdkWrapper | None:
|
|
218
|
-
"""Create a BaSyx
|
|
218
|
+
"""Create a wrapper for the BaSyx Python SDK from the given parameters.
|
|
219
219
|
|
|
220
220
|
:param base_url: base URL of the BaSyx server, e.g. "http://basyx_python_server:80/"_
|
|
221
221
|
:param username: username for the BaSyx server interface client, defaults to ""_
|
|
@@ -225,9 +225,9 @@ def create_wrapper_by_url(
|
|
|
225
225
|
:param time_out: timeout for the API calls, defaults to 200
|
|
226
226
|
:param connection_time_out: timeout for the connection to the API, defaults to 60
|
|
227
227
|
:param ssl_verify: whether to verify SSL certificates, defaults to True
|
|
228
|
-
:return: An instance of
|
|
228
|
+
:return: An instance of SdkWrapper initialized with the provided parameters.
|
|
229
229
|
"""
|
|
230
|
-
logger.info(f"Create BaSyx
|
|
230
|
+
logger.info(f"Create BaSyx Python SDK wrapper from URL '{base_url}'")
|
|
231
231
|
config_dict: dict[str, str] = {}
|
|
232
232
|
config_dict["base_url"] = base_url
|
|
233
233
|
config_dict["username"] = username
|
|
@@ -249,12 +249,12 @@ def create_wrapper_by_url(
|
|
|
249
249
|
|
|
250
250
|
|
|
251
251
|
|
|
252
|
-
def create_wrapper_by_config(config_file: Path, password: str = "") ->
|
|
253
|
-
"""Create a BaSyx
|
|
252
|
+
def create_wrapper_by_config(config_file: Path, password: str = "") -> SdkWrapper | None:
|
|
253
|
+
"""Create a wrapper for the BaSyx Python SDK from the given parameters.
|
|
254
254
|
|
|
255
255
|
:param config_file: Path to the configuration file containing the BaSyx server connection settings.
|
|
256
256
|
:param password: password for the BaSyx server interface client, defaults to ""_
|
|
257
|
-
:return: An instance of
|
|
257
|
+
:return: An instance of SdkWrapper initialized with the provided parameters.
|
|
258
258
|
"""
|
|
259
259
|
logger.info(f"Create BaSyx Python SDK wrapper from configuration file '{config_file}'")
|
|
260
260
|
if not config_file.exists():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aas-http-client
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Generic python HTTP client for communication with various types of AAS servers
|
|
5
5
|
Author-email: Daniel Klein <daniel.klein@em.ag>
|
|
6
6
|
License: # :em engineering methods AG Software License
|
|
@@ -127,17 +127,27 @@ Dynamic: license-file
|
|
|
127
127
|
[](https://github.com/fluid40/aas-http-client/actions)
|
|
128
128
|
[](https://pypi.org/project/aas-http-client/)
|
|
129
129
|
|
|
130
|
-
This is a generic HTTP client that can communicate with various types of AAS and submodel repository servers.
|
|
131
|
-
|
|
130
|
+
This is a generic HTTP client that can communicate with various types of AAS and submodel repository servers. It uses Python dictionaries for input and output parameters of functions. It supports the most common endpoints for the [specified AAS server endpoint](https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.1.1/specification/interfaces.html). The client is compatible with various types of AAS repository server.
|
|
131
|
+
The client should be compatible with various types of AAS repository server.
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
- BaSyx
|
|
133
|
+
Tested servers include:
|
|
134
|
+
- [Eclipse BaSyx .Net SDK server](https://github.com/eclipse-basyx/basyx-dotnet)
|
|
135
|
+
- [Eclipse BaSyx .Net SDK server (Fluid4.0 Fork)](https://github.com/fluid40/basyx-dotnet)
|
|
136
|
+
- [Eclipse BaSyx Java SDK server](https://github.com/eclipse-basyx/basyx-java-sdk)
|
|
137
|
+
- [Eclipse BaSyx Python SDK server](https://github.com/eclipse-basyx/basyx-python-sdk)
|
|
138
|
+
- [Eclipse AASX server](https://github.com/eclipse-aaspe)
|
|
139
|
+
|
|
140
|
+
The behavior may vary depending on the details of the implementation and compliance with the [AAS specification](https://industrialdigitaltwin.org/en/content-hub/aasspecifications). It also depends on which endpoints are provided by the server.
|
|
141
|
+
|
|
142
|
+
Additionally, wrappers are provided that work with various AAS frameworks and use the HTTP client as middleware. These wrappers use the SDK-specific data model classes for function input and output parameters.
|
|
143
|
+
Wrappers are currently available for the following frameworks:
|
|
144
|
+
- [Eclipse BaSyx Python SDK](https://github.com/eclipse-basyx/basyx-python-sdk)
|
|
135
145
|
|
|
136
146
|
## Links
|
|
137
147
|
|
|
138
148
|
🚀 [Getting Started](docs/getting_started.md)
|
|
139
149
|
|
|
140
|
-
💻 [
|
|
150
|
+
💻 [Tutorials](docs/tutorials.md)
|
|
141
151
|
|
|
142
152
|
👨⚕️ [Troubleshooting](docs/troubleshooting.md)
|
|
143
153
|
|
|
@@ -167,12 +177,12 @@ client = create_client_by_url(
|
|
|
167
177
|
print(client.get_shells())
|
|
168
178
|
```
|
|
169
179
|
|
|
170
|
-
### SDK Wrapper
|
|
180
|
+
### BaSyx Python SDK Wrapper
|
|
171
181
|
|
|
172
182
|
```python
|
|
173
|
-
from aas_http_client.wrapper.sdk_wrapper import
|
|
183
|
+
from aas_http_client.wrapper.sdk_wrapper import create_wrapper_by_url
|
|
174
184
|
|
|
175
|
-
wrapper =
|
|
185
|
+
wrapper = create_wrapper_by_url(
|
|
176
186
|
base_url="http://myaasserver:5043/"
|
|
177
187
|
)
|
|
178
188
|
|
|
@@ -2,13 +2,13 @@ aas_http_client/__init__.py,sha256=cAr1mQzWp0G0LKtkAOYzc9t95OY3jM3Aj4bKnxx0Dso,9
|
|
|
2
2
|
aas_http_client/client.py,sha256=6d3g9VNhex1JrZwIXtBTopSTw3bsf5NZBSWG5mHYuQg,20705
|
|
3
3
|
aas_http_client/core/encoder.py,sha256=FS7P0FPakzFsGz70eRFDHQZFA_2nlKLlWIxavtnFrPg,660
|
|
4
4
|
aas_http_client/core/version_check.py,sha256=721Zs3xSRrJTYZtAxkaUWg9LLKtpU7oFM62DzQHZdE4,705
|
|
5
|
-
aas_http_client/demo/demo_process.py,sha256=
|
|
5
|
+
aas_http_client/demo/demo_process.py,sha256=QfneAU2KXHUt90jEsOEx1VA4xgXW7PHsLsVVXI5BOgg,2602
|
|
6
6
|
aas_http_client/demo/logging_handler.py,sha256=VJtZ4u3x_LhYZQtfNck7FuXhGFZm7gid0uDhvf9GjJ8,5596
|
|
7
7
|
aas_http_client/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
aas_http_client/utilities/model_builder.py,sha256=bL4hy3uHh1Y_uL6KmLIfo9ORiUqWNlyToJrAt8G1rpw,3877
|
|
9
|
-
aas_http_client/wrapper/sdk_wrapper.py,sha256
|
|
10
|
-
aas_http_client-0.2.
|
|
11
|
-
aas_http_client-0.2.
|
|
12
|
-
aas_http_client-0.2.
|
|
13
|
-
aas_http_client-0.2.
|
|
14
|
-
aas_http_client-0.2.
|
|
9
|
+
aas_http_client/wrapper/sdk_wrapper.py,sha256=-0bKx5oP5jYosVAnuRlajMgJA1PJbOLLWm1j0fh1y_k,10334
|
|
10
|
+
aas_http_client-0.2.3.dist-info/licenses/LICENSE,sha256=ayt4HY-Tjoe1Uvj47j6UdNq8mEufKcKFangurChIHxQ,5990
|
|
11
|
+
aas_http_client-0.2.3.dist-info/METADATA,sha256=9sTQ4BxzU1ZOFMG2UVjAIb_sGWD1grxZPKt4-VSPzlk,10301
|
|
12
|
+
aas_http_client-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
13
|
+
aas_http_client-0.2.3.dist-info/top_level.txt,sha256=vzvoz2vjeTLwpuz-Y-eEfoQ7T3byoaKshVlFMFH5NaM,16
|
|
14
|
+
aas_http_client-0.2.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|