Generic Python HTTP client for communication with various types of AAS servers
Project description
AAS HTTP Client
AAS HTTP Client is a flexible Python library for interacting with Asset Administration Shell (AAS) and submodel repository servers over HTTP. It uses standard Python dictionaries for function inputs and outputs, making it easy to integrate with a variety of workflows. The client implements the most widely used endpoints defined in the AAS server specification, ensuring compatibility with multiple AAS repository server implementations. This allows you to connect to different AAS servers without changing your client code.
Note: Each client instance is designed to communicate with a single AAS server at a time (1-to-1 mapping). To interact with multiple servers, create a separate client instance for each server.
Supported Servers
Tested servers include:
- Eclipse BaSyx .Net SDK server (Fluid4.0 Fork)
- Eclipse BaSyx Java SDK server
- Eclipse BaSyx Python SDK server
- Eclipse AASX server
The actual behavior of the client may vary depending on the specific server implementation and its level of compliance with the AAS specification. Supported endpoints and features depend on what each server provides.
In addition to the core HTTP client, this library offers wrapper modules for popular AAS frameworks. These wrappers use the HTTP client as middleware and expose SDK-specific data model classes for input and output, making integration with those frameworks seamless.
Currently available wrappers:
The AAS HTTP Client package also include some utility functions for for recurring tasks (provided by import 'aas_http_client.utilities'):
- encoder: base64 encoding and decoding
- sdk_tools: e.g. Framework object serialization and deserialization, basic submodel operations
- model_builder: creation of some basic AAS model elements
Documentation
Resources
🤖 Releases
⚡ Quickstart
For a detailed introduction, please read Getting Started.
pip install aas-http-client
Client
from aas_http_client import create_client_by_url
client = create_client_by_url(
base_url="http://myaasserver:5043/"
)
print(client.shell.get_shells())
BaSyx Python SDK Wrapper
from aas_http_client.wrapper.sdk_wrapper import create_wrapper_by_url
wrapper = create_wrapper_by_url(
base_url="http://myaasserver:5043/"
)
print(wrapper.get_shells())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aas_http_client-0.9.6.tar.gz.
File metadata
- Download URL: aas_http_client-0.9.6.tar.gz
- Upload date:
- Size: 39.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
059d852e2d0f7fcdaca4737e2b796ca31080ed7d68f4be1b41e13a5e5ca6608c
|
|
| MD5 |
f57e48807dadfdaf32073d22098a2589
|
|
| BLAKE2b-256 |
1552b561713c9b5fa024cc1223ce1acd5b761c1f10962950b51da88b9cfa6540
|
File details
Details for the file aas_http_client-0.9.6-py3-none-any.whl.
File metadata
- Download URL: aas_http_client-0.9.6-py3-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5069fff19f58e5363cf95ea3c08216601fad6484f19a2425611c5ca25fefc537
|
|
| MD5 |
9e1adcd5175b8b6c23bc4cf3c8c5ddd6
|
|
| BLAKE2b-256 |
4b8f6545266d7aed04361847ef4ab8f5f5cf8f641aee22be998313802552ecec
|