poetry
poetry copied to clipboard
xarray[complete] version solving failed since poetry >2.0.1
Description
I've been using Poetry 2.0.1 until recently for my project.
my pyproject.toml file included this dep xarray = { version = "==2024.9.0", extras = ["complete"] }
However, when I updated Poetry to 2.1.3, I'm now having this issue when running any poetry update/lock command
❯ poetry update
Updating dependencies
Resolving dependencies... (2.5s)
Because xarray[complete] (2024.9.0) depends on scipy (<empty>)
and aodn-cloud-optimised depends on scipy (>=1.15.2), xarray is forbidden.
So, because aodn-cloud-optimised depends on xarray[complete] (==2024.9.0), version solving failed.
I've tried every Poetry version after 2.0.1 and all those version failed.
Workarounds
Installing Poetry 2.0.1
Poetry Installation Method
pip
Operating System
Linux Mint
Poetry Version
2.1.3
Poetry Configuration
cache-dir = "/home/lbesnard/snap/alacritty/common/.cache/pypoetry"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = true
keyring.enabled = true
requests.max-retries = 0
solver.lazy-wheel = true
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs" # /home/lbesnard/snap/alacritty/common/.cache/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false
(AodnCloudOptimised)
Python Sysconfig
sysconfig.log
Paste the output of 'python -m sysconfig', over this line.
Example pyproject.toml
[build-system]
requires = ["poetry-core>1.0.0", "wheel"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "aodn-cloud-optimised"
version = "0.1.48"
description = "Cloud optimised data formats for IMOS NetCDF files and CSVs."
authors = ["lbesnard <[email protected]>"]
license = "GNU General Public License v3.0"
readme = "README.md"
keywords = ["cloud", "data", "NetCDF", "CSV", "Zarr", "Parquet"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Software Development :: Libraries :: Python Modules",
]
[tool.poetry.urls]
"Source code" = "https://github.com/aodn/aodn_cloud_optimised"
[tool.poetry.dependencies]
python = ">=3.10, <4.0"
netCDF4 = "==1.6.5" # TODO: hardpinned because of bug https://github.com/Unidata/netcdf4-python/issues/1342
numpy = "<2.0.0" # TODO: new version created issue similar to https://github.com/Sinaptik-AI/pandas-ai/issues/1251 only visible when opening with xarray some NetCDF. but not visible with dask although empty data NaN is created
pandas = ">=2.2.3"
python-dateutil = ">=2.9.0"
jsonschema = ">=4.22.0"
h5py = "==3.11.0" # TODO: libmamba cant install 3.12.1 on coiled!
h5netcdf = ">=1.3.0"
scipy = ">=1.15.2"
boto3 = ">=1.34.162"
pyarrow = "==17.0.0"
rechunker = ">=0.5.2"
s3fs = ">=2025.3.2"
fsspec = "==2025.3.2"
shapely = ">=2.0.4"
xarray = { version = "==2024.9.0", extras = ["complete"] }
cftime = ">=1.6.3"
zarr = "==2.18.3"
geopandas = ">=0.14.4"
coiled = ">=1.90.4"
dask-cloudprovider = ">=2024.9.1"
dask = ">=2025.3.0"
dask-expr = ">=2.0.0" # needs to be added for coiled otherwise an old version is used and not updated
colorama = ">=0.4.6"
s3path = ">=0.5.7"
python-levenshtein = "^0.25.1"
[tool.poetry.group.dev.dependencies]
poetry = ">2.0.1"
poetry-plugin-freeze = ">=1.2.0"
virtualenv = "==20.30.0" # TODO: pinned because of https://github.com/python-poetry/poetry/issues/10378
pytest = "^8.2.1"
ipdb = "^0.13"
ipython = "^7.5.3"
coverage = "^7.5.3"
pre-commit = "^4.0.1"
moto = { version = "==5.1.1", extras = [
"ec2",
"s3",
"server",
"all",
] } # Add Moto with optional dependencies; TODO: hardpin because of Bug https://github.com/getmoto/moto/issues/8762#issuecomment-2856822832
fuzzywuzzy = ">=0.18.0"
sphinx = ">=7.3.7"
poetry-pre-commit-plugin = ">=0.2.1"
asciinema = ">=2.4.0" # to record terminal sessions, useful for documentation
matplotlib = "^3.9.1"
cartopy = ">=0.23.0"
termcolor = "^2.4.0"
nbformat = "^5.10.4"
gsw = ">=3.6.19"
seaborn = ">=0.13.2"
windrose = ">=1.9.2"
tabulate = ">=0.9.0"
Poetry Runtime Logs
poetry-runtime.log
Paste the output of 'poetry -vvv <command>', over this line.