prefix-dev / rattler-build-conda-compat

rattler-build module which offer compatibility with conda-smithy
BSD 3-Clause "New" or "Revised" License
4 stars 5 forks source link

Package incompatible with Python < 3.11 but declares Python >= 3.8 #19

Closed duncanmmacleod closed 3 months ago

duncanmmacleod commented 3 months ago

This package declares compatibility with Python >= 3.8:

https://github.com/nichmor/rattler-build-conda-compat/blob/4ebdfc13fb5c122cfeb1b9d73babaf77a825017f/pyproject.toml#L13

however utilises features from the Python standard library that are only available in Python 3.11:

https://github.com/nichmor/rattler-build-conda-compat/blob/4ebdfc13fb5c122cfeb1b9d73babaf77a825017f/src/rattler_build_conda_compat/loader.py#L4

This results in ImportErrors:

$ python3.8 -m venv ./venv
$ ./venv/bin/python3.8 -m pip install .
Processing /home/duncan/git/rattler-build-conda-compat
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: rattler-build-conda-compat
  Building wheel for rattler-build-conda-compat (pyproject.toml) ... done
  Created wheel for rattler-build-conda-compat: filename=rattler_build_conda_compat-0.1.2-py3-none-any.whl size=17631 sha256=c3ef5b5b7409086a8025ec7ebf18ce4195671f279db233bb97344241979289d9
  Stored in directory: /home/duncan/.cache/pip/wheels/b5/76/30/85ce716b3cddc7326b2de95ebce6cb1aeaaa10d435ac448dab
Successfully built rattler-build-conda-compat
Installing collected packages: rattler-build-conda-compat
Successfully installed rattler-build-conda-compat-0.1.2

[notice] A new release of pip is available: 23.0.1 -> 24.1.2
[notice] To update, run: python3.8 -m pip install --upgrade pip
$ ./venv/bin/python3 -c "import rattler_build_conda_compat.loader"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/duncan/git/rattler-build-conda-compat/venv/lib/python3.8/site-packages/rattler_build_conda_compat/loader.py", line 4, in <module>
    from typing import TYPE_CHECKING, Any, Iterator, Self
ImportError: cannot import name 'Self' from 'typing' (/home/duncan/opt/conda/envs/py38/lib/python3.8/typing.py)

Should the requires-python metadata be updated to declare >=3.11, or is this 'user error'?

Thanks.