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

Publish on conda-forge #75

Open
noemifrisina opened this issue Jan 9, 2023 · 7 comments
Open

Publish on conda-forge #75

noemifrisina opened this issue Jan 9, 2023 · 7 comments

Comments

@noemifrisina
Copy link

Would it be possible to have scanspec available on conda-forge?

I'd like to get both the nexgen and tristan packages on conda-forge, but this is currently stopped by this error:

conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("scanspec")}

@coretl
Copy link
Contributor

coretl commented Jan 9, 2023

It might be, @garryod did some work on getting a generic packaging of conda packages, but the converter that did that didn't support pyproject.toml. We could put the deps for this module back into setup.cfg to support this. However, scanspec depends on apischema. Do you know if this is packaged for conda?

@noemifrisina
Copy link
Author

From this it looks like it might be, but you might want to double check that: apischema

I've been using Grayskull for conda packaging which I think should work with pyproject.toml if that helps...

@garryod
Copy link
Contributor

garryod commented Jan 9, 2023

The work I did is in this pull request. It uses grayskull to create the conda recipe, unfortunately pyproject.toml support in grayskull is still a work in progress so the PR has been left in draft for now.

The pipeline above will however not work for publishing to conda-forge (they run their own build CI), but would be useful for publishing to the DiamondLightSource anaconda.

@coretl
Copy link
Contributor

coretl commented Jan 9, 2023

@noemifrisina: Does it make any difference to you if we publish to conda-forge vs the DiamondLightSource channel?

@garryod: I've seen conda-forge feedstocks before, they seem to contain a lot of duplication from the source repo, and it's not clear if there is an automated way to keep them in sync. Are you aware of any processes that would automate the whole thing (from grayskull to publish) for pure python modules?

@coretl
Copy link
Contributor

coretl commented Jan 9, 2023

Also bear in mind that this project is likely to move to the bluesky org at some point, so conda-forge is probably preferable from that perspective too...

@garryod
Copy link
Contributor

garryod commented Jan 9, 2023

My understanding is that the conda-forge team intends to use grayskull to do the heavy lifting where possible; From their blog:

[...] grayskull was created with the intention of generating better Conda recipes that would allow to package properly projects available in different channels such as PyPI, CRAN, Conan, GitHub register, GitHub repositories and so on. On top of that, Grayskull is also being developed to help conda-forge to update recipes.

If you wish to make scanspec available via conda-forge you should follow this process. In which they suggest you use grayskull to generate python recipes:

If your package is python based, we recommend using Grayskull to generate it instead:
https://github.com/conda-incubator/grayskull

@noemifrisina
Copy link
Author

@coretl From what I understand from the documentation, it would be better to avoid using a different channel than conda-forge, but I don't know if this will actually stop the release or not...

@coretl coretl moved this to Todo in I22 Bluesky Jan 9, 2023
@rosesyrett rosesyrett removed this from I22 Bluesky May 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants