From c792efc2dcdddd63d1806c8ba830a30803fece46 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 7 Nov 2025 15:24:43 +0000 Subject: [PATCH 1/6] Add schema checker job to CI --- .github/workflows/ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1edb8040c..f2f0e43eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -64,3 +64,13 @@ jobs: with: submodules: true - run: make audit_spelling + + schema-validation: + name: Audit the schemas provided with the specification + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - run: make schemas From 171ae308f2830f8c22f8e6ea30159ff79ba27d78 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 7 Nov 2025 15:41:11 +0000 Subject: [PATCH 2/6] Bump optimade-property-tools and install Python deps --- .github/workflows/ci.yml | 4 +++- dependencies/submodules/optimade-property-tools | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f2f0e43eb..9701bf20a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,4 +73,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - - run: make schemas + - run: + pip install -r dependencies/submodules/optimade-property-tools/requirements.txt + make schemas diff --git a/dependencies/submodules/optimade-property-tools b/dependencies/submodules/optimade-property-tools index 93e4c6f92..939bb1f2d 160000 --- a/dependencies/submodules/optimade-property-tools +++ b/dependencies/submodules/optimade-property-tools @@ -1 +1 @@ -Subproject commit 93e4c6f925783f47a51883f4f80965a82a8bf02b +Subproject commit 939bb1f2dc9a388470d16d086c409f17b5fc0a8e From 8080a22f66405d022bf9fa22f48332486091ec87 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 7 Nov 2025 15:47:49 +0000 Subject: [PATCH 3/6] linting --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9701bf20a..34de37273 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,6 +73,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - - run: + - run: pip install -r dependencies/submodules/optimade-property-tools/requirements.txt make schemas From d55caa694ab46b74265ac2e87f6fb29a8ce7470a Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 7 Nov 2025 16:08:48 +0000 Subject: [PATCH 4/6] Split jobs up --- .github/workflows/ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 34de37273..7da7dfd58 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,6 +73,8 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - - run: - pip install -r dependencies/submodules/optimade-property-tools/requirements.txt - make schemas + - name: Install dependencies + run: pip install -r dependencies/submodules/optimade-property-tools/requirements.txt + + - name: Validate schemas + run: make schemas From b9c5a61244b06f9fbc3d363830d6be788f64cf5a Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 7 Nov 2025 16:18:46 +0000 Subject: [PATCH 5/6] Linting --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7da7dfd58..860eb0729 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - - name: Install dependencies + - name: Install dependencies run: pip install -r dependencies/submodules/optimade-property-tools/requirements.txt - name: Validate schemas From 7105e493a45d955862559f67b3ca107ec19eb748 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Mon, 17 Nov 2025 14:02:16 +0000 Subject: [PATCH 6/6] Fix CHANGELOG typo --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 397f7fa5e..fd86529a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,7 @@ Minor OPTIMADE releases are always intended to be backwards-compatible for clien ## New features -- **Trajectories endpoint** ([#377](https://github.com/Materials-Consortia/OPTIMADE/pull/377), [#481](https://github.com/Materials-Consortia/OPTIMADE/pull/481)) -): A new trajectories entry type has been added to the specification to share data belonging to ordered sequences of structures, such as those arising from molecular dynamics simulations or geometry optimizations. +- **Trajectories endpoint** ([#377](https://github.com/Materials-Consortia/OPTIMADE/pull/377), [#481](https://github.com/Materials-Consortia/OPTIMADE/pull/481)): A new trajectories entry type has been added to the specification to share data belonging to ordered sequences of structures, such as those arising from molecular dynamics simulations or geometry optimizations. In order to handle large individual entries, this endpoint makes use of the partial data protocol introduced in v1.2, with additional specialisations for slicing (e.g., the `dimension_slices` URL parameter) and representing dimensions that remain constant throughout a trajectory, whilst retaining the ability to filter using the normal OPTIMADE syntax via the `reference_frame` field. - **Provider-specific data types** ([#560](https://github.com/Materials-Consortia/OPTIMADE/pull/560)): Providers and namespaces can now define custom data types for their properties that let them use specific query semantics that differ from the standard OPTIMADE data types. For example, a provider could define a field that uses a string format for a field, but a custom data type that allows for e.g., `CONTAINS` queries to do something other than pure substring matching.