conda-forge / frozendict-feedstock

A conda-smithy repository for frozendict.
BSD 3-Clause "New" or "Revised" License
0 stars 9 forks source link

No more python 3.12+ builds #60

Closed timkpaine closed 5 hours ago

timkpaine commented 11 hours ago

Solution to issue cannot be found in the documentation.

Issue

https://github.com/conda-forge/frozendict-feedstock/pull/53 by @beckermr removed the noarch build, so now no more python 3.12 or 3.13 builds will work (The library does a try/catch internally so could technically provide a no arch variant https://github.com/Marco-Sulla/python-frozendict/blob/master/src/frozendict/__init__.py#L5).

This is blocking python 3.13 migrations.

beckermr commented 9 hours ago

That build was broken for reasons I don't recall now.

beckermr commented 9 hours ago

There are py312 builds present. We should be able to fix by simply add the 313 migrator and rerendering in a pr.

beckermr commented 6 hours ago

Yes python 3.12 solves fine:

% conda create -n test python=3.12 frozendict
Channels:
 - conda-forge
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /Users/beckermr/mambaforge/envs/test

  added / updated specs:
    - frozendict
    - python=3.12

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    frozendict-2.4.4           |  py312h7e5086c_0          30 KB  conda-forge
    python-3.12.6              |h739c21a_0_cpython        12.3 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        12.3 MB

The following NEW packages will be INSTALLED:

  bzip2              conda-forge/osx-arm64::bzip2-1.0.8-h99b78c6_7 
  ca-certificates    conda-forge/osx-arm64::ca-certificates-2024.8.30-hf0a4a13_0 
  frozendict         conda-forge/osx-arm64::frozendict-2.4.4-py312h7e5086c_0 
  libexpat           conda-forge/osx-arm64::libexpat-2.6.3-hf9b8971_0 
  libffi             conda-forge/osx-arm64::libffi-3.4.2-h3422bc3_5 
  libsqlite          conda-forge/osx-arm64::libsqlite-3.46.1-hc14010f_0 
  libzlib            conda-forge/osx-arm64::libzlib-1.3.1-hfb2fe0b_1 
  ncurses            conda-forge/osx-arm64::ncurses-6.5-h7bae524_1 
  openssl            conda-forge/osx-arm64::openssl-3.3.2-h8359307_0 
  python             conda-forge/osx-arm64::python-3.12.6-h739c21a_0_cpython 
  python_abi         conda-forge/osx-arm64::python_abi-3.12-5_cp312 
  readline           conda-forge/osx-arm64::readline-8.2-h92ec313_1 
  tk                 conda-forge/osx-arm64::tk-8.6.13-h5083fa2_1 
  tzdata             conda-forge/noarch::tzdata-2024a-h8827d51_1 
  xz                 conda-forge/osx-arm64::xz-5.2.6-h57fd34a_0 

Proceed ([y]/n)? 
timkpaine commented 6 hours ago

ya though 3.12 is no arch, not compiled.

beckermr commented 6 hours ago

This package:

conda-forge/osx-arm64::frozendict-2.4.4-py312h7e5086c_0 

is not noarch. Here are the deps

__osx >=11.0, python >=3.12,<3.13.0a0, python >=3.12,<3.13.0a0 *_cpython, python_abi 3.12.* *_cp312

It is only for python 312

timkpaine commented 6 hours ago

its no arch after 3.10, frozendict does not support compilation for 3.11, 3.12, 3.13 see https://github.com/Marco-Sulla/python-frozendict/issues/68, https://github.com/Marco-Sulla/python-frozendict/issues/105

beckermr commented 6 hours ago

ahh you are using the term "noarch" to mean the upstream code does not use a compiler.

timkpaine commented 6 hours ago

ya there are no arch wheels starting with 3.11: https://pypi.org/simple/frozendict/

Screenshot 2024-09-21 at 15 49 07
timkpaine commented 6 hours ago

https://github.com/conda-forge/frozendict-feedstock/issues/51#issue-2024958256

Idk what is wrong with the recipe but it's not correct.

I think the original intention of the feedstock was to duplicate this, e.g. provide no arch but also provide arch. Don't think this plays nicely with conda

beckermr commented 6 hours ago

Right yes. The recipe was buggy and I did not write down why. It is likely easiest to just wait until we drop python 3.9 and then convert everything to noarch. That will be in one year.

Marco-Sulla commented 5 hours ago

It is likely easiest to just wait until we drop python 3.9 and then convert everything to noarch. That will be in one year.

3.10 has still the c extension, and furthermore I think that in one year I can ship also 3.11 and 3.12, since many people have requested it.

beckermr commented 5 hours ago

Oh ok. The. My suggestion is to keep this package as it is and not skip not prs. Feel free to bump me if you are having trouble and I can help try and get things moving.