dart_aas 0.0.7
dart_aas: ^0.0.7 copied to clipboard
Implementation of Part 1, 2, and 3a of the Asset Administration Shell spec
dart_aas #
Dart implementation of the models and APIs of the Asset Administration shell specification Part 1, 2, and 3a.
The basis of this package was generated using openapi generator v7.7.0 using the DartDioClientCodegen package and v3.1.0 of the Entire-API-Collection openapi specification. Manual cleanup and documentation improvements were performed and additional utility methods (for example to resolve references) were added.
Note: This package doesn't check for unexpected additional properties when parsing data. All implemented data validation is assertion based, not running in release mode.
The implemented specifications are available here:
Installation #
| pub.dev | GitLab | Local |
|---|---|---|
dart pub add dart_aas |
dart pub add "dart_aas:{git:{url: https://git.rwth-aachen.de/co2for-it/s3i/dart_aas.git, ref: <branch>}}" |
dart pub add "dart_aas:{path: ../dart_aas} |
| For most use cases | To get the latest in-development changes | For dart_aas developers testing higher level projects. |
Getting Started #
Please follow the installation procedure and then run the following:
import 'package:dart_aas/dart_aas.dart';
final api = AASapi().getAssetAdministrationShellRepositoryAPIApi();
final String aasIdentifier = BYTE_ARRAY_DATA_HERE; // String | The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)
try {
api.deleteAssetAdministrationShellById(aasIdentifier);
} catch on DioException (e) {
print("Exception when calling AssetAdministrationShellRepositoryAPIApi->deleteAssetAdministrationShellById: $e\n");
}
You can find a more thorough example in the example/ directory.
Example for manually de-/serializing classes #
void main() {
AssetAdministrationShell? aas = standardSerializers
.deserializeWith(AssetAdministrationShell.serializer, 'serialized');
}
Roadmap #
This package has not yet reached a stable version 1.0.0. Breaking changes may occur without notice until that version is reached.
The following changes are planed:
- Clean up todos across code
- Replace SubmodelsElements
.copyAPI with.copyWithAPI for all model classes - Implement aas namespaces
- Implement full reference resolving – "parity with python basyx-python-sdk"
- Maybe implement other specifications: https://industrialdigitaltwin.io/aas-specifications/index/home/index.html