conda-forge/conda-forge-repodata-patches-feedstock

Historic piecash builds are missing a sqlalchemy<1.4 constraint

7Z0t99 opened this issue · 3 comments

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

piecash only supports sqlalchemy starting with version 1.2.1, see https://github.com/sdementen/piecash/blob/master/CHANGELOG.rst
The newer piecash builds have a matching constraint, but the piecash builds piecash-1.1.4-pyh44b312d_0, piecash-1.1.3-pyh44b312d_0 and piecash-1.1.2-pyhd3deb0d_0 are missing a sqlalchemy<1.4 constraint. Could you please patch the repodata, because at the moment conda create -n testpiecash "piecash" "sqlalchemy" installs the incompatible combination piecash-1.1.4-pyh44b312d_0 and sqlalchemy-2.0.31-py312h4389bb4_0 ?

Installed packages

argon2-cffi        conda-forge/noarch::argon2-cffi-23.1.0-pyhd8ed1ab_0
  argon2-cffi-bindi~ conda-forge/win-64::argon2-cffi-bindings-21.2.0-py312he70551f_4
  arrow              conda-forge/noarch::arrow-1.3.0-pyhd8ed1ab_0
  babel              conda-forge/noarch::babel-2.14.0-pyhd8ed1ab_0
  bcrypt             conda-forge/win-64::bcrypt-4.2.0-py312h2615798_0
  bzip2              conda-forge/win-64::bzip2-1.0.8-h2466b09_7
  ca-certificates    conda-forge/win-64::ca-certificates-2024.7.4-h56e8100_0
  cffi               conda-forge/win-64::cffi-1.16.0-py312he70551f_0
  click              conda-forge/noarch::click-8.1.7-win_pyh7428d3b_0
  colorama           conda-forge/noarch::colorama-0.4.6-pyhd8ed1ab_0
  colour             conda-forge/noarch::colour-0.1.5-pyhd8ed1ab_1
  cryptography       conda-forge/win-64::cryptography-43.0.0-py312h9500af3_0
  furl               conda-forge/noarch::furl-2.1.3-pyhd8ed1ab_0
  greenlet           conda-forge/win-64::greenlet-3.0.3-py312h53d5487_0
  importlib-metadata conda-forge/noarch::importlib-metadata-8.2.0-pyha770c72_0
  infinity           conda-forge/noarch::infinity-1.5-pyhd8ed1ab_0
  intervals          conda-forge/noarch::intervals-0.9.2-pyhd8ed1ab_0
  libexpat           conda-forge/win-64::libexpat-2.6.2-h63175ca_0
  libffi             conda-forge/win-64::libffi-3.4.2-h8ffe710_5
  libsqlite          conda-forge/win-64::libsqlite-3.46.0-h2466b09_0
  libzlib            conda-forge/win-64::libzlib-1.3.1-h2466b09_1
  openssl            conda-forge/win-64::openssl-3.3.1-h2466b09_2
  orderedmultidict   conda-forge/noarch::orderedmultidict-1.0.1-pyhd8ed1ab_1
  passlib            conda-forge/noarch::passlib-1.7.4-pyhd8ed1ab_1
  pendulum           conda-forge/win-64::pendulum-3.0.0-py312h426fad5_0
  phonenumbers       conda-forge/noarch::phonenumbers-8.13.42-pyhd8ed1ab_0
  piecash            conda-forge/noarch::piecash-1.1.4-pyh44b312d_0
  pip                conda-forge/noarch::pip-24.2-pyhd8ed1ab_0
  pycparser          conda-forge/noarch::pycparser-2.22-pyhd8ed1ab_0
  python             conda-forge/win-64::python-3.12.4-h889d299_0_cpython
  python-dateutil    conda-forge/noarch::python-dateutil-2.9.0-pyhd8ed1ab_0
  python-tzdata      conda-forge/noarch::python-tzdata-2024.1-pyhd8ed1ab_0
  python_abi         conda-forge/win-64::python_abi-3.12-4_cp312
  pytz               conda-forge/noarch::pytz-2024.1-pyhd8ed1ab_0
  setuptools         conda-forge/noarch::setuptools-71.0.4-pyhd8ed1ab_0
  six                conda-forge/noarch::six-1.16.0-pyh6c4a22f_0
  sqlalchemy         conda-forge/win-64::sqlalchemy-2.0.31-py312h4389bb4_0
  sqlalchemy-utils   conda-forge/noarch::sqlalchemy-utils-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-arrow-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-babel-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-base-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-color-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-encrypted-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-intervals-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-password-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-pendulum-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-phone-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-timezone-0.41.2-pyhd8ed1ab_0
  sqlalchemy-utils-~ conda-forge/noarch::sqlalchemy-utils-url-0.41.2-pyhd8ed1ab_0
  time-machine       conda-forge/win-64::time-machine-2.14.2-py312h4389bb4_0
  tk                 conda-forge/win-64::tk-8.6.13-h5226925_1
  types-python-date~ conda-forge/noarch::types-python-dateutil-2.9.0.20240316-pyhd8ed1ab_0
  typing-extensions  conda-forge/noarch::typing-extensions-4.12.2-hd8ed1ab_0
  typing_extensions  conda-forge/noarch::typing_extensions-4.12.2-pyha770c72_0
  tzdata             conda-forge/noarch::tzdata-2024a-h0c530f3_0
  tzlocal            conda-forge/win-64::tzlocal-5.2-py312h2e8e312_0
  ucrt               conda-forge/win-64::ucrt-10.0.22621.0-h57928b3_0
  vc                 conda-forge/win-64::vc-14.3-h8a93ad2_20
  vc14_runtime       conda-forge/win-64::vc14_runtime-14.40.33810-ha82c5b3_20
  vs2015_runtime     conda-forge/win-64::vs2015_runtime-14.40.33810-h3bf8584_20
  wheel              conda-forge/noarch::wheel-0.43.0-pyhd8ed1ab_1
  xz                 conda-forge/win-64::xz-5.2.6-h8d14728_0
  zipp               conda-forge/noarch::zipp-3.19.2-pyhd8ed1ab_0

Environment info

active environment : testpiecash
    active env location : C:\ProgramData\anaconda3\envs\testpiecash
            shell level : 5
          conda version : 24.5.0
    conda-build version : 24.5.1
         python version : 3.11.5.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=broadwell
                          __conda=24.5.0=0
                          __win=0=0
       base environment : C:\ProgramData\anaconda3  (writable)
      conda av data dir : C:\ProgramData\anaconda3\etc\conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
               platform : win-64
             user-agent : conda/24.5.0 requests/2.32.2 CPython/3.11.5 Windows/10 Windows/10.0.19045 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8 aau/0.4.4 c/. s/. e/.
          administrator : True
             netrc file : None
           offline mode : False

Actually I am referring to this upstream commit that tightens the sqlalchemy constraint sdementen/piecash@525dfe5 , which was first released with piecash 1.1.3, but is only reflected in the repodata starting with piecash 1.1.6. piecash 1.1.2, which was released before the first sqlalchemy 1.4.0 beta came out, also needs the constraint.

The commit you found sdementen/piecash@ff556ac relaxes the constraint for piecash 1.2.1 and newer, which matches the recipe, i.e. the recipe is fine.

Sorry, for the confusion - I deleted my comment because I realised I misunderstood and assumed I was quick enough to not confuse you with it. I now think what you suggest is this fix, right?

if:
  name: piecash
  timestamp_lt: 1722691941000
  version_lt: 1.2.1
  has_depends: sqlalchemy?( *)
then:
  - tighten_depends:
      name: sqlalchemy
      upper_bound: "1.4"

which would introduce <1.4 upper bounds on following packages:

===
noarch
noarch::piecash-1.1.4-pyh44b312d_0.tar.bz2
noarch::piecash-1.1.2-pyhd3deb0d_0.tar.bz2
noarch::piecash-1.1.3-pyh44b312d_0.tar.bz2
-    "sqlalchemy >=1.0",
+    "sqlalchemy >=1.0,<1.4.0a0",

It's okay :-) Thanks for writing the patch. Yes, the result looks good to me.