PyPI sdist package and conda-forge recipe
oschwengers opened this issue · comments
Hi @tweedge ,
thanks for this wonderful Python library! I'd like to use it in one of our Python bioinformatics applications (oschwengers/bakta).
As the main distribution channel of this software is Conda, I'd need unishox2-py3
to be available at conda-forge
. I'd be happy to write a recipe for it based on your PyPI package.
However, I'd need an sdist
package on PyPI in order create a recipe via Conda`s grayskull tool:
$ grayskull pypi unishox2-py3
#### Initializing recipe for unishox2-py3 (pypi) ####
Recovering metadata from pypi...
Traceback (most recent call last):
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/bin/grayskull", line 10, in <module>
sys.exit(main())
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/__main__.py", line 193, in main
generate_recipes_from_list(args.pypi_packages, args)
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/__main__.py", line 215, in generate_recipes_from_list
recipe, config = create_python_recipe(
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/__main__.py", line 249, in create_python_recipe
GrayskullFactory.create_recipe(
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/base/factory.py", line 31, in create_recipe
GrayskullFactory.REGISTERED_STRATEGY[repo_type.lower()].fetch_data(
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 60, in fetch_data
update_recipe(recipe, config, sections or ALL_SECTIONS)
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 470, in update_recipe
metadata = get_metadata(recipe, config)
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 343, in get_metadata
sdist_metadata, pypi_metadata = get_origin_wise_metadata(config)
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 227, in get_origin_wise_metadata
pypi_metadata = get_pypi_metadata(config)
File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 270, in get_pypi_metadata
raise AttributeError(f"There is no sdist package on pypi for {config.name}.")
AttributeError: There is no sdist package on pypi for unishox2-py3.
Also, would it be OK to mention you in the Conda package as the maintainer? Any help would be highly appreciated!
Best regards!
Hi! I'll have a look into this :)
So I have added a source distribution, but I'm still getting familiar with Conda. I am happy to be mentioned as a maintainer if you create a Conda package before me!
Sorry, for the late reply!
I just opened a PR to @conda-forge: conda-forge/staged-recipes#20798
The PR template contains a couple of questions regarding statically linked 3rd-party libraries that might be used and contained. I wonder if you could maybe check my statements and amend them where necessary?
Thanksa lot for your support and best regards!
@tweedge Unfortunately, I got stuck in the Windows CI tests. I'm neither a windows user nor do I have much experience with Python/C hybrid projects. Could you maybe have a look at this to figure out what's the issue here? Otherwise, I'd skip the Windows builds, but as a consequence, unishox-py3
would not be available for Windows.
Howdy, the answers given in this PR looks pretty good! I think we might be able to check off "Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged)." as both projects use the same Apache 2.0 license, which is bundled.
Unfortunately I am also not a Windows user, so it might be best for us to accept the gap at this time :(
OK, I skipped the builds for Win
and arm64
systems and requested a review. Let's see what we get.
Hi @tweedge , sorry fore the very late reply. There were a comment regarding different licenses: conda-forge/staged-recipes#20798 (comment)
Essentially, they ask if you could add the original Unishox2 license into your repo, because they differ due to different license holders (which is the case, see https://github.com/siara-cc/Unishox2/blob/72313797a9b305a3b36b697fc658b29490194de4/LICENSE at the very end: Copyright 2019 Siara Logics (cc)
If you would be willed to include the original license file as well, we might go ahead with conda-forge/staged-recipes#20798