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

allennlp extras #13710

Merged
merged 20 commits into from
Jan 20, 2021
Merged

allennlp extras #13710

merged 20 commits into from
Jan 20, 2021

Conversation

h-vetinari
Copy link
Member

After upgrading allennlp past 1.0.0, there are a couple of gaps of things that got factored out into separate packages with 1.0.0.

This attempts to add feedstocks for them, with the exception of allennlp-server, which doesn't have a released version yet.

CC @conda-forge/allennlp in case you want to join as maintainers for what was "yours" until very recently. ;-)

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found some lint.

Here's what I've got...

For recipes/allennlp-models:

  • noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

For recipes/allennlp-optuna:

  • noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

For recipes/allennlp-semparse:

  • noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

For recipes/py-rouge:

  • license_file entry is missing, but is required.

For recipes/py-rouge:

  • License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@h-vetinari h-vetinari force-pushed the allennlp-extras branch 2 times, most recently from 78e2199 to 88214fe Compare January 17, 2021 17:08
@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found it was in an excellent condition.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipes/py-rouge:

  • noarch: python recipes are recommended to have a lower bound on the python version. This recommendation will become a requirement in the future.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found it was in an excellent condition.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found some lint.

Here's what I've got...

For recipes/allennlp-models:

  • Non noarch packages should have python requirement without any version constraints.
  • Non noarch packages should have python requirement without any version constraints.

For recipes/allennlp-optuna:

  • Non noarch packages should have python requirement without any version constraints.
  • Non noarch packages should have python requirement without any version constraints.

For recipes/allennlp-semparse:

  • Non noarch packages should have python requirement without any version constraints.
  • Non noarch packages should have python requirement without any version constraints.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found it was in an excellent condition.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found some lint.

Here's what I've got...

For recipes/allennlp-optuna:

  • Non noarch packages should have python requirement without any version constraints.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found it was in an excellent condition.

@h-vetinari
Copy link
Member Author

@Diego999

I'm looking to add py-rouge to conda-forge (collected here together with some allennlp-work that depends on it) - I'd be more than happy to share the maintainership of this recipe, please let me know if you'd like to join.

@h-vetinari
Copy link
Member Author

@himkt
I'm looking to add allennlp-optuna to conda-forge - I'd be more than happy to share the maintainership of this recipe, please let me know if you'd like to join this effort (or if you have questions what that entails).

@h-vetinari
Copy link
Member Author

@dirkgr @epwalsh @matt-gardner @schmmd
Dear AI2-team, I'm looking to add allennlp-models, allennlp-semparse and allennlp-server (once it sees a release) to conda-forge. I'd be more than happy to share the maintainership of these recipes, please let me know if you'd like to join this effort (or if you have questions what that entails).

@h-vetinari
Copy link
Member Author

@chrisburr
This had a segfault on python 3.9 - how can I try building for separately this within staged-recipes?

@chrisburr
Copy link
Member

This had a segfault on python 3.9 - how can I try building for separately this within staged-recipes?

I'd do it hackily by making this PR a draft and then adding python =3.9 to the host and run section of the YAML. You can then revert after you're done and unmark as a draft.

@chrisburr
Copy link
Member

Ah sorry you mean it segfaults when it's noarch because it's using Python 3.9. If it's only happening as part of running the unit tests I'd be tempted to skip them as it's more likely to be an upstream issue. If it really is a problem with Python 3.9 then you can put python >=3.6,<3.9 in the requirements (possibly just for the tests section?).

@h-vetinari
Copy link
Member Author

I'd rather figure out the segfault and modify the PR here to build for allennlp-*-<ver>-python_3.9.* *_cpython-on-linux-64, in addition to:

Resolved dependencies, will be built in the following order:
    allennlp-optuna-0.1.3-python_3.7.* *_cpython-on-linux-64
    allennlp-optuna-0.1.3-python_3.6.* *_cpython-on-linux-64
    allennlp-optuna-0.1.3-python_3.8.* *_cpython-on-linux-64
    py-rouge-1.1-on-linux-64
    allennlp-models-1.3.0-python_3.7.* *_cpython-on-linux-64
    allennlp-models-1.3.0-python_3.6.* *_cpython-on-linux-64
    allennlp-models-1.3.0-python_3.8.* *_cpython-on-linux-64
    allennlp-semparse-0.0.2-python_3.7.* *_cpython-on-linux-64
    allennlp-semparse-0.0.2-python_3.6.* *_cpython-on-linux-64
    allennlp-semparse-0.0.2-python_3.8.* *_cpython-on-linux-64

@chrisburr
Copy link
Member

If you remove noarch and change the requirements to python 3.9.* *_cpython it should be equivalent to having built allennlp-*-<ver>-python_3.9.* *_cpython-on-linux-64 for debugging.

@himkt
Copy link

himkt commented Jan 18, 2021

Hello @h-vetinari, thank you for taking your time.

I'd like to maintain the recipe of allennlp-optuna. 😃

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found some lint.

Here's what I've got...

For recipes/allennlp-models:

  • Non noarch packages should have python requirement without any version constraints.
  • Non noarch packages should have python requirement without any version constraints.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/allennlp-models, recipes/allennlp-optuna, recipes/allennlp-semparse, recipes/py-rouge) and found it was in an excellent condition.

@h-vetinari
Copy link
Member Author

@chrisburr
Both allennlp-models and allennlp-semparse had segfaults in the test suite on python 3.9. I checked if this had something to do with flaky here, but at first glance, that doesn't seem to be the case.

I'd rather merge this as is and continue the investigation for python 3.9 (and then returning to noarch) on the respective feedstocks.

@h-vetinari
Copy link
Member Author

@conda-forge/staged-recipes, PTAL

Background to failing CI:
@chrisburr suggested:

How about noarch? It's fine for the staged-recipes CI to fail with missing dependencies on other platforms

I've tried noarch for all of them, but only kept it for allennlp-optuna and py-rouge, since for allennlp-models and allennlp-semparse it lead to segfaults (under python 3.9), which I'd rather try to solve on the respective feedstocks.

@chrisburr chrisburr merged commit cd9295b into conda-forge:master Jan 20, 2021
@h-vetinari h-vetinari deleted the allennlp-extras branch January 20, 2021 11:17
@h-vetinari
Copy link
Member Author

Thanks @chrisburr!

@Diego999 @dirkgr @epwalsh @matt-gardner @schmmd
If you see this later, don't hesistate to ping me here or on the feedstock. 🙃

@dirkgr
Copy link

dirkgr commented Jan 21, 2021

Hi! This goes to my private email, not my work email, so I missed it until now. As a religious user of conda, I am quite excited by this. Let me know how I can help!

@h-vetinari
Copy link
Member Author

Happy to hear it @dirkgr! :)

In terms of help, I'd be happy to have co-maintainers on the feedstocks for allennlp-models and allennlp-semparse - e.g. the test suite segfaults on python 3.9 and right now I don't know why that is.

Being a feedstock maintainer is usually low-maintenance, unless there are large changes in the packages upstream. Otherwise it mainly boils down to updating versions/dependencies when necessary, and hunting down the occasional bug (where the upstream maintainers obviously have an advantage).

@dirkgr
Copy link

dirkgr commented Jan 27, 2021

AllenNLP does not officially support Python 3.9 yet. It's not part of our own test suite. Unofficially I don't know of a reason why it shouldn't work.

I just tried running all the tests with Python 3.9. I don't get a crash, but I see a problem with torchvision. Out of the depths of torchvision I get this exception: RuntimeError: No such operator image::read_file. That seems like a problem with the way torchvision is built in conda-forge?

This is probably not the issue to discuss this on. Is there another I should be following?

@chrisburr
Copy link
Member

Now this has been merged you can find the dedicated repository ("feedstock") for each conda package by searching on: https://conda-forge.org/feedstock-outputs/

In this case I guess the bot PRs to add Python 3.9 are what you're looking for:

@h-vetinari
Copy link
Member Author

For allennlp itself, the python 3.9 "support" was added in conda-forge/allennlp-feedstock#13. I joined the maintenance of this feedstock recently, so I unfortunately did not cross-check the upstream support with our passing CI (which should run the upstream unit tests IMO, but mostly only tests imports - https://github.com/conda-forge/allennlp-feedstock/blob/master/recipe/meta.yaml#L49-L86)

Now that the bot has opened a PR for 1.4.0, that's a good time to improve this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants