conda-forge / sympy-feedstock

A conda-smithy repository for sympy.
BSD 3-Clause "New" or "Revised" License
3 stars 15 forks source link

Different handling of `antlr-python-runtime` dependency. #46

Closed xhochy closed 2 years ago

xhochy commented 2 years ago

Comment:

sympy has optional features that depend on a specific minor version of antlr-python-runtime as checked in its code: https://github.com/sympy/sympy/blob/ab2602af0f52c916077ea5b505e3f218d3cac33b/sympy/parsing/autolev/_parse_autolev_antlr.py#L19 If these features are not used, the antlr-python-runtime constraints are irrelevant for the end user.

In other packages, we handle these extra requirements by adding another output, e.g. sympy-antlr or sympy-autolev that then adds the correct antlr-python-runtime requirement. Would that be an acceptable solution here, too?

The use case here is to use hydra-core in the same environment as sympy. hydra-core supports version 4.8 and 4.9 and sympy supports only 4.7 and 4.10 of antlr-python-runtime. I'll try to get the mentioned packages all to using ANTLR 4.10 but that will only solve the issue temporarily.

asmeurer commented 2 years ago

That sounds fine to me. I'm also fine with just removing from the feedstock. conda wouldn't install the correct version anymore, but the runtime checks would still be there.

Ideally we'd replace antlr with something else that doesn't require this level of pinning.

xhochy commented 2 years ago

That sounds fine to me. I'm also fine with just removing from the feedstock. conda wouldn't install the correct version anymore, but the runtime checks would still be there.

Implemented this in https://github.com/conda-forge/sympy-feedstock/pull/48