chanzuckerberg / cryoet-data-portal-backend

CryoET Data Portal API server & ingestion scripts
MIT License
1 stars 2 forks source link

Restructure schema folder and use separate versioning for core/, api/, and ingestion_config/ schemas #189

Closed daniel-ji closed 1 month ago

daniel-ji commented 1 month ago

Note: maybe not worth merging until #160?

Refactored / restructured schema folder to as follows:

schema/ folder contains a .version file that stores the latest versions of each schema: core, api, and ingestion_config (formally known as dataset_config). The three are separately versioned, and each have their own codegen/ folder to store auto-generated code. See the comments in the files for more details about the changes.

Did not commit the moved metadata-docs/, would that be desired?

Note: I have renamed many of the schema-related folders and references to ingestion_config instead of dataset_config (because they are no longer "dataset" configuration files, but could also be deposition configuration files and whatnot) as per the suggestion of @jgadling, but have not yet done that for the ingestion_tools/dataset_config. I can do that in this PR or another one, whatever works best.

Also updated linkml to 1.8.2 here, which has some bug fixes regarding linkml Pydantic and JSONSchema generation (https://github.com/linkml/linkml/releases/tag/v1.8.2, #2201, #2225, #2252)