Skip to content

Conversation

@moritzsommer
Copy link
Contributor

@moritzsommer moritzsommer commented Jun 25, 2025

Previously, #386 proposed narrowing the scope of the build context for server/Dockerfile to /server. As a consequence, /sdk, which is required to build the server, would no longer be accessible. Locally, this would necessitate explicitly referencing /sdk as a second build context. When using the GitHub URL of this repository as build context instead of a local repository, this would additionally lead to inefficient data handling. Since Docker Compose does not yet support sparse checkouts, specifying subdirectories like /server as build context still results in the full repository being cloned. Consequently, although /sdk would be downloaded, it would be excluded from the narrowed build context and thus remain unavailable. Any attempt to include /sdk separately afterwards would result in the same data being downloaded again. As this is an inefficient solution, #386 is rejected.

This documents the decision of keeping the repository root as the build context of server/Dockerfile. A corresponding note was added in server/README.md.

Additionally, a mention of faulty line endings being a common error when building the Docker container has been added in server/README.md.

Fixes #386

Previously, eclipse-basyx#386 proposed narrowing the scope of the build context for
'server/Dockerfile' to '/server'. As a consequence, `/sdk`, which is
required to build the server, would no longer be accessible. Locally,
this would necessitate explicitly referencing `/sdk` as a second
build context. When using the GitHub URL of this repository as build
context instead of a local repository, this would additionally lead to
inefficient data handling. Since Docker Compose does not yet support
sparse checkouts, specifying subdirectories like `/server` as build
context still results in the full repository being cloned. Consequently,
although `/sdk` would be downloaded, it would be excluded from the
narrowed build context and thus remain unavailable. Any attempt to
include `/sdk` separately afterwards would result in the same data being
downloaded again. As this is an inefficient solution, eclipse-basyx#386 is rejected.

This documents the decision of keeping the repository root as the build
context of `server/Dockerfile`. A corresponding note was added in
`server/README.md`.

Additionally, a mention of faulty line endings being a common error when
building the Docker container has been added in `server/README.md`.

Fixes eclipse-basyx#386
@s-heppner
Copy link
Contributor

We can merge this PR even with failing CI (that are currently being fixed in other PRs), due to the fact that only the server/README.md is changed here.

@s-heppner s-heppner merged commit 8800bff into eclipse-basyx:develop Jul 15, 2025
13 of 15 checks passed
@s-heppner s-heppner deleted the fix/386 branch July 15, 2025 07:01
@s-heppner s-heppner mentioned this pull request Oct 27, 2025
zrgt pushed a commit to rwth-iat/basyx-python-sdk that referenced this pull request Nov 18, 2025
Previously, eclipse-basyx#386 proposed narrowing the scope of the build context for
'server/Dockerfile' to '/server'. As a consequence, `/sdk`, which is
required to build the server, would no longer be accessible. Locally,
this would necessitate explicitly referencing `/sdk` as a second
build context. When using the GitHub URL of this repository as build
context instead of a local repository, this would additionally lead to
inefficient data handling. Since Docker Compose does not yet support
sparse checkouts, specifying subdirectories like `/server` as build
context still results in the full repository being cloned. Consequently,
although `/sdk` would be downloaded, it would be excluded from the
narrowed build context and thus remain unavailable. Any attempt to
include `/sdk` separately afterwards would result in the same data being
downloaded again. As this is an inefficient solution, eclipse-basyx#386 is rejected.

This documents the decision of keeping the repository root as the build
context of `server/Dockerfile`. A corresponding note was added in
`server/README.md`.

Additionally, a mention of faulty line endings being a common error when
building the Docker container has been added in `server/README.md`.

Fixes eclipse-basyx#386
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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants