Skip to content

Commit d4beffa

Browse files
s-heppnerFrosty2500JGrothoffzrgtmoritzsommer
authored
Update develop with state of main (#405)
* fix some typos * fix README.md * tutorial_serialization_deserialization: Fix missing import (#363) We add a missing import statement of `basyx.aas.adapter.json`. Fixes #352 * README.md: Fix typo in Markdown Link * compliance-tool: Fix compliance tool imports and unitests (#356) Currently, there are several wrong imports and outdated unittests in the `compliance-tool` package. This fixes these issues. Fixes #354 * aasx.adapter: Fix `semantic_id` type deserialization of `ModelReference` (#337) Previously, if the `semantic_id` was a `ModelReference`, it very often had the generic `type` "`model.Referable`" instead of the actual type of the object it points to. This lead to a bug in the AASX writer, where `ConceptDescription`s were not written to the AASX, even though they existed in the `ObjectStore`. This fixes this problem by tackling three separate points: 1. In `json_deserialization.py`, we now infer the `type` of the `ModelReference` via the Reference's last `Key`. This is more of a hotfix and issue #367 tracks the creation of a better solution. 2. In `aasx.py`, an unneccessary `logger.info` call is removed, that previously cluttered the output of the writer if a `semantic_id` was not pointing to a `ConceptDescription`, which is not something worth noting. Furthermore, we improve other log messages. 3. In `examples.data._helper`, we improve the test for `semantic_id` equality, namely by comparing the `ModelReference`'s attributes explicitly, when it happens to be one, instead of relying on simple string comparision. * sdk: Update version of pyecma dependency in pyproject.toml This updates the minimum version of the dependency `pyecma376` in the `pyproject.toml`, ensuring that our AASX files allow for spaces in file names. Fixes #236 * sdk: Move testing depencies to dev section in pyproject.toml (#369) Previously, some `sdk` dependencies, that are only necessary for testing were included in the mandatory dependencies. For improving package footprint, these are moved into the `[dev]` section of optional dependencies in the `pyproject.toml`. --------- Co-authored-by: s-heppner <[email protected]> * basyx.provider: Add SetObjectStore to provider (#340) This adds a new `SetObjectStore` that is backed by a set. Its main advantage is that it does not have the problem with not updated `Identifier`s that the `DictObjectStore` has (See #216). We make sure to document the differences between `DictObjectStore` and `SetObjectStore` in their respective class docstrings. * scripts.set_copyright_year: Add a CI check to ensure the copyright is updated (#344) Previously, there was no check if the copyright statement on top of each file (due to the MIT license) was up to date. This adapts our `update_copyright_year.sh` script with a checking mode to determine if any file needs adapting and then adds this check to the CI. At the same time, this also updates all necessary files to the year 2025. Fixes #260 Fixes #331 --------- Co-authored-by: s-heppner <[email protected]> * sdk/.readthedocs.yaml: Install dependencies from pyproject.toml (#359) Previously, we were accidentally still trying to install dependencies from the already deleted `requirements.txt` when generating the documentation. This fixes this and installs them instead from the `pyproject.toml`. Co-authored-by: s-heppner <[email protected]> * compliance_tool: add pyproject.toml (#361) This refactors away from `setup.py` and towards `pyproject.toml` for the `compliance_tool` package. At the same step, we also update the relevant CI checks as well. * http.py: Fix redirects, bugs, and SDK installation (#362) This fixes the redirects from the AAS repository paths to the Submodel repository paths to work properly. Furthermore, the installation of dependencies inside the server Docker image was previously using the latest release of the SDK. This means, that we could not ensure that each commit in the `main` branch of our monorepo would be interoperable between SDK and server, as a PR would have to be closed in order for the server CI would not report any errors. In order to fix this, issue in the development process, the server Docker image now installs the SDK from the local repository, rather than from GitHub. Lastly, this fixes a wrong status code reported when specifing a model that is malformed or missing information. The specification expects a 400 (Bad Request) response, but the server sent a 422 (Unprocessable Content). Fixes #315 * CONTRIBUTING.md: Improve codestyle and testing section (#376) Previously, the section "Codestyle and Testing" was outdated, still from the time where there was only the SDK inside this repository. This greatly extends the section, renaming it to "Code Quality" and introducing subsections for "Codestyle" and "Testing", where we describe how to run the necessary tests locally on the developer's machine for each of the packages inside this monorepository. Fixes #353 * compliance_tool: Remove setup.py (#377) We previously refactored the compliance_tool from `setup.py` to `pyproject.toml` (See #361). However, somehow the `setup.py` slipped through and is still in the `compliance_tool` directory. This removes the `setup.py` from the `compliance_tool` completely. * Add CI job to release compliance-tool to PyPI (#382) This adds a job `compliance-tool-publish` to the `release.yml` that automatically publishes the compliance-tool package to PyPI upon release. It is simply copied from the SDK job, with adapted paths. * sdk: Update lxml and mypy dependency in pyproject.toml (#392) * sdk: Update lxml dependency in pyproject.toml Previously, the `lxml` dependency in the `pyproject.toml` was pinned to versions `>=4.2,<5`. This caused a faulty installation via `pip` on Windows due to missing binary wheels. This updates the `lxml` dependency to versions `>=5.3` to resolve the issue. Additionally, the `mypy` dependency in the `pyproject.toml` was unpinned, leading to the installation of the latest version. The recent release of `mypy 1.16.0` introduced changes not yet supported by our codebase, resulting in CI pipeline failures. This restricts the `mypy` dependency to version `1.15.0` until we have proper support for `1.16.0` and its new features. Fixes #391 --------- Co-authored-by: Sercan Sahin <[email protected]> Co-authored-by: Frosty2500 <[email protected]> Co-authored-by: Julian Vogel <[email protected]> Co-authored-by: Igor Garmaev <[email protected]> Co-authored-by: Moritz Sommer <[email protected]>
1 parent 2a12d13 commit d4beffa

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

sdk/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ dependencies = [
4343

4444
[project.optional-dependencies]
4545
dev = [
46-
"mypy",
46+
"mypy==1.15.0",
4747
"pycodestyle",
4848
"codeblocks",
4949
"coverage",

0 commit comments

Comments
 (0)