conda / ceps

Conda Enhancement Proposals
Creative Commons Zero v1.0 Universal
19 stars 24 forks source link

Revamp the `conda/schemas` repository #52

Open jaimergp opened 1 year ago

jaimergp commented 1 year ago

Note: I was going to post this in conda/schemas directly but I can't tag the steering team from there, hence the issue here.

We have a few CEPs coming up (see #51 #8 #50) where it has been suggested that we document the proposed standards with an accompanying JSON schema in the conda/schemas repo.

As I start writing some of these schemas down, I will be using pydantic to write reusable models that can auto export JSON documents. I wonder if there's an interest in doing this retroactively for existing models that have not been standardized yet, so if this catches up, I'd like to propose the following repository structure:

Eventually I can foresee how the models directory becomes a collection of well structured modules with no extra dependencies (other than Pydantic) that would be best served as an importable Python package. Downstream packages (maybe including conda!) could benefit from using these models to transparently add typing their code paths, or at least compare their custom implementations to accepted community standards in their test suites.

I'd love to hear thoughts from @conda-incubator/steering! Thanks!

jezdez commented 1 year ago

👍 Good idea!

travishathaway commented 1 year ago

I noticed that the .condarc file is not currently listed in the https://github.com/conda/schemas repositories, but if you would like to add that too, I have actually already done a lot of the work. You can check it out here (it's a pydantic model):

jaimergp commented 1 year ago

Lol I was just tagging you in the PR. Thanks for the tip!

jaimergp commented 1 year ago

For reference, Microsoft seems to have some schemas for conda here too: https://github.com/microsoft/vscode-python/tree/main/schemas

jezdez commented 1 year ago

For reference, Microsoft seems to have some schemas for conda here too: microsoft/vscode-python@main/schemas

😬