Skip to main content

A Python toolkit for building Industry 4.0-compliant Things as Asset Administration Shells (AAS), with seamless integration into the Smart Systems Service Infrastructure (S³I).

Project description

Asset Administration Shell (AAS) Thing Python SDK

PyPI Release License: LGPL v3

A Python toolkit for building Industry 4.0-compliant Things as Asset Administration Shells (AAS), with seamless integration into the Smart Systems Service Infrastructure (S³I). Please refer to the whitepaper for details:

Hoppen M., Chen, J., Roßmann, J. (2025) Smart Systems Service Infrastructure (S3I) — Design and deployment of the Smart Systems Service Infrastructure (S3I) for decentralized networking in Forestry 4.0. KWH4.0 Position Paper. DOI: 10.18154/RWTH-2025-03168


Table of Contents


Overview

The AAS Thing Python SDK helps you:

  • Instantiate and manipulate AAS and submodels using the Eclipse BaSyx Python SDK
  • Exchange standardized I4.0 messages (VDI 2193-1) over AMQP (store-and-forward) or (in future) HTTP
  • Authenticate, manage and discover services, exchange information via the S³I core (IdentityProvider, Directory, Repository, Broker)

By following the AAS specification, your Things become members in Industry 4.0 ecosystems, interoperating securely and reliably.


Features

Core Functionality

  • AAS management
    Load and parse .json, .xml, or .aasx AAS on disk using BaSyx Python SDK.

  • Message-based communication
    Create, send, and receive I4.0 messages (I40Message) combined with the AAS API specification defined in Specification of the Asset Administration Shell Part 2, over AMQP (store-and-forward) or (in future) HTTP.

  • S³I integration

    • IdentityProvider: OpenID Connect authentication via Keycloak
    • Broker: AMQP 0.9 messaging with RabbitMQ
    • Directory & Repository: Endpoint discovery and cloud storage
      We provide a global instance of the S³I , which runs in a RWTH Aachen server and includes:

Global instance of S³I

We provide a global instance of the S³I, which runs in a server located at MMI, RWTH Aachen University and can be used for testing. It includes:

Name Endpont
S³I IdentityProvider https://idp.mmi-0.s3i.mmi-services.de/
S³I Broker amqp://broker.mmi-0.s3i.mmi-services.de/
S³I Directory https://dir.mmi-0.s3i.mmi-services.de/
S³I Repository https://repo.mmi-0.s3i.mmi-services.de/
S³I Config https://config.mmi-0.s3i.mmi-services.de/
S³I Postbox API https://postbox.mmi-0.s3i.mmi-services.de/
S³I Manager (coming soon) http://manager.mmi-0.s3i.mmi-services.de/

Roadmap of the SDK

In the near future, we will provide the supports to:

  • Postbox API: REST-based alternative to AMQP for sending and receiving I4.0 messages
  • Discovery Service: Endpoint discovery using query parameters
  • Authorization: XACML-based access control framework
  • Events: Support for AAS- and AMQP-based events
  • Server Infrastructure: The open-source server infrastructure for the Smart Systems Service Infrastructure (S³I) and its configuration for docker and kubernetes

Technical Structure

Module Purpose
aas_thing/core.py BaseAASThing: lifecycle, configuration, event loop
aas_thing/aas_connection.py AASConnector: load/sync AAS & submodels
aas_thing/s3i_connection.py S3IConnector: interface to S³I IdentityProvider, Broker
aas_thing/message_handler.py I40SemanticProtocolHandler: handle_request, handle_reply of incoming I4.0 messages
aas_thing/s3i.identity_provider.py S3IIdentityProviderClient: create connection to S³I IdP
aas_thing/s3i.broker.py S3IBrokerAMQPClient: create connection to S³I Broker
aas_thing/s3i.directory.py S3IDirectoryClient: create connection with S³I Directory
aas_thing/s3i.repository.py S3IRepositoryClient: create connection with S³I Repository

Installation

Install from PyPI:

$ python -m pip install aas-thing

Or build & install from source:

$ git clone git@git.rwth-aachen.de:co2for-it/s3i/aas-thing-python-sdk.git
$ cd aas-thing-python-sdk
$ python -m pip install .

Documentation

Full API reference, tutorials, and demos are available in the documentation.

Contributing

Contributions, bug reports, and feature requests are welcome! Please:

  • Fork the repository
  • Create a feature branch (git checkout -b feature/XYZ)
  • Commit your changes (git commit -m "Add XYZ")
  • Push to your fork (git push origin feature/XYZ)
  • Open a Merge Request

See CONTRIBUTING.md for detailed guidelines.

License

This project is licensed under the LGPL v3 License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aas_thing-0.9.1.dev0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

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

aas_thing-0.9.1.dev0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file aas_thing-0.9.1.dev0.tar.gz.

File metadata

  • Download URL: aas_thing-0.9.1.dev0.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for aas_thing-0.9.1.dev0.tar.gz
Algorithm Hash digest
SHA256 0474c7e1b77d619fa25f24c2e56e79e1570a2e7440bbf0956e01bc7a3c18840e
MD5 7326059ce9c58b706bb8ebd15a8cb27d
BLAKE2b-256 65d5eaea303193e3b02ca9b22359a12e7ccfcda0c23be8aa8f92db554ce4b3b2

See more details on using hashes here.

File details

Details for the file aas_thing-0.9.1.dev0-py3-none-any.whl.

File metadata

  • Download URL: aas_thing-0.9.1.dev0-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for aas_thing-0.9.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6296cb98bec6d3b7793944e3cad3910498381437ab91ba586fe99ed3934552b
MD5 648feb1566a45c8fa6269e8c263a473d
BLAKE2b-256 8e76070f697e8243f673c3ea81b6b6183cc14e0bebb61a114be878132eda83c3

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