build: relax spacy minor upper bound#551
Conversation
|
Hi @JohnGiorgi, I'd be a bit surprised if this could be done simply for two reasons: |
|
Although maybe I'm wrong on the numpy thing? The CI logs look like it installed numpy 1.26.4 + spacy 3.8.7 which I didn't think would happen because of the spacy requirements (https://github.com/explosion/spaCy/blob/release-v3.8.7/requirements.txt) |
|
Ah it looks like https://github.com/explosion/spaCy/blob/41e07772dc5805594bab2997a090a9033e26bf56/setup.cfg#L61 is the real requirement, so the numpy constraint shouldn't be an issue. |
|
It is the case though that installing the 0.5.4 scispacy models results in downgrading spacy version to 3.7.5. It does appear to work fine though if you force them to be used with the latest spacy, just prints this warning UserWarning: [W095] Model 'en_core_sci_sm' (0.5.4) was trained with spaCy v3.7.4 and may not be 100% compatible with the current version (3.8.7). If you see errors or degraded performance, download a newer compatible model or retrain your custom model with the current spaCy version. For more details and available updates, run: python -m spacy validate |
|
Given these tests, I'm inclined to accept this PR. Does everything I said match what you have observed? The state would be: |
Thanks so much for considering @dakinggg! Yes that matches my observations. To re-iterate:
Like you said, if a user installs one of the scispacy pipelines, spacy will get downgraded automatically to <3.8. So this PR would really just unblock folks like us who need to move to spacy >=3.8.0 and are willing to accept the (imo small) risk of degraded performance from the current scispacy models that were trained on spacy <3.8.0 |
Hi! scispacy is a dependency in one of our projects. Another dependency in that project depends on spacy>3.8.0, creating a conflict as scispacy pins it to <3.8.0. However, it looks like thats not strictly required, I am able to run all the tests with 3.8.7 (so long as I keep
numpy<2.0.0):There may be incompatibilities between the 0.5.4 scispacy models and spacy versions greater than 3.8.7 that the tests don't catch, but assuming that is not the case, we would appreciate the maintainers considering this PR to unblock our use of scispacy :) (cc @dakinggg)