ceps icon indicating copy to clipboard operation
ceps copied to clipboard

CEP request: Document MatchSpec

Open chenghlee opened this issue 1 year ago • 1 comments

Checklist

  • [X] I added a descriptive title
  • [X] I searched open requests and couldn't find a duplicate

What is the idea?

MatchSpec is a fundamental conda construct, used in various places for things like dependency specifications and search (though arguably MatchSpec should not be used for the latter). However, to the best of my knowledge, there is currently no formal specification for MatchSpec beyond "what's in the code" (e.g., comments in conda/models/match_spec.py and tests/models/test_match_spec.py) and random bits of institutional/community knowledge.

We should provide such an official specification so developers and users in the conda ecosystem have a shared understanding of what MatchSpec is, and what it does and does not support.

Why is this needed?

Because "is this a valid MatchSpec?" is (a) an oddly difficult or (b) alarming question to answer; as in, conda install '*=*=*' does not result in an immediate InvalidMatchSpec error.

What should happen?

At least one CEP detailing what we currently support (and maybe don't support) as MatchSpecs. Note that we will probably want to evolve this specification to remove cases like *=*.

Additional Context

No response

chenghlee avatar Jun 03 '24 20:06 chenghlee

Fiiine: #82. Just started by copying over the existing docstrings and making it a bit more consistent.

jaimergp avatar Jun 04 '24 14:06 jaimergp