-
Notifications
You must be signed in to change notification settings - Fork 49
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
Can we make antlr4-python3-runtime==4.7.2 dependency optional? #313
Comments
Any news on this issue ? |
Hey @thebaptiste, Thanks for the nudge. It's great to know that you're keen for this to happen. I am too. I'm keen to investigate and move this along, as this dependency pin is a ticking time 💣. It's certainly not fallen off my radar, but to be honest ATM I'm totally maxed-out on other project work. But I'll try to prioritize and get to it ASAP 👍 |
Or would it at least be possible to update to newer antlr dependency? Looking on conda-forge, many newer packages seem to want antlr4-python3-runtime 4.11.1. On a slightly separate note, if you are going to make a build without antlr as a dependency or with a newer antlr runtime, could you also make it available for py38 for at least 1 version? |
I had a go at updating the version in #368. It seems to work but I have not understood much... |
FYI #368 has now been merged |
So we hope for a new release on pypi soon ! |
To re-assure you: this is on the radar soon. |
Pinning would be an issue for Linux packages as most distributions install them in a global space (/usr) and cannot have multiple versions of the same package installed simultaneously. So they ship a single version and may patch upstream as needed. |
Definitely not removing it but I wonder if we can make it optional. I'm not sure if that is possible. I'll give it a go... |
FWIW just looking into this, I realised that Iris itself does not actually use this functionality (the Some other ideas emerging :
|
I wonder how many users even know it exists, as it does not seem to be mentioned in the docs. |
That's my bad - @trexfeathers' first attempt at Sphinx & Readthedocs, several years ago 😳 |
@trexfeathers I don't see it in the legacy docs either, so I'm not convinced it's your fault. |
The original motivation is written up in https://pelson.github.io/2019/cf_units_tex/. The development was about providing more flexibility when it comes to unit handling, and there is desirable functionality that udunits is not able to (and seemingly will never) support (e.g. maintaining mixing ratio units). My guess is that in reality, there is very little (no) usage of it because there was no follow-up to actually use the underlying infrastructure. An obvious step would be to update iris' quick plotting routines to render the units well by default, for example. From a bigger picture perspective, I saw the ability to handle udunits parsing properly as an important step towards potentially defining a CF-conventions specification for units without deferring to an opaque implementation (udunits) - CF-conventions would then instead be able to say "udunits is the reference implementation of this well defined specification". Clearly such a grand vision requires a lot off effort to follow-up, and I stopped working in the space not long after the parsing feature was introduced. Background aside, as I commented in #445 - the ANTLR runtime is a lightweight pure-python dependency. There is indeed a complexity in matching the version of the runtime from the parser-generator - I don't know how flexible ANTLR is wrt. parsers generated with one version working with a different runtime. However, I have full confidence in the testing of the parser (it was a life-saver on many occasions when developing the grammar), and would suggest that dependabot updating the version is totally fine if the tests pass. As for how this all fits into |
👍 But I'm not so sure about
From my reading of CF discussions, I haven't seen any desire to do this : CF are so far content that udunits2 is good enough and, in the absence of any serious need to extend it, will just continue to defer to UDUNITS to manage the spec + reference implementation. |
It is getting quite hard to package cf_units with such an old dependency. My guess is that this could be make optional if a user doesn't want the latex representation of the units, right?
Another alternative would be to update that dependency but I'm not sure how hard that would be. I tried a naive update and got some quite odd and cryptic errors.
The text was updated successfully, but these errors were encountered: