Skip to content

To what extend do we enforce a language for adapter configuration files #32

@uekerman

Description

@uekerman

To what extend should the adapter schema enforce the language of the adapter configuration file?

v0.2 of the guidelines say:

- [ ] R.10: The configuration follows the [preCICE Adapter and Tooling Configuration Schema](https://github.com/precice/preeco-orga/blob/main/adapter-config-schema/preatcs.json), either directly in JSON or indirectly via LLM-based auto-conversion. Using the standard name `precice-adapter-config.json` is possible (if JSON). Validating a JSON configuration against a schema can be done with the Python library [jsonschema](https://pypi.org/project/jsonschema/) or via the [JTutor GUI](https://validationproofs.oa.r.appspot.com/), for example.

(we should actually remove the "LLM-based" and allow any conversion)

So, we currently do not enforce any format and there are good reasons for this as summarized by @MakisH: #18 (comment)

Should we still tend towards a certain configuration language and if yes, which one?

If for a certain adapter or tool, there is no good reasons to use a solver-specific configuration, we could still weakly recommend using either YAML of JSON. This could further improve interoperability, since the conversion could be skipped.

Pro JSON:

  • Currently widely used in the preECO ecosystem. Inertia.
  • Since the schema is currently in JSON, we do not require conversion for validation.
  • Better tooling support? For YAML, we have to go via yaml-cpp for CPP codes?

Pro YAML:

  • Easier to read and write for humans.

Metadata

Metadata

Assignees

No one assigned

    Labels

    schemaRelated to the adapter config schema

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions