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

PEP-440 compliant Version Spec flagged as "regular expression" #994

Open
pbauwens opened this issue Dec 19, 2024 · 1 comment
Open

PEP-440 compliant Version Spec flagged as "regular expression" #994

pbauwens opened this issue Dec 19, 2024 · 1 comment

Comments

@pbauwens
Copy link

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

@baszalmstra
Copy link
Collaborator

I think you struck an interesting edge case. I think it makes sense to support this!

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