unishox2-py3 icon indicating copy to clipboard operation
unishox2-py3 copied to clipboard

PyPI sdist package and conda-forge recipe

Open oschwengers opened this issue 3 years ago • 7 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!

oschwengers avatar Aug 23 '22 15:08 oschwengers

Hi! I'll have a look into this :)

tweedge avatar Aug 31 '22 02:08 tweedge

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!

tweedge avatar Aug 31 '22 03:08 tweedge

Sorry, for the late reply!

I just opened a PR to @conda-forge: https://github.com/conda-forge/staged-recipes/pull/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!

oschwengers avatar Oct 19 '22 09:10 oschwengers

@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.

oschwengers avatar Oct 24 '22 08:10 oschwengers

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 :(

tweedge avatar Nov 05 '22 19:11 tweedge

OK, I skipped the builds for Win and arm64 systems and requested a review. Let's see what we get.

oschwengers avatar Nov 10 '22 16:11 oschwengers

Hi @tweedge , sorry fore the very late reply. There were a comment regarding different licenses: https://github.com/conda-forge/staged-recipes/pull/20798#discussion_r1038661167

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 https://github.com/conda-forge/staged-recipes/pull/20798

oschwengers avatar Feb 09 '23 09:02 oschwengers