rattler
rattler copied to clipboard
PEP-440 compliant Version Spec flagged as "regular expression"
Hi,
Our teams regularly use a wildcard to refer to a compatible range of versions (e.g. pip=24.2.* but also pyspark=3.4.*+aws). This works just fine with both conda and mamba, and their respective build tooling condabuild and boa. Rattler however does not allow this, flagging the dependency specs as "regular expressions" based on the presence of either a star (i.e. our case) or a dollar sign.
For the first case, one might argue that because the '.*' is implicitly applied, having no wildcard at the end resolves just the same. True, but on the other hand PEP-440 clearly states the usage of the wildcard does have its merrits.
For the second case, pyspark=3.4+aws does not resolve the same as pyspark=3.4.*+aws. For one reason or the other the first one resolves to 3.4.0+aws while the one with the wildcard correctly resolves to the latest patch version, e.g. 3.4.3+aws.
So I am wondering if this has been done by design and using a wildcard is not be allowed? Or was it just the intention to exclude regular expressions and are wildcards unintentionally blocked by the same logic.
Thanks
I think you struck an interesting edge case. I think it makes sense to support this!