Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
python-version: ["3.8", "3.10", "3.12"]
env:
COUCHDB_ADMIN_PASSWORD: "yo0Quai3"
AAS_SPECS_RELEASE_TAG: "V3.0.7"
services:
couchdb:
image: couchdb:3
Expand All @@ -28,6 +29,11 @@ jobs:
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Collect schema files from aas-specs
run: |
mkdir -p ./test/adapter/schema
curl -sSL -o ./test/adapter/schema/aasJSONSchema.json https://raw.githubusercontent.com/admin-shell-io/aas-specs/${{ env.AAS_SPECS_RELEASE_TAG }}/schemas/json/aas.json
curl -sSL -o ./test/adapter/schema/aasXMLSchema.xsd https://raw.githubusercontent.com/admin-shell-io/aas-specs/${{ env.AAS_SPECS_RELEASE_TAG }}/schemas/xml/AAS.xsd
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@

# customized config files
/test/test_config.ini
# Schema files needed for testing
/test/adapter/schemas
17 changes: 1 addition & 16 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Eclipse BaSyx Python SDK
========================

Copyright 2019-2022 the Eclipse BaSyx Authors.
Copyright 2019-2024 the Eclipse BaSyx Authors.

The Eclipse BaSyx Python SDK was started as a Python implementation of the Industry 4.0 Asset Administration Shell
under the name of PyI40AAS at the Chair of Process Control Engineering, RWTH Aachen University
Expand All @@ -13,18 +13,3 @@ Declared Project License
------------------------
The artifacts of this project are made available under the terms of the MIT License.
Please refer to the LICENSE file for more information.


Third-party Work in this Repository
-----------------------------------
This project includes XSD and JSON Schema files, developed at
Plattform Industrie 4.0, Bundesministerium für Wirtschaft und Energie (https://www.plattform-i40.de)

Published in "Details of the Asset Administration Shell – Part 1"
at https://www.plattform-i40.de/PI40/Redaktion/DE/Downloads/Publikation/Details-of-the-Asset-Administration-Shell-Part1.html

under the terms of the Creative Commons Attribution-NoDerivs 3.0 Germany License (CC BY-ND 3.0 DE)
https://creativecommons.org/licenses/by-nd/3.0/de/deed.en

These files are located at `basyx/aas/adapter/json/aasJSONSchema.json` and
`basyx/aas/adapter/xml/{AAS,AAS_ABAC,IEC61360}.xsd`.
18 changes: 1 addition & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ The BaSyx Python SDK project provides the `basax.aas` Python package with 6 subm
* `basyx.aas.model`: The AAS metamodel implemented in python
* `basyx.aas.adapter`: Adapters for various file formats
* `basyx.aas.backend`: Backend infrastructure for storing and retrieving AAS objects
* `basyx.aas.compliance_tool`: Compliance checker for AAS files
* `basyx.aas.util`: Provides utilities
* `basyx.aas.examples`: Example data and tutorials

Expand Down Expand Up @@ -151,22 +150,7 @@ A detailed, complete API documentation is available on Read the Docs: https://ba

### Compliance Tool

The Eclipse BaSyx Python SDK project contains a compliance tool for testing xml and json files is provided in the
`basyx.aas.compliance_tool`-package. Following functionalities are supported:

* create an xml or json file compliant to the official schema containing example Asset Administration Shell elements
* create an aasx file with xml or json files compliant to the official schema containing example Asset Administration
Shell elements
* check if a given xml or json file is compliant to the official schema
* check if a given xml, json or aasx file is readable even if it is not compliant to the offical schema
* check if the data in a given xml, json or aasx file is the same as the example data
* check if two given xml, json or aasx files contain the same Asset Administration Shell elements in any order

Invoking should work with either `python -m basyx.aas.compliance_tool.cli` or (when installed correctly and PATH is set
correctly) with `aas-compliance-check` on the command line.

For further usage information consider the `basyx.aas.compliance_tool`-package or invoke with
`python -m basyx.aas.compliance_tool.cli --help` respectively `aas-compliance-check --help`.
The compliance tool functionality moved to [github.com/rwth-iat/aas-compliance-tool](https://github.com/rwth-iat/aas-compliance-tool).

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion basyx/aas/adapter/_generic.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2020 the Eclipse BaSyx Authors
# Copyright (c) 2023 the Eclipse BaSyx Authors
#
# This program and the accompanying materials are made available under the terms of the MIT License, available in
# the LICENSE file of this project.
Expand Down
2 changes: 1 addition & 1 deletion basyx/aas/adapter/aasx.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2020 the Eclipse BaSyx Authors
# Copyright (c) 2024 the Eclipse BaSyx Authors
#
# This program and the accompanying materials are made available under the terms of the MIT License, available in
# the LICENSE file of this project.
Expand Down
3 changes: 0 additions & 3 deletions basyx/aas/adapter/json/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@
AAS objects within a JSON file and return them as BaSyx Python SDK
:class:`ObjectStore <basyx.aas.model.provider.AbstractObjectStore>`.
"""
import os.path

from .json_serialization import AASToJsonEncoder, StrippedAASToJsonEncoder, write_aas_json_file, object_store_to_json
from .json_deserialization import AASFromJsonDecoder, StrictAASFromJsonDecoder, StrippedAASFromJsonDecoder, \
StrictStrippedAASFromJsonDecoder, read_aas_json_file, read_aas_json_file_into

JSON_SCHEMA_FILE = os.path.join(os.path.dirname(__file__), 'aasJSONSchema.json')
Loading