Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: use something like pkl instead of YAML #417

Closed
jaanli opened this issue Jun 1, 2024 · 1 comment
Closed

Proposal: use something like pkl instead of YAML #417

jaanli opened this issue Jun 1, 2024 · 1 comment

Comments

@jaanli
Copy link

jaanli commented Jun 1, 2024

Apple’s pkl (or python bindings: https://github.com/jw-y/pkl-python), or https://github.com/rails/jbuilder, or Cue could all help reduce deploy times and number of bugs.

over many mosaic framework training sessions, the common issue is that context switching is necessary: a bug due to a typo in a YAML file is only apparent in the browser, not the editor.

this can be remedied by using something like beartype does (runtime static type checking library for Python).

could a language like pkl help catch some of these bugs?

omegaconf is another example that is more heavyweight.

happy to help scope / implement this if needed, we use mosaic across @onefact.

@jaanli jaanli changed the title Proposal: use something like pkl or Proposal: use something like pkl instead of YAML Jun 1, 2024
@jheer
Copy link
Member

jheer commented Jun 1, 2024

I think some of this falls under #395? Feel free to share suggestions for a Python API there.

The spec is based on JSON. YAML can be a convenient way to write JSON, but you can always explore alternatives and share back your experiences.

Also note that the mosaic-spec package now supports generation of JSON schemas, which you can use to catch bugs, support autocomplete, etc for both JSON and YAML. We will be rolling out publishing of JSON schemas and public $schema urls soon!

@jheer jheer closed this as completed Jun 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants