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

Unpin toolz<1.0 dependency in recipe if possible #68

Open
1 task done
zaneselvans opened this issue Jan 29, 2025 · 3 comments
Open
1 task done

Unpin toolz<1.0 dependency in recipe if possible #68

zaneselvans opened this issue Jan 29, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@zaneselvans
Copy link

zaneselvans commented Jan 29, 2025

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

This conda feedstock currently has a dependency pin for toolz<1.0.0 and v1.0 now exists. The pin is resulting in downgrades to conda_lock==1.1.1 in our environments, which we then have to work around.

I don't see toolz explicitly listed in the pyproject.toml, pixi.toml, or pixi.lock in the main conda-lock repo so I'm wondering if the feedstock dependencies might just need to be updated?

Installed packages

# packages in environment at /Users/zane/miniforge3:
#
# Name                    Version                   Build  Channel
annotated-types           0.7.0              pyhd8ed1ab_1    conda-forge
appdirs                   1.4.4              pyhd8ed1ab_1    conda-forge
archspec                  0.2.5              pyhd8ed1ab_0    conda-forge
backports                 1.0                pyhd8ed1ab_5    conda-forge
backports.tarfile         1.2.0              pyhd8ed1ab_1    conda-forge
boltons                   24.0.0             pyhd8ed1ab_1    conda-forge
brotli-python             1.1.0           py312hde4cb15_2    conda-forge
bzip2                     1.0.8                h99b78c6_7    conda-forge
c-ares                    1.34.4               h5505292_0    conda-forge
ca-certificates           2024.12.14           hf0a4a13_0    conda-forge
cachecontrol              0.14.2             pyha770c72_0    conda-forge
cachecontrol-with-filecache 0.14.2             pyhd8ed1ab_0    conda-forge
cachy                     0.3.0              pyhd8ed1ab_2    conda-forge
certifi                   2024.12.14         pyhd8ed1ab_0    conda-forge
cffi                      1.17.1          py312h0fad829_0    conda-forge
charset-normalizer        3.4.1              pyhd8ed1ab_0    conda-forge
cleo                      2.1.0              pyhd8ed1ab_1    conda-forge
click                     8.1.8              pyh707e725_0    conda-forge
click-default-group       1.2.4              pyhd8ed1ab_1    conda-forge
clikit                    0.6.2              pyhd8ed1ab_3    conda-forge
colorama                  0.4.6              pyhd8ed1ab_1    conda-forge
conda                     25.1.0          py312h81bd7bf_0    conda-forge
conda-libmamba-solver     24.11.0rc0               pypi_0    pypi
conda-lock                2.5.7              pyhd8ed1ab_1    conda-forge
conda-package-handling    2.4.0              pyh7900ff3_2    conda-forge
conda-package-streaming   0.11.0             pyhd8ed1ab_0    conda-forge
cpp-expected              1.1.0                hffc8910_0    conda-forge
crashtest                 0.4.1              pyhd8ed1ab_1    conda-forge
distlib                   0.3.9              pyhd8ed1ab_1    conda-forge
distro                    1.9.0              pyhd8ed1ab_1    conda-forge
dulwich                   0.22.7          py312hcd83bfe_0    conda-forge
ensureconda               1.4.4              pyhd8ed1ab_1    conda-forge
filelock                  3.17.0             pyhd8ed1ab_0    conda-forge
fmt                       11.0.2               h420ef59_0    conda-forge
frozendict                2.4.6           py312h0bf5046_0    conda-forge
gitdb                     4.0.12             pyhd8ed1ab_0    conda-forge
gitpython                 3.1.44             pyhff2d567_0    conda-forge
h2                        4.1.0              pyhd8ed1ab_1    conda-forge
hpack                     4.1.0              pyhd8ed1ab_0    conda-forge
html5lib                  1.1                pyhd8ed1ab_2    conda-forge
hyperframe                6.1.0              pyhd8ed1ab_0    conda-forge
icu                       75.1                 hfee45f7_0    conda-forge
idna                      3.10               pyhd8ed1ab_1    conda-forge
importlib-metadata        8.6.1              pyha770c72_0    conda-forge
importlib_resources       6.5.2              pyhd8ed1ab_0    conda-forge
jaraco-context            5.3.0                    pypi_0    pypi
jaraco-functools          4.0.0                    pypi_0    pypi
jaraco.classes            3.4.0              pyhd8ed1ab_2    conda-forge
jaraco.context            6.0.1              pyhd8ed1ab_0    conda-forge
jaraco.functools          4.1.0              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.5              pyhd8ed1ab_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_1    conda-forge
jsonpointer               3.0.0           py312h81bd7bf_1    conda-forge
keyring                   25.5.0                   pypi_0    pypi
krb5                      1.21.3               h237132a_0    conda-forge
libarchive                3.7.7                h3b16cec_3    conda-forge
libblas                   3.9.0           28_h10e41b3_openblas    conda-forge
libcblas                  3.9.0           28_hb3479ef_openblas    conda-forge
libcurl                   8.11.1               h73640d1_0    conda-forge
libcxx                    19.1.7               ha82da77_0    conda-forge
libedit                   3.1.20240808    pl5321hafb1f1b_0    conda-forge
libev                     4.33                 h93a5062_2    conda-forge
libexpat                  2.6.4                h286801f_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgfortran               5.0.0           13_2_0_hd922786_3    conda-forge
libgfortran5              13.2.0               hf226fd6_3    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
liblapack                 3.9.0           28_hc9a63f6_openblas    conda-forge
liblzma                   5.6.3                h39f12f2_1    conda-forge
liblzma-devel             5.6.3                h39f12f2_1    conda-forge
libmamba                  2.0.5                hdf44a08_1    conda-forge
libmambapy                2.0.5           py312h86ad8a2_1    conda-forge
libnghttp2                1.64.0               h6d7220d_0    conda-forge
libopenblas               0.3.28          openmp_hf332438_1    conda-forge
libsolv                   0.7.30               h6c9b7f8_0    conda-forge
libsqlite                 3.48.0               h3f77e49_1    conda-forge
libssh2                   1.11.1               h9cc3647_0    conda-forge
libuv                     1.50.0               h5505292_0    conda-forge
libxml2                   2.13.5               h178c5d8_1    conda-forge
libzlib                   1.3.1                h8359307_2    conda-forge
llvm-openmp               19.1.7               hdb05f8b_0    conda-forge
lz4-c                     1.10.0               h286801f_1    conda-forge
lzo                       2.10              h93a5062_1001    conda-forge
mamba                     2.0.5                h5837114_1    conda-forge
markupsafe                3.0.2           py312h998013c_1    conda-forge
menuinst                  2.2.0           py312h81bd7bf_0    conda-forge
more-itertools            10.6.0             pyhd8ed1ab_0    conda-forge
msgpack-python            1.1.0           py312h6142ec9_0    conda-forge
ncurses                   6.5                  h5e97a16_2    conda-forge
nlohmann_json             3.11.3               h00cdb27_1    conda-forge
nodejs                    22.13.0              h02a13b7_0    conda-forge
numpy                     2.2.2           py312h7c1f314_0    conda-forge
openssl                   3.4.0                h81ee809_1    conda-forge
packaging                 24.2               pyhd8ed1ab_2    conda-forge
pastel                    0.2.1              pyhd8ed1ab_0    conda-forge
pip                       25.0               pyh8b19718_0    conda-forge
pkginfo                   1.11.2                   pypi_0    pypi
platformdirs              4.3.6              pyhd8ed1ab_1    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_1    conda-forge
poetry                    2.0.1              pyh534df25_0    conda-forge
poetry-core               2.0.1              pyhd8ed1ab_0    conda-forge
prettier                  3.4.2                hd9dd8dd_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py312hea69d52_2    conda-forge
pycparser                 2.22               pyh29332c3_1    conda-forge
pydantic                  2.10.1                   pypi_0    pypi
pydantic-core             2.27.2          py312hcd83bfe_0    conda-forge
pylev                     1.4.0              pyhd8ed1ab_0    conda-forge
pyproject_hooks           1.2.0              pyhd8ed1ab_1    conda-forge
pysocks                   1.7.1              pyha55dd90_7    conda-forge
python                    3.12.8          hc22306f_1_cpython    conda-forge
python-build              1.2.2.post1        pyhff2d567_1    conda-forge
python-fastjsonschema     2.21.1             pyhd8ed1ab_0    conda-forge
python-installer          0.7.0              pyhff2d567_1    conda-forge
python_abi                3.12                    5_cp312    conda-forge
pyyaml                    6.0.2           py312h998013c_2    conda-forge
rapidfuzz                 3.11.0          py312hd8f9ff3_0    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
reproc                    14.2.5.post0         h5505292_0    conda-forge
reproc-cpp                14.2.5.post0         h286801f_0    conda-forge
requests                  2.32.3             pyhd8ed1ab_1    conda-forge
requests-toolbelt         1.0.0              pyhd8ed1ab_1    conda-forge
ruamel.yaml               0.18.10         py312hea69d52_0    conda-forge
ruamel.yaml.clib          0.2.8           py312h0bf5046_1    conda-forge
setuptools                75.8.0             pyhff2d567_0    conda-forge
shellingham               1.5.4              pyhd8ed1ab_1    conda-forge
simdjson                  3.11.6               ha393de7_0    conda-forge
six                       1.17.0             pyhd8ed1ab_0    conda-forge
smmap                     5.0.0              pyhd8ed1ab_0    conda-forge
spdlog                    1.15.0               h096ffd4_0    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
toml                      0.10.2             pyhd8ed1ab_1    conda-forge
tomli                     2.1.0                    pypi_0    pypi
tomlkit                   0.13.2             pyha770c72_1    conda-forge
toolz                     0.12.1             pyhd8ed1ab_0    conda-forge
tqdm                      4.67.1             pyhd8ed1ab_1    conda-forge
trove-classifiers         2025.1.15.22       pyhd8ed1ab_0    conda-forge
truststore                0.10.0             pyhd8ed1ab_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_1    conda-forge
typing_extensions         4.12.2             pyha770c72_1    conda-forge
tzdata                    2025a                h78e105d_0    conda-forge
urllib3                   1.26.19            pyhd8ed1ab_0    conda-forge
virtualenv                20.28.0                  pypi_0    pypi
webencodings              0.5.1              pyhd8ed1ab_3    conda-forge
wheel                     0.45.1             pyhd8ed1ab_1    conda-forge
xattr                     1.1.0           py312h024a12e_1    conda-forge
xz                        5.6.3                h9a6d368_1    conda-forge
xz-gpl-tools              5.6.3                h9a6d368_1    conda-forge
xz-tools                  5.6.3                h39f12f2_1    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
yaml-cpp                  0.8.0                h13dd4ca_0    conda-forge
zipp                      3.21.0             pyhd8ed1ab_1    conda-forge
zlib                      1.3.1                h8359307_2    conda-forge
zstandard                 0.23.0          py312h15fbf35_1    conda-forge
zstd                      1.5.6                hb46c0d2_0    conda-forge

Environment info

active environment : base
    active env location : /Users/zane/miniforge3
            shell level : 1
       user config file : /Users/zane/.condarc
 populated config files : /Users/zane/miniforge3/.condarc
                          /Users/zane/.condarc
          conda version : 25.1.0
    conda-build version : not installed
         python version : 3.12.8.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=m1
                          __conda=25.1.0=0
                          __osx=15.2=0
                          __unix=0=0
       base environment : /Users/zane/miniforge3  (writable)
      conda av data dir : /Users/zane/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/nodefaults/osx-arm64
                          https://conda.anaconda.org/nodefaults/noarch
          package cache : /Users/zane/miniforge3/pkgs
                          /Users/zane/.conda/pkgs
       envs directories : /Users/zane/miniforge3/envs
                          /Users/zane/.conda/envs
               platform : osx-arm64
             user-agent : conda/25.1.0 requests/2.32.3 CPython/3.12.8 Darwin/24.2.0 OSX/15.2 solver/libmamba conda-libmamba-solver/24.11.0rc0 libmambapy/2.0.5
                UID:GID : 1000:20
             netrc file : /Users/zane/.netrc
           offline mode : False
@zaneselvans zaneselvans added the bug Something isn't working label Jan 29, 2025
@maresb
Copy link
Contributor

maresb commented Jan 29, 2025

Thanks a lot @zaneselvans for the report! I was unaware of the new release of toolz and the downgrading of conda-lock.

The issue is that the last release version v2.5.7 of conda-lock vendors an older version of Conda that has that dependency. We have since upgraded to a more recent version that no longer has that dependency, but we postponed the corresponding v3 release because mamba v2 came out and caused massive breakage conda/conda-lock#725. The best solution is to release that as soon as possible, but I'm in a time crunch at the moment.

Out of curiosity, have you evaluated pixi? They do lockfiles arguably better than we do. (It's what I use nowadays.)

@zaneselvans
Copy link
Author

Yes, definitely following pixi! I imagine we'll switch at some point, but it'll be a bit of a project to make everything work with it, and get our team familiar with it given the pretty different workflow, so we haven't taken it on yet. pixi was brand new when we switched to using conda-lock and didn't seem ready yet, but now it seems to have matured a lot. Maybe when they make a v1.0 release we'll make the jump. I saw the conda-lock repo was using pixi and LOLed.

@maresb
Copy link
Contributor

maresb commented Jan 29, 2025

Ya, I'm a pretty big fan of pixi. I even added a feature (currently on main) to migrate conda-lock projects to pixi.

conda/conda-lock#708
https://github.com/conda/conda-lock/blob/2c62c8f74a79ea15714f8dcb400c6ebae8756cf2/docs/pixi-migration.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants