-
Notifications
You must be signed in to change notification settings - Fork 40
Refactor server start-up options #418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Previously, the repository server used one and the same folder for loading data during start-up and storing it persistently. This resulted in a mixture of input AAS/Submodel files (AASX, JSON and XML) and persistently stored AAS/Submodel files from the `LocalFileObjectStore` (JSON). This separates the server's input and storage into two different directories to prevent their files being mixed. Moreover, the option to overwrite existing AAS/Submodels in the storage got added and the option to persistently store data got adapted. In accordance with the new changes, the `README` and `Dockerfile` were adapted to present the changes to the end users. Fixes eclipse-basyx#404
Contributor
|
I suppose the CI fails due to #417? Edit: Disregard this. |
s-heppner
reviewed
Oct 9, 2025
s-heppner
requested changes
Oct 9, 2025
Previously, `ConceptDescription` were not parsed properly due to the type missing in `app.interfaces.base.HTTPApiDecoder.type_constructables_map`, specifying which types are constructable. This adds this line Fixes eclipse-basyx#395
The current version of `lxml>=4.2,<5` fails on modern Debian 13 machines, as there is a dependency conflict with a base library. This adapts both `lxml` and `pyecma376-2` versions to work with the new Linux base libraries. Fixes eclipse-basyx#417
…basyx#410) This introduces several utility methods and refactorings for `Referable` objects and `Key` handling. `idShortPath` Utility Functions - Add `Referable.get_identifiable_root()` to retrieve the root `Identifiable` object of a referable. - Add `Referable.get_id_short_path()` to generate an `idShortPath`, useful in client/server contexts. - Add `Referable.parse_id_short_path` to handle `idShortPath` strings - Add `Referable.build_id_short_path` to generate `idShortPath` string from list[str] - Add `Referable.validate_id_short_path` to check if the `idShortPath` is correct - Refactored `get_referable`, so that now it can accept `id_short_path` as a string `Key` Handling - Add `find_registered_referable_type_in_key_types_classes()` to encapsulate usage of `KEY_TYPES_CLASSES`. - Refactor `Key.from_referable` to leverage the new method. Tests - Add unit tests for the new `Referable` methods. - Fix minor typos in `test_base.py`. Fixes eclipse-basyx#414
I always forget to run it locally...
s-heppner
approved these changes
Oct 27, 2025
Contributor
s-heppner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you very much!
Merged
zrgt
added a commit
to rwth-iat/basyx-python-sdk
that referenced
this pull request
Nov 18, 2025
Previously, the repository server used one and the same folder for loading data during start-up and storing it persistently. This resulted in a mixture of input AAS/Submodel files (AASX, JSON and XML) and persistently stored AAS/Submodel files from the `LocalFileObjectStore` (JSON). This separates the server's input and storage into two different directories to prevent their files being mixed. Moreover, the option to overwrite existing AAS/Submodels in the storage got added and the option to persistently store data got adapted. In accordance with the new changes, the `README` and `Dockerfile` were adapted to present the changes to the end users. Fixes eclipse-basyx#404 --------- Co-authored-by: s-heppner <[email protected]> Co-authored-by: Igor Garmaev <[email protected]>
s-heppner
added a commit
that referenced
this pull request
Dec 5, 2025
Prepare Release v2.0.0 # Release Notes Version 2.0.0 of the BaSyx-Python SDK comes with a major refactoring of the server and a renewed concept for data persistence. Previously, the server code was split between the `sdk` and `server` packages (due to historic development of the code). Now all the code relevant just for the server is located in `server`, where it belongs. Since this means, some code that was previously in `sdk` is not there anymore, this is a breaking change and warranted the new major release. > [!note] > This release does not have any changes in implemented AAS specification versions. It is the preparotory release in order to get ready for the new versions of the specifications, as well as new features for the SDK, such as Registry and Discovery server. > [!warning] > Due to these major refactorings, there were some backward incompatible changes. Please check the documentation, if you encounter any issues. # Changelog **Notable:** - Backward Incompatible: Refactor server functionality from `sdk` to `server` (See: #388) - Backward Incompatible: Refactor `backend` concept for data persistence (See: #370) - Backward Incompatible: Refactor server `start-up` options (See: #418) - Remove support for Python 3.9 (as it is EoL) (See #433) **Improvements:** - Clarify documentation of running the server with Docker (See: #398) - Document running the server without Docker (See: #403) - Improve XML serialization (See: #406) - Improve server reading of JSON and XML files (See: #408) - Add more utility methods for `Referable` and `Key` handling (See: #410) **Bugfixes:** - Fix type issues found with a new version of `mypy` (See: #399) - Fix parsing of `ConceptDescription`s in the server (See: #420) - Update `pyecma376-2` and `lxml` dependencies (See: #419)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, the repository server used one and the same folder for loading data during start-up and storing it persistently. This resulted in a mixture of input AAS/Submodel files (AASX, JSON and XML) and persistently stored AAS/Submodel files from the
LocalFileObjectStore(JSON).This separates the server's input and storage into two separate directories, preventing their files from being mixed. Moreover, the option to overwrite existing AAS/Submodels in the storage was added and the option to persistently store data was adapted. In accordance with the new changes, the
READMEandDockerfilewere adapted to present the changes to the end users.Fixes #404