MLOS icon indicating copy to clipboard operation
MLOS copied to clipboard

external config improvements

Open bpkroth opened this issue 2 years ago • 1 comments
trafficstars

  • [x] unify json schema to a single top level schema
    • Idea is that it just selects subschemas based on class prefix e.g., "class": "mlos_bench.service.*" maps to --> "service-schema.json", "mlos_bench.environment.*" maps to --> "environment-schema.jsonc", etc.
    • #596
  • [ ] extend to allowing yml as input when reading configs (wishlist - not required)
    • still maps to the same schema, just a different input format
  • [x] register top level json schema with url pointing to this repo and file extensions like .mlos.jsonc, .mlos.json, .mlos.yml, .mlos.yaml at https://www.schemastore.org/json/
    • this allows the schemas to work without additional configurations in the IDE
    • useful for improving examples like https://github.com/microsoft/mlos-autotuning-template and https://github.com/Microsoft-CISL/sqlite-autotuning
    • https://github.com/SchemaStore/schemastore/pull/3402
  • [ ] rename internal config files to match the naming scheme published on schemastore.org (e.g., *.jsonc -> *.mlos.jsonc)
  • [x] add schema checking on the config dict objects as well (e.g., at object instantiation time, not just file read time)
    • there's a number of our unit tests that only use python defined configs and were missing errors
    • #543 did that

bpkroth avatar Oct 03 '23 17:10 bpkroth

quick wip branch: https://github.com/bpkroth/MLOS/tree/single-schema-definition-support

bpkroth avatar Nov 16 '23 17:11 bpkroth