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.