optimade-python-tools icon indicating copy to clipboard operation
optimade-python-tools copied to clipboard

Implement Boolean values in optimade-python-tools.

Open JPBergsma opened this issue 2 years ago • 4 comments

With Materials-Consortia/OPTIMADE#348 Boolean values were introduced to the OPTIMADE Standard. We will have to test how the current optimade-python tools handles boolean values and adjust the code so it is complient with the new OPTIMADE specification.

JPBergsma avatar Jun 09 '22 11:06 JPBergsma

Related PR where the development grammar was added https://github.com/Materials-Consortia/optimade-python-tools/pull/879 (and issue: https://github.com/Materials-Consortia/optimade-python-tools/issues/1018)

We also need to decide how we want to support newer versions of the specification going forward, e.g., whether we will allow boolean queries at v1.1 URLs...

ml-evs avatar Jun 09 '22 13:06 ml-evs

We also need to decide how we want to support newer versions of the specification going forward, e.g., whether we will allow boolean queries at v1.1 URLs...

I am also thinking about this for OPTIMADE-Filter Perl library. I guess it is better to wait until OPTIMADE v1.2 proper to implement Boolean value and query support. As for OPTIMADE-Filter, I have a branch to try out the new grammar features, but I will withhold merging until OPTIMADE v1.2 release.

merkys avatar Jun 09 '22 13:06 merkys

As for OPTIMADE-Filter, I have a branch to try out the new grammar features, but I will withhold merging until OPTIMADE v1.2 release.

We have a similar approach, where the boolean values have been added to a v1.2~development grammar. I think we will probably only be able to target 1 OPTIMADE minor version with each version of this package, otherwise things will get too complicated.

ml-evs avatar Jun 09 '22 13:06 ml-evs

We have a similar approach, where the boolean values have been added to a v1.2~development grammar. I think we will probably only be able to target 1 OPTIMADE minor version with each version of this package, otherwise things will get too complicated.

We can in principle support several versions as long as they are backwards compatible. Internally this would mean using the most recent released grammar and refusing newer constructs when a client indicates they are using older grammar.

merkys avatar Jun 09 '22 13:06 merkys