Metadata schema
For useful data interchange with tskit-python
, we need to define metadata schema.
There are currently several points slowing down a rust API for schema:
- It is not clear which
serde
formats are compatible with metadata on the Python side. - Experiments have shown that
serde_json
works withtskit-python
.- Ideally, we would also like a binary format compatible with the Python
struct
module.
- Ideally, we would also like a binary format compatible with the Python
- However, we have not found a solution eliminating the need to manually write the
schema as a string and add it to the tables.
Various crates to generate JSON schema from rust structs return schema that are over-specified
and fail to validate in
tskit-python
. - We also have the problem that we will need to add some Python to our CI to prove to ourselves that some reasonable tests can pass.