erikrose / parsimonious

The fastest pure-Python PEG parser I can muster
MIT License
1.79k stars 126 forks source link

Newest releases missing in conda-forge #215

Closed enekomartinmartinez closed 1 year ago

enekomartinmartinez commented 1 year ago

Hi, Versions 0.9.0 and 0.10.0 are missing in conda forge. Conda-forge allows automatic pushing of the releases when new versions are uploaded to PyPI you only need to create an issue in the feedstock repository issue tracker with the title @conda-forge-admin,please add bot automerge, e.g. https://github.com/conda-forge/pysd-feedstock/issues/5

I would appreciate it a lot if you can both upload version 0.9.0 and 0.10.0. You may need to upload this two manually as the automerge only works with new releases.

Thank you!

lucaswiman commented 1 year ago

I've never used conda much, but I thought the point was that it was a curated set of python packages with known compatibility with each other. Doesn't this defeat that purpose?

If you could outline a more precise set of instructions, I'd be OK with executing them, but it does seem like uploading to the standard package manager should suffice.


you only need to create an issue in the feedstock repository issue tracker with the title [...]

I'm not sure I understand what you're asking us to do. Which repo would the issue be in? Could you open such an issue yourself? How does it know which package should be auto-botted?

I would appreciate it a lot if you can both upload version 0.9.0 and 0.10.0. You may need to upload this two manually as the automerge only works with new releases.

Upload it where?

enekomartinmartinez commented 1 year ago

I've never used conda much, but I thought the point was that it was a curated set of python packages with known compatibility with each other. Doesn't this defeat that purpose?

Yes, conda-forge is better at managing the compatibility. Moreover, conda allows making easier creating environments and it is an easy way to install Python and manage packages, especially for Windows users. For example, parsimonius has more than 14.000 downloads in conda-forge.

If you could outline a more precise set of instructions, I'd be OK with executing them, but it does seem like uploading to the standard package manager should suffice. I'm not sure I understand what you're asking us to do. Which repo would the issue be in? Could you open such an issue yourself? How does it know which package should be auto-botted? Upload it where?

To upload a package to conda-forge it must be done in this repo https://github.com/conda-forge/parsimonious-feedstock The file to modify is this one https://github.com/conda-forge/parsimonious-feedstock/blob/main/recipe/meta.yaml For each new package the following lines should be modified

{% set version = "0.8.1" %}
...
  sha256: 3add338892d580e0cb3b1a39e4a1b427ff9f687858fdd61097053742391a9f6b

This is automatically done by the bot when the mentioned issue is created in the repo. However, I suppose that this issue should be created by a recipe maintainer (see the end of the file):

extra:
  recipe-maintainers:
    - nelson-liu

To update packages manually the previous two lines should be modified in a fork of the repo and a PR should be opened. You can also generate the new recipe manually with the new sha256 code using grayskull

I can manage everything if you prefer so. I will in that case add myself and yourself as the recipe maintainers. Then, once is everything updated and the automatic publishing is configured, the maintenance will be minimal.

enekomartinmartinez commented 1 year ago

Also mention that I will be happy to help as long as I am a PySD developer and otherwise the installation of our package will be broken in the future using conda. So for us is very important to have parsimonious also available in conda-forge. Thanks for your work in improving it :)

lucaswiman commented 1 year ago

I can manage everything if you prefer so. I will in that case add myself and yourself as the recipe maintainers. Then, once is everything updated and the automatic publishing is configured, the maintenance will be minimal.

Sure that sounds fine, have at it. I don't know much about Conda, and the other maintainers aren't very active.

It looks like nelson-liu is the maintainer of that recipe, so I'd suggest asking them.

enekomartinmartinez commented 1 year ago

Nice, I have seen that the automatic boot was configured but it failed to update the package as it was a change in the dependencies from version 0.8.1 to 0.9.0 and no one corrected that PR. This will be solved soon.

I would suggest also adding an automatic publish of the package in PyPI when a new release in the GH repo is created. You can copy and adapt the code from here https://github.com/JamesPHoughton/pysd/blob/master/.github/workflows/python-publish.yml You only need to configure the TOKEN generated in PyPI in the secrets of GH.