bids-standard / pybids-light

A prospective light-weight tool for querying BIDS datasets using the specification schema. May be integrated into pybids in the future.
MIT License
1 stars 1 forks source link

Pulling and managing versions of the schema #2

Open tsalo opened 3 years ago

tsalo commented 3 years ago

Ultimately, we will want to have the schema versioned, so you can run pybids-light with different rules based on which version you're using, but that won't be very important until BIDS 2.0 starts going. I'm comfortable avoiding the version question until later, but we should figure out how we want to pull the schema. Should we just grab from bids-specification's main branch?

yarikoptic commented 3 years ago

Version of schema indeed should be the one of the schema used from bids-specification. Version of the library. - a different matter, and more over library ideally should support multiple versions of the schema, and use the one specified in the dataset. I don't think bids 2.0 aspect of unrelated. Or am I missing the point?

tsalo commented 3 years ago

By "library" do you mean bids-schema or do you mean Python tools implemented within bids-specification? I'm honestly still not sure where the schema-related code should go.

Version of the library. - a different matter, and more over library ideally should support multiple versions of the schema, and use the one specified in the dataset.

I agree that pybids-light should index the dataset using the version of the schema matched to the version of the specification specified in the dataset. However, since the specification is backwards-compatible (at least until BIDS 2.0) and we don't have schema files generated for old versions of the specification, I don't think it should be a major concern just yet. At least not until we start having to worry about older datasets that wouldn't be compatible with the current version of the specification, which I don't think should happen until 2.0 is released.

yarikoptic commented 3 years ago

By library I meant pybids-light . Re backward compatibility of the spec - do we have a clear definition of what it actually means? ;-)

tsalo commented 3 years ago

My assumption is that any dataset that was valid for any version >= 1.0.0 should be valid now, with the caveat that there may be deprecation warnings. I wasn't involved with BIDS from the start, though, so I'm not actually that familiar with changes made pre-1.2.0 or so. It could be that backwards-incompatible changes were made back then.