Skip to main content

Generic Python HTTP client for communication with various types of AAS servers.

Project description

AAS HTTP Client

aas_http_client

License: MIT CI PyPI version

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.

Version 1.0.0 includes implementations for all endpoints from BaSxy Java SDK 'aas-registry', 'submodel-registry' and 'aas-environment'.


Supported Servers

Tested servers include:

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

🚀 Getting Started

🛠️ Configuration

📝 Changelog

Resources

🤖 Releases

📦 Pypi Packages

📜 MIT License


⚡ 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

aas_http_client-1.0.3.tar.gz (43.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aas_http_client-1.0.3-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

File details

Details for the file aas_http_client-1.0.3.tar.gz.

File metadata

  • Download URL: aas_http_client-1.0.3.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for aas_http_client-1.0.3.tar.gz
Algorithm Hash digest
SHA256 73bcedb9e138c90e00bf8209a9b9c31db9019d696486460f8d98d060fee7c09c
MD5 9b2efa446fe2d74809ee6e00fa5e6d3b
BLAKE2b-256 a4492091069c82d32e35f3df6c0835c6e789da94ef8c8b56b62e7a25af4e4077

See more details on using hashes here.

File details

Details for the file aas_http_client-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for aas_http_client-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb6d9e7730192d3884169abc1bf9f373dbb793b155cfc0fd17a5e89fd448e7bb
MD5 a0a3043bed5e37fcf2a5d06d6fe5b2af
BLAKE2b-256 402c9ad7f06fd20991a5c7ba958a0f53dbeb5da8f1c20e8fbd1077061a6d90c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page