aas-http-client 0.1.7__tar.gz → 0.1.9__tar.gz

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.

Files changed (25) hide show
  1. aas_http_client-0.1.9/LICENSE +101 -0
  2. aas_http_client-0.1.9/PKG-INFO +164 -0
  3. aas_http_client-0.1.9/README.md +52 -0
  4. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/client.py +0 -4
  5. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/utilities/model_builder.py +0 -1
  6. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/wrapper/sdk_wrapper.py +5 -25
  7. aas_http_client-0.1.9/aas_http_client.egg-info/PKG-INFO +164 -0
  8. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client.egg-info/SOURCES.txt +0 -1
  9. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/pyproject.toml +1 -1
  10. aas_http_client-0.1.7/LICENSE +0 -21
  11. aas_http_client-0.1.7/PKG-INFO +0 -61
  12. aas_http_client-0.1.7/README.md +0 -29
  13. aas_http_client-0.1.7/aas_http_client/wrapper/python_sdk_wrapper_tmp.py +0 -641
  14. aas_http_client-0.1.7/aas_http_client.egg-info/PKG-INFO +0 -61
  15. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/__init__.py +0 -0
  16. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/core/encoder.py +0 -0
  17. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/core/version_check.py +0 -0
  18. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/demo/demo_process.py +0 -0
  19. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/demo/logging_handler.py +0 -0
  20. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client/utilities/__init__.py +0 -0
  21. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client.egg-info/dependency_links.txt +0 -0
  22. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/aas_http_client.egg-info/top_level.txt +0 -0
  23. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/setup.cfg +0 -0
  24. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/tests/test_client_dotnet_server.py +0 -0
  25. {aas_http_client-0.1.7 → aas_http_client-0.1.9}/tests/test_client_java_server.py +0 -0
@@ -0,0 +1,101 @@
1
+ # :em engineering methods AG Software License
2
+
3
+ SPDX-Identifier: LicenseRef-em
4
+ Date: 2025
5
+ Version: v0.1
6
+
7
+ This license agreement (“Agreement”) is made between **:em engineering methods AG (“:em AG”)**, a company
8
+ incorporated under the laws of Germany, and the **customer (“Customer”)** who has purchased or obtained
9
+ software, scripts, source code or software components (“Software”) from :em AG.
10
+
11
+ By installing, copying, or otherwise using the Software, the Customer agrees to be bound by the terms of this
12
+ Agreement. If the Customer does not agree to the terms of this Agreement, the Customer must not use the
13
+ Software and must delete or return any copies of the Software to :em AG.
14
+
15
+ ## 1. Grant of License
16
+
17
+ Subject to the terms and conditions of this Agreement, :em AG grants the Customer a non-exclusive,
18
+ non-transferable, revocable license to use the Software solely for the Customer’s own internal business
19
+ purposes on systems owned or controlled by the Customer (“Customer Systems”). The Customer may also allow
20
+ its service providers to use the Software on Customer Systems, provided that such service providers agree
21
+ to comply with the terms of this Agreement and the Customer remains responsible for their actions.
22
+
23
+ The Customer may not:
24
+
25
+ * sublicense, sell, rent, lease, lend, distribute, or otherwise transfer the Software or any rights under
26
+ this Agreement to any third party without the prior written consent of :em AG;
27
+ * modify, adapt, translate, reverse engineer, decompile, disassemble, or create derivative works based
28
+ on the Software or any part thereof;
29
+ * remove, alter, or obscure any copyright notices or other proprietary notices on the Software;
30
+ use the Software for any illegal, unethical, or unauthorized purpose;
31
+ * use the Software in a manner that infringes or violates the rights of :em AG or any third party.
32
+
33
+ ## 2. Reservation of Rights
34
+
35
+ :em AG retains all right, title, and interest in and to the Software and any copies thereof.
36
+ The Software is protected by copyright and other intellectual property laws and treaties.
37
+ The Software is licensed, not sold. Nothing in this Agreement shall be construed as transferring any
38
+ ownership rights in the Software to the Customer.
39
+
40
+ :em AG reserves the right to use the Software for any purpose, including but not limited to providing it to
41
+ other customers of :em AG, changing its license terms for future versions, or discontinuing its development
42
+ or support.
43
+
44
+ ## 3. Disclaimer of Warranty
45
+
46
+ The Software is provided “as is” without any warranty of any kind, either express or implied, including but
47
+ not limited to the implied warranties of merchantability, fitness for a particular purpose, or
48
+ non-infringement.
49
+
50
+ :em AG does not warrant that the Software will meet the Customer’s requirements, that it will operate
51
+ uninterrupted or error-free, that it will be compatible with any other software or hardware, or that it will
52
+ be free from defects or viruses.
53
+
54
+ The Customer acknowledges that it has relied on its own skill and judgment in selecting and using the Software
55
+ and that it is solely responsible for the results obtained from the Software.
56
+
57
+ ## 4. Limitation of Liability
58
+
59
+ To the maximum extent permitted by applicable law, in no event shall :em AG be liable for any direct,
60
+ indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with this
61
+ Agreement or the use or inability to use the Software, even if :em AG has been advised of the possibility of
62
+ such damages. In any case, :em AG’s total liability under this Agreement shall not exceed the amount paid by
63
+ the Customer for the Software.
64
+
65
+ ## 5. Termination
66
+
67
+ This Agreement shall remain in effect until terminated by either party. The Customer may terminate this
68
+ Agreement at any time by ceasing to use the Software and deleting or returning all copies of the Software
69
+ to :em AG. :em AG may terminate this Agreement at any time if the Customer breaches any term of this
70
+ Agreement.
71
+
72
+ Upon termination of this Agreement for any reason, all rights and licenses granted to the Customer under
73
+ this Agreement shall cease and the Customer shall destroy or return all copies of the Software to :em AG.
74
+
75
+ ## 6. General
76
+
77
+ This Agreement constitutes the entire agreement between the parties with respect to the subject matter hereof
78
+ and supersedes all prior or contemporaneous agreements or understandings, whether written or oral. This
79
+ Agreement may not be modified or amended except by a written instrument signed by both parties.
80
+
81
+ This Agreement shall be governed by and construed in accordance with the laws of Germany without regard to its
82
+ conflict of laws principles. Any dispute arising out of or relating to this Agreement shall be submitted to
83
+ the exclusive jurisdiction of the competent courts of Munich, Germany.
84
+
85
+ If any provision of this Agreement is held to be invalid, illegal, or unenforceable, the remaining provisions
86
+ shall remain in full force and effect.
87
+
88
+ The failure of either party to enforce any right or provision of this Agreement shall not constitute a waiver
89
+ of such right or provision.
90
+
91
+ The Customer may not assign or transfer this Agreement or any rights or obligations under this Agreement
92
+ without the prior written consent of :em AG. :em AG may assign or transfer this Agreement or any rights
93
+ or obligations under this Agreement without the consent of the Customer.
94
+
95
+ The Customer agrees to comply with all applicable laws and regulations in connection with its use of the
96
+ Software, including but not limited to export control laws and data protection laws.
97
+
98
+ The Customer acknowledges that it has read and understood this Agreement and agrees to be bound by its terms
99
+ and conditions. The Customer also agrees that this Agreement is the complete and exclusive statement of the
100
+ agreement between the parties and supersedes any proposal or prior agreement, oral or written, and any other
101
+ communications between the parties relating to the subject matter of this Agreement.
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.4
2
+ Name: aas-http-client
3
+ Version: 0.1.9
4
+ Summary: Generic HTTP client for communicating with various types of AAS servers
5
+ Author-email: Daniel Klein <daniel.klein@em.ag>
6
+ License: # :em engineering methods AG Software License
7
+
8
+ SPDX-Identifier: LicenseRef-em
9
+ Date: 2025
10
+ Version: v0.1
11
+
12
+ This license agreement (“Agreement”) is made between **:em engineering methods AG (“:em AG”)**, a company
13
+ incorporated under the laws of Germany, and the **customer (“Customer”)** who has purchased or obtained
14
+ software, scripts, source code or software components (“Software”) from :em AG.
15
+
16
+ By installing, copying, or otherwise using the Software, the Customer agrees to be bound by the terms of this
17
+ Agreement. If the Customer does not agree to the terms of this Agreement, the Customer must not use the
18
+ Software and must delete or return any copies of the Software to :em AG.
19
+
20
+ ## 1. Grant of License
21
+
22
+ Subject to the terms and conditions of this Agreement, :em AG grants the Customer a non-exclusive,
23
+ non-transferable, revocable license to use the Software solely for the Customer’s own internal business
24
+ purposes on systems owned or controlled by the Customer (“Customer Systems”). The Customer may also allow
25
+ its service providers to use the Software on Customer Systems, provided that such service providers agree
26
+ to comply with the terms of this Agreement and the Customer remains responsible for their actions.
27
+
28
+ The Customer may not:
29
+
30
+ * sublicense, sell, rent, lease, lend, distribute, or otherwise transfer the Software or any rights under
31
+ this Agreement to any third party without the prior written consent of :em AG;
32
+ * modify, adapt, translate, reverse engineer, decompile, disassemble, or create derivative works based
33
+ on the Software or any part thereof;
34
+ * remove, alter, or obscure any copyright notices or other proprietary notices on the Software;
35
+ use the Software for any illegal, unethical, or unauthorized purpose;
36
+ * use the Software in a manner that infringes or violates the rights of :em AG or any third party.
37
+
38
+ ## 2. Reservation of Rights
39
+
40
+ :em AG retains all right, title, and interest in and to the Software and any copies thereof.
41
+ The Software is protected by copyright and other intellectual property laws and treaties.
42
+ The Software is licensed, not sold. Nothing in this Agreement shall be construed as transferring any
43
+ ownership rights in the Software to the Customer.
44
+
45
+ :em AG reserves the right to use the Software for any purpose, including but not limited to providing it to
46
+ other customers of :em AG, changing its license terms for future versions, or discontinuing its development
47
+ or support.
48
+
49
+ ## 3. Disclaimer of Warranty
50
+
51
+ The Software is provided “as is” without any warranty of any kind, either express or implied, including but
52
+ not limited to the implied warranties of merchantability, fitness for a particular purpose, or
53
+ non-infringement.
54
+
55
+ :em AG does not warrant that the Software will meet the Customer’s requirements, that it will operate
56
+ uninterrupted or error-free, that it will be compatible with any other software or hardware, or that it will
57
+ be free from defects or viruses.
58
+
59
+ The Customer acknowledges that it has relied on its own skill and judgment in selecting and using the Software
60
+ and that it is solely responsible for the results obtained from the Software.
61
+
62
+ ## 4. Limitation of Liability
63
+
64
+ To the maximum extent permitted by applicable law, in no event shall :em AG be liable for any direct,
65
+ indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with this
66
+ Agreement or the use or inability to use the Software, even if :em AG has been advised of the possibility of
67
+ such damages. In any case, :em AG’s total liability under this Agreement shall not exceed the amount paid by
68
+ the Customer for the Software.
69
+
70
+ ## 5. Termination
71
+
72
+ This Agreement shall remain in effect until terminated by either party. The Customer may terminate this
73
+ Agreement at any time by ceasing to use the Software and deleting or returning all copies of the Software
74
+ to :em AG. :em AG may terminate this Agreement at any time if the Customer breaches any term of this
75
+ Agreement.
76
+
77
+ Upon termination of this Agreement for any reason, all rights and licenses granted to the Customer under
78
+ this Agreement shall cease and the Customer shall destroy or return all copies of the Software to :em AG.
79
+
80
+ ## 6. General
81
+
82
+ This Agreement constitutes the entire agreement between the parties with respect to the subject matter hereof
83
+ and supersedes all prior or contemporaneous agreements or understandings, whether written or oral. This
84
+ Agreement may not be modified or amended except by a written instrument signed by both parties.
85
+
86
+ This Agreement shall be governed by and construed in accordance with the laws of Germany without regard to its
87
+ conflict of laws principles. Any dispute arising out of or relating to this Agreement shall be submitted to
88
+ the exclusive jurisdiction of the competent courts of Munich, Germany.
89
+
90
+ If any provision of this Agreement is held to be invalid, illegal, or unenforceable, the remaining provisions
91
+ shall remain in full force and effect.
92
+
93
+ The failure of either party to enforce any right or provision of this Agreement shall not constitute a waiver
94
+ of such right or provision.
95
+
96
+ The Customer may not assign or transfer this Agreement or any rights or obligations under this Agreement
97
+ without the prior written consent of :em AG. :em AG may assign or transfer this Agreement or any rights
98
+ or obligations under this Agreement without the consent of the Customer.
99
+
100
+ The Customer agrees to comply with all applicable laws and regulations in connection with its use of the
101
+ Software, including but not limited to export control laws and data protection laws.
102
+
103
+ The Customer acknowledges that it has read and understood this Agreement and agrees to be bound by its terms
104
+ and conditions. The Customer also agrees that this Agreement is the complete and exclusive statement of the
105
+ agreement between the parties and supersedes any proposal or prior agreement, oral or written, and any other
106
+ communications between the parties relating to the subject matter of this Agreement.
107
+
108
+ Project-URL: Homepage, https://github.com/fluid40/aas-http-client
109
+ Description-Content-Type: text/markdown
110
+ License-File: LICENSE
111
+ Dynamic: license-file
112
+
113
+ <!-- TODO: Go through the readme and enter the information here -->
114
+
115
+ # AAS HTTP Client
116
+
117
+ <div align="center">
118
+ <!-- change this to your projects logo if you have on.
119
+ If you don't have one it might be worth trying chatgpt dall-e to create one for you...
120
+ -->
121
+ <img src="docs/assets/fluid_logo.svg" alt="aas_http_client" width=500 />
122
+ </div>
123
+
124
+ ---
125
+
126
+ [![License: em](https://img.shields.io/badge/license-emSL-%23f8a602?label=License&labelColor=%23992b2e)](LICENSE)
127
+ [![CI](https://github.com/fluid40/aas-http-client/actions/workflows/CI.yml/badge.svg?branch=main&cache-bust=1)](https://github.com/fluid40/aas-http-client/actions)
128
+ [![PyPI version](https://img.shields.io/pypi/v/aas-http-client.svg)](https://pypi.org/project/aas-http-client/)
129
+
130
+ A generic HTTP client for communicating with various types of AAS and submodel repository servers. The client works with Python dictionaries for the input and output parameters.
131
+ In addition, wrappers are provided that work with various AAS frameworks and use the http client as middleware.
132
+
133
+ Currently, wrappers are available for the following frameworks:
134
+ - BaSyx Python SDK
135
+
136
+ ## Links
137
+
138
+ 🚀 [Getting Started](docs/getting_started.md)
139
+
140
+ 💻 [Developer Quickstart](docs/dev_guide.md)
141
+
142
+ 👨‍⚕️ [Troubleshooting](docs/troubleshooting.md)
143
+
144
+ 🤖 [Releases](http://github.com/fluid40/aas-http-client/releases)
145
+
146
+ 📦 [Pypi Packages](https://pypi.org/project/aas-http-client/)
147
+
148
+ 📜 [em AG Software License](LICENSE)
149
+
150
+ ## ⚡ Quickstart
151
+
152
+ ```bash
153
+ pip install aas-http-client
154
+ ````
155
+
156
+ ```python
157
+ from aas_http_client import create_client_by_url
158
+
159
+ client = create_client_by_url(
160
+ base_url="http://myaasserver:5043/"
161
+ )
162
+
163
+ print(client.get_shells())
164
+ ```
@@ -0,0 +1,52 @@
1
+ <!-- TODO: Go through the readme and enter the information here -->
2
+
3
+ # AAS HTTP Client
4
+
5
+ <div align="center">
6
+ <!-- change this to your projects logo if you have on.
7
+ If you don't have one it might be worth trying chatgpt dall-e to create one for you...
8
+ -->
9
+ <img src="docs/assets/fluid_logo.svg" alt="aas_http_client" width=500 />
10
+ </div>
11
+
12
+ ---
13
+
14
+ [![License: em](https://img.shields.io/badge/license-emSL-%23f8a602?label=License&labelColor=%23992b2e)](LICENSE)
15
+ [![CI](https://github.com/fluid40/aas-http-client/actions/workflows/CI.yml/badge.svg?branch=main&cache-bust=1)](https://github.com/fluid40/aas-http-client/actions)
16
+ [![PyPI version](https://img.shields.io/pypi/v/aas-http-client.svg)](https://pypi.org/project/aas-http-client/)
17
+
18
+ A generic HTTP client for communicating with various types of AAS and submodel repository servers. The client works with Python dictionaries for the input and output parameters.
19
+ In addition, wrappers are provided that work with various AAS frameworks and use the http client as middleware.
20
+
21
+ Currently, wrappers are available for the following frameworks:
22
+ - BaSyx Python SDK
23
+
24
+ ## Links
25
+
26
+ 🚀 [Getting Started](docs/getting_started.md)
27
+
28
+ 💻 [Developer Quickstart](docs/dev_guide.md)
29
+
30
+ 👨‍⚕️ [Troubleshooting](docs/troubleshooting.md)
31
+
32
+ 🤖 [Releases](http://github.com/fluid40/aas-http-client/releases)
33
+
34
+ 📦 [Pypi Packages](https://pypi.org/project/aas-http-client/)
35
+
36
+ 📜 [em AG Software License](LICENSE)
37
+
38
+ ## ⚡ Quickstart
39
+
40
+ ```bash
41
+ pip install aas-http-client
42
+ ````
43
+
44
+ ```python
45
+ from aas_http_client import create_client_by_url
46
+
47
+ client = create_client_by_url(
48
+ base_url="http://myaasserver:5043/"
49
+ )
50
+
51
+ print(client.get_shells())
52
+ ```
@@ -67,7 +67,6 @@ class AasHttpClient(BaseModel):
67
67
  """Represents a AasHttpClient to communicate with a REST API."""
68
68
 
69
69
  base_url: str = "http://javaaasserver:5060/"
70
- api_base_path: str = ""
71
70
  username: str | None = None
72
71
  _password: str | None = PrivateAttr(default=None)
73
72
  https_proxy: str | None = None
@@ -445,7 +444,6 @@ class AasHttpClient(BaseModel):
445
444
 
446
445
  def create_client_by_url(
447
446
  base_url: str,
448
- api_base_path: str = "",
449
447
  username: str = "",
450
448
  password: str = "",
451
449
  http_proxy: str = "",
@@ -469,7 +467,6 @@ def create_client_by_url(
469
467
  logger.info(f"Create BaSyx server interface client from URL '{base_url}'")
470
468
  config_dict: dict[str, str] = {}
471
469
  config_dict["base_url"] = base_url
472
- config_dict["api_base_path"] = api_base_path
473
470
  config_dict["username"] = username
474
471
  config_dict["http_proxy"] = http_proxy
475
472
  config_dict["https_proxy"] = https_proxy
@@ -507,7 +504,6 @@ def _create_client(config_string: str, password) -> AasHttpClient | None:
507
504
 
508
505
  logger.info(
509
506
  f"Using server configuration: '{client.base_url}' | "
510
- f"API base path: '{client.api_base_path}' | "
511
507
  f"timeout: '{client.time_out}' | "
512
508
  f"username: '{client.username}' | "
513
509
  f"https_proxy: '{client.https_proxy}' | "
@@ -9,7 +9,6 @@ from basyx.aas.model import (
9
9
  AssetAdministrationShell,
10
10
  AssetInformation,
11
11
  AssetKind,
12
- Key,
13
12
  ModelReference,
14
13
  MultiLanguageTextType,
15
14
  Submodel,
@@ -47,7 +47,7 @@ class SdkWrapper():
47
47
  sm_data_string = json.dumps(submodel, cls=basyx.aas.adapter.json.AASToJsonEncoder)
48
48
  sm_data = json.loads(sm_data_string)
49
49
 
50
- return self._client.put_shells_submodels(aas_id, submodel_id, sm_data)
50
+ return self._client.put_shells_submodels_by_id(aas_id, submodel_id, sm_data)
51
51
 
52
52
  def get_shells(self) -> list[AssetAdministrationShell] | None:
53
53
  """Get all Asset Administration Shells (AAS) from the REST API.
@@ -91,14 +91,14 @@ class SdkWrapper():
91
91
  content: dict = self._client.get_shells_reference_by_id(aas_id)
92
92
  return json.load(content, cls=basyx.aas.adapter.json.AASFromJsonDecoder)
93
93
 
94
- def get_shells_submodels(self, aas_id: str, submodel_id: str) -> Submodel | None:
94
+ def get_shells_submodels_by_id(self, aas_id: str, submodel_id: str) -> Submodel | None:
95
95
  """Get a submodel by its ID for a specific Asset Administration Shell (AAS).
96
96
 
97
97
  :param aas_id: ID of the AAS to retrieve the submodel from
98
98
  :param submodel_id: ID of the submodel to retrieve
99
99
  :return: Submodel object or None if an error occurred
100
100
  """
101
- content: dict = self._client.get_shells_by_id(aas_id)
101
+ content: dict = self._client.get_shells_submodels_by_id(aas_id, submodel_id)
102
102
  return json.load(content, cls=basyx.aas.adapter.json.AASFromJsonDecoder)
103
103
 
104
104
  def delete_shells_by_id(self, aas_id: str) -> bool:
@@ -120,7 +120,7 @@ class SdkWrapper():
120
120
 
121
121
  return self._client.post_submodels(sm_data)
122
122
 
123
- def put_submodels(self, identifier: str, submodel: Submodel) -> bool:
123
+ def put_submodels_by_id(self, identifier: str, submodel: Submodel) -> bool:
124
124
  """Update a submodel by its ID in the REST API.
125
125
 
126
126
  :param identifier: Identifier of the submodel to update
@@ -130,25 +130,7 @@ class SdkWrapper():
130
130
  sm_data_string = json.dumps(submodel, cls=basyx.aas.adapter.json.AASToJsonEncoder)
131
131
  sm_data = json.loads(sm_data_string)
132
132
 
133
- return self._client.put_submodels(identifier, sm_data)
134
-
135
- def get_submodel_by_id(self, submodel_id: str) -> Submodel | None:
136
- """Get a submodel by its ID from the REST API.
137
-
138
- :param submodel_id: ID of the submodel to retrieve
139
- :return: Submodel object or None if an error occurred
140
- """
141
- content = self._client.get_submodel_by_id(submodel_id)
142
-
143
- if not content:
144
- logger.warning(f"No submodel found with ID '{submodel_id}' in the REST API.")
145
- return None
146
-
147
- if not isinstance(content, dict):
148
- logger.error(f"Invalid submodel data: {content}")
149
- return None
150
-
151
- return json.loads(content, cls=basyx.aas.adapter.json.AASFromJsonDecoder)
133
+ return self._client.put_submodels_by_id(identifier, sm_data)
152
134
 
153
135
  def get_submodels(self) -> list[Submodel] | None:
154
136
  """Get all submodels from the REST API.
@@ -213,7 +195,6 @@ class SdkWrapper():
213
195
 
214
196
  def create_wrapper_by_url(
215
197
  base_url: str,
216
- api_base_path: str = "",
217
198
  username: str = "",
218
199
  password: str = "",
219
200
  http_proxy: str = "",
@@ -237,7 +218,6 @@ def create_wrapper_by_url(
237
218
  logger.info(f"Create BaSyx server interface client from URL '{base_url}'")
238
219
  config_dict: dict[str, str] = {}
239
220
  config_dict["base_url"] = base_url
240
- config_dict["api_base_path"] = api_base_path
241
221
  config_dict["username"] = username
242
222
  config_dict["http_proxy"] = http_proxy
243
223
  config_dict["https_proxy"] = https_proxy
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.4
2
+ Name: aas-http-client
3
+ Version: 0.1.9
4
+ Summary: Generic HTTP client for communicating with various types of AAS servers
5
+ Author-email: Daniel Klein <daniel.klein@em.ag>
6
+ License: # :em engineering methods AG Software License
7
+
8
+ SPDX-Identifier: LicenseRef-em
9
+ Date: 2025
10
+ Version: v0.1
11
+
12
+ This license agreement (“Agreement”) is made between **:em engineering methods AG (“:em AG”)**, a company
13
+ incorporated under the laws of Germany, and the **customer (“Customer”)** who has purchased or obtained
14
+ software, scripts, source code or software components (“Software”) from :em AG.
15
+
16
+ By installing, copying, or otherwise using the Software, the Customer agrees to be bound by the terms of this
17
+ Agreement. If the Customer does not agree to the terms of this Agreement, the Customer must not use the
18
+ Software and must delete or return any copies of the Software to :em AG.
19
+
20
+ ## 1. Grant of License
21
+
22
+ Subject to the terms and conditions of this Agreement, :em AG grants the Customer a non-exclusive,
23
+ non-transferable, revocable license to use the Software solely for the Customer’s own internal business
24
+ purposes on systems owned or controlled by the Customer (“Customer Systems”). The Customer may also allow
25
+ its service providers to use the Software on Customer Systems, provided that such service providers agree
26
+ to comply with the terms of this Agreement and the Customer remains responsible for their actions.
27
+
28
+ The Customer may not:
29
+
30
+ * sublicense, sell, rent, lease, lend, distribute, or otherwise transfer the Software or any rights under
31
+ this Agreement to any third party without the prior written consent of :em AG;
32
+ * modify, adapt, translate, reverse engineer, decompile, disassemble, or create derivative works based
33
+ on the Software or any part thereof;
34
+ * remove, alter, or obscure any copyright notices or other proprietary notices on the Software;
35
+ use the Software for any illegal, unethical, or unauthorized purpose;
36
+ * use the Software in a manner that infringes or violates the rights of :em AG or any third party.
37
+
38
+ ## 2. Reservation of Rights
39
+
40
+ :em AG retains all right, title, and interest in and to the Software and any copies thereof.
41
+ The Software is protected by copyright and other intellectual property laws and treaties.
42
+ The Software is licensed, not sold. Nothing in this Agreement shall be construed as transferring any
43
+ ownership rights in the Software to the Customer.
44
+
45
+ :em AG reserves the right to use the Software for any purpose, including but not limited to providing it to
46
+ other customers of :em AG, changing its license terms for future versions, or discontinuing its development
47
+ or support.
48
+
49
+ ## 3. Disclaimer of Warranty
50
+
51
+ The Software is provided “as is” without any warranty of any kind, either express or implied, including but
52
+ not limited to the implied warranties of merchantability, fitness for a particular purpose, or
53
+ non-infringement.
54
+
55
+ :em AG does not warrant that the Software will meet the Customer’s requirements, that it will operate
56
+ uninterrupted or error-free, that it will be compatible with any other software or hardware, or that it will
57
+ be free from defects or viruses.
58
+
59
+ The Customer acknowledges that it has relied on its own skill and judgment in selecting and using the Software
60
+ and that it is solely responsible for the results obtained from the Software.
61
+
62
+ ## 4. Limitation of Liability
63
+
64
+ To the maximum extent permitted by applicable law, in no event shall :em AG be liable for any direct,
65
+ indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with this
66
+ Agreement or the use or inability to use the Software, even if :em AG has been advised of the possibility of
67
+ such damages. In any case, :em AG’s total liability under this Agreement shall not exceed the amount paid by
68
+ the Customer for the Software.
69
+
70
+ ## 5. Termination
71
+
72
+ This Agreement shall remain in effect until terminated by either party. The Customer may terminate this
73
+ Agreement at any time by ceasing to use the Software and deleting or returning all copies of the Software
74
+ to :em AG. :em AG may terminate this Agreement at any time if the Customer breaches any term of this
75
+ Agreement.
76
+
77
+ Upon termination of this Agreement for any reason, all rights and licenses granted to the Customer under
78
+ this Agreement shall cease and the Customer shall destroy or return all copies of the Software to :em AG.
79
+
80
+ ## 6. General
81
+
82
+ This Agreement constitutes the entire agreement between the parties with respect to the subject matter hereof
83
+ and supersedes all prior or contemporaneous agreements or understandings, whether written or oral. This
84
+ Agreement may not be modified or amended except by a written instrument signed by both parties.
85
+
86
+ This Agreement shall be governed by and construed in accordance with the laws of Germany without regard to its
87
+ conflict of laws principles. Any dispute arising out of or relating to this Agreement shall be submitted to
88
+ the exclusive jurisdiction of the competent courts of Munich, Germany.
89
+
90
+ If any provision of this Agreement is held to be invalid, illegal, or unenforceable, the remaining provisions
91
+ shall remain in full force and effect.
92
+
93
+ The failure of either party to enforce any right or provision of this Agreement shall not constitute a waiver
94
+ of such right or provision.
95
+
96
+ The Customer may not assign or transfer this Agreement or any rights or obligations under this Agreement
97
+ without the prior written consent of :em AG. :em AG may assign or transfer this Agreement or any rights
98
+ or obligations under this Agreement without the consent of the Customer.
99
+
100
+ The Customer agrees to comply with all applicable laws and regulations in connection with its use of the
101
+ Software, including but not limited to export control laws and data protection laws.
102
+
103
+ The Customer acknowledges that it has read and understood this Agreement and agrees to be bound by its terms
104
+ and conditions. The Customer also agrees that this Agreement is the complete and exclusive statement of the
105
+ agreement between the parties and supersedes any proposal or prior agreement, oral or written, and any other
106
+ communications between the parties relating to the subject matter of this Agreement.
107
+
108
+ Project-URL: Homepage, https://github.com/fluid40/aas-http-client
109
+ Description-Content-Type: text/markdown
110
+ License-File: LICENSE
111
+ Dynamic: license-file
112
+
113
+ <!-- TODO: Go through the readme and enter the information here -->
114
+
115
+ # AAS HTTP Client
116
+
117
+ <div align="center">
118
+ <!-- change this to your projects logo if you have on.
119
+ If you don't have one it might be worth trying chatgpt dall-e to create one for you...
120
+ -->
121
+ <img src="docs/assets/fluid_logo.svg" alt="aas_http_client" width=500 />
122
+ </div>
123
+
124
+ ---
125
+
126
+ [![License: em](https://img.shields.io/badge/license-emSL-%23f8a602?label=License&labelColor=%23992b2e)](LICENSE)
127
+ [![CI](https://github.com/fluid40/aas-http-client/actions/workflows/CI.yml/badge.svg?branch=main&cache-bust=1)](https://github.com/fluid40/aas-http-client/actions)
128
+ [![PyPI version](https://img.shields.io/pypi/v/aas-http-client.svg)](https://pypi.org/project/aas-http-client/)
129
+
130
+ A generic HTTP client for communicating with various types of AAS and submodel repository servers. The client works with Python dictionaries for the input and output parameters.
131
+ In addition, wrappers are provided that work with various AAS frameworks and use the http client as middleware.
132
+
133
+ Currently, wrappers are available for the following frameworks:
134
+ - BaSyx Python SDK
135
+
136
+ ## Links
137
+
138
+ 🚀 [Getting Started](docs/getting_started.md)
139
+
140
+ 💻 [Developer Quickstart](docs/dev_guide.md)
141
+
142
+ 👨‍⚕️ [Troubleshooting](docs/troubleshooting.md)
143
+
144
+ 🤖 [Releases](http://github.com/fluid40/aas-http-client/releases)
145
+
146
+ 📦 [Pypi Packages](https://pypi.org/project/aas-http-client/)
147
+
148
+ 📜 [em AG Software License](LICENSE)
149
+
150
+ ## ⚡ Quickstart
151
+
152
+ ```bash
153
+ pip install aas-http-client
154
+ ````
155
+
156
+ ```python
157
+ from aas_http_client import create_client_by_url
158
+
159
+ client = create_client_by_url(
160
+ base_url="http://myaasserver:5043/"
161
+ )
162
+
163
+ print(client.get_shells())
164
+ ```
@@ -13,7 +13,6 @@ aas_http_client/demo/demo_process.py
13
13
  aas_http_client/demo/logging_handler.py
14
14
  aas_http_client/utilities/__init__.py
15
15
  aas_http_client/utilities/model_builder.py
16
- aas_http_client/wrapper/python_sdk_wrapper_tmp.py
17
16
  aas_http_client/wrapper/sdk_wrapper.py
18
17
  tests/test_client_dotnet_server.py
19
18
  tests/test_client_java_server.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "aas-http-client"
7
- version = "0.1.7"
7
+ version = "0.1.9"
8
8
  description = "Generic HTTP client for communicating with various types of AAS servers"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Fluid4.0
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.