This release implements the following versions of the AAS specification:
Specification | Version |
---|---|
Part 1: Metamodel | v3.0.1 (01001-3-1) |
Schemata (JSONSchema, XSD) | v3.0.8 (IDTA-01001-3-0-1_schemasV3.0.8) |
Part 2: API | v3.0 (01002-3-0) |
Part 3a: Data Specification IEC 61360 | v3.0 (01003-a-3-0) |
Part 5: Package File Format (AASX) | v3.0 (01005-3-0) |
Version 1.1 of the BaSyx-Python SDK comes with a refactor of the GitHub repository. We decided for a monolithic repository structure to enable multiple packages inside this one repository. This way we can keep all packages interoperable with each other, while allowing users to only install what they need in their projects.
Most notably, we now have a working implementation of the "Specification of the Asset Administration Shell Part 2 API", which comes with an executable server Docker image!
For more information, see server.
What's changed:
Changelog
- Notable
- Refactor towards a Monolithic Repository Structure:
- Drop support for Python <= 3.8 - We now support Python 3.9 to 3.12
- Make the interfaces of the JSON and XML adapters coherent. Todo: Say here what this means precisely, reference examples/tutorials
- Improvements
- Adapter
- Make XML and JSON interfaces coherent
- adapter.xml: Verify declared namespaces before deserializing
- adapter.xml: Improve element formatting in error messages
- adapter.aasx: Improve error messages
- adapter.aasx: Allow deleting files from
SupplementaryFileContainer
- adapter.xml, test.adapter.xml: Add lxml typechecking
- Dependencies
- Continuous Integration
- Documentation
- Readme: Fix the getting started
- Readme: Add Release Schedule
- examples: Fix typos in tutorials
- examples.tutorial_storage: Fix assertion
- adapter.aasx: improve
AASXWriter
docstring - [setup: Update development status to Production/Stable](setup: Update development status to Production/Stable)
- Update Copyright Notices
- Improve the documentation of the
PyECMA376-2
intersphinx - Remove lxml intersphinx workaround
- Adapter
- Bugfixes:
- Fix negative XSD range edge cases
- backend, model: Remove calls to trivial super().init() methods
- Incorrect parameter type hint or method realization of write_aas_xml_file()
- model.datatypes: Fix error when copying
Dates
- Add setter func for
base.HasKind.kind
- basyx.adapter: Allow empty strings in XML deserialization for some attrs
For further information, see Release Plan 1.1.0 (Python).