fatiando / pooch

A friend to fetch your data files

Home Page:https://www.fatiando.org/pooch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fetching from figshare DOIs always gets the latest version

leouieda opened this issue · comments

Description of the problem:

Pooch uses the figshare API to find the download URL for a particular file based on the DOI. We do this by getting the figshare ID associated with that archive and then requesting the list of files from that ID. The problem is that the ID doesn't change between versions of the archive. For example, https://doi.org/10.6084/m9.figshare.21665630.v1 and https://doi.org/10.6084/m9.figshare.21665630.v1 have the same ID of 21665630. With the API call https://api.figshare.com/v2/articles/21665630/files (which is what we do in Pooch), figshare defaults to listing the files in the latest version of the ID.

To get files specifically for the v1 DOI, the API call has to be https://api.figshare.com/v2/articles/21665630/versions/1 which provides the files key in the JSON response. The /1 will have to be infered from the DOI and added to the end of the query URL.

Full code that generated the error

Getting pooch to fetch a file from this DOI https://doi.org/10.6084/m9.figshare.21665630.v1 leads to an error:

path = pooch.retrieve(
    url="doi:10.6084/m9.figshare.21665630.v1/cropped-before.tar.gz",
    known_hash="md5:d2a503c944bb7ef3b41294d44b77e98c",
)

Full error message

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[3], line 1
----> 1 path = pooch.retrieve(
      2     url="doi:10.6084/m9.figshare.21665630.v1/cropped-before.tar.gz",
      3     known_hash="md5:d2a503c944bb7ef3b41294d44b77e98c",
      4 )

File ~/bin/conda/envs/xlandsat/lib/python3.10/site-packages/pooch/core.py:240, in retrieve(url, known_hash, fname, path, processor, downloader, progressbar)
    237 if downloader is None:
    238     downloader = choose_downloader(url, progressbar=progressbar)
--> 240 stream_download(url, full_path, known_hash, downloader, pooch=None)
    242 if known_hash is None:
    243     get_logger().info(
    244         "SHA256 hash of downloaded file: %s\n"
    245         "Use this value as the 'known_hash' argument of 'pooch.retrieve'"
   (...)
    248         file_hash(str(full_path)),
    249     )

File ~/bin/conda/envs/xlandsat/lib/python3.10/site-packages/pooch/core.py:772, in stream_download(url, fname, known_hash, downloader, pooch, retry_if_failed)
    768 try:
    769     # Stream the file to a temporary so that we can safely check its
    770     # hash before overwriting the original.
    771     with temporary_file(path=str(fname.parent)) as tmp:
--> 772         downloader(url, tmp, pooch)
    773         hash_matches(tmp, known_hash, strict=True, source=str(fname.name))
    774         shutil.move(tmp, str(fname))

File ~/bin/conda/envs/xlandsat/lib/python3.10/site-packages/pooch/downloaders.py:573, in DOIDownloader.__call__(self, url, output_file, pooch)
    566 if repository not in converters:
    567     raise ValueError(
    568         f"Invalid data repository '{repository}'. Must be one of "
    569         f"{list(converters.keys())}. "
    570         "To request or contribute support for this repository, "
    571         "please open an issue at https://github.com/fatiando/pooch/issues"
    572     )
--> 573 download_url = converters[repository](
    574     archive_url=archive_url,
    575     file_name=parsed_url["path"].split("/")[-1],
    576     doi=doi,
    577 )
    578 downloader = HTTPDownloader(
    579     progressbar=self.progressbar, chunk_size=self.chunk_size, **self.kwargs
    580 )
    581 downloader(download_url, output_file, pooch)

File ~/bin/conda/envs/xlandsat/lib/python3.10/site-packages/pooch/downloaders.py:667, in figshare_download_url(archive_url, file_name, doi)
    665 files = {item["name"]: item for item in response.json()}
    666 if file_name not in files:
--> 667     raise ValueError(
    668         f"File '{file_name}' not found in data archive {archive_url} (doi:{doi})."
    669     )
    670 download_url = files[file_name]["download_url"]
    671 return download_url

ValueError: File 'cropped-before.tar.gz' not found in data archive https://figshare.com/articles/dataset/Landsat8_scenes_before_and_after_the_Brumadinho_Brazil_tailings_dam_collapse/21665630/1 (doi:10.6084/m9.figshare.21665630.v1).

System information

  • Operating system: Manjaro
  • Python installation (Anaconda, system, ETS): Mambaforge
  • Version of Python: 3.10
  • Version of this package: 1.6.0
  • If using conda, paste the output of conda list below:
Output of conda list

packages in environment at /home/leo/bin/conda/envs/xlandsat:

Name Version Build Channel

_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
alabaster 0.7.13 pyhd8ed1ab_0 conda-forge
alsa-lib 1.2.8 h166bdaf_0 conda-forge
aom 3.5.0 h27087fc_0 conda-forge
appdirs 1.4.4 pyh9f0ad1d_0 conda-forge
astor 0.8.1 pyh9f0ad1d_0 conda-forge
asttokens 2.2.1 pyhd8ed1ab_0 conda-forge
attr 2.5.1 h166bdaf_1 conda-forge
attrs 21.4.0 pyhd8ed1ab_0 conda-forge
babel 2.11.0 pyhd8ed1ab_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 pyhd8ed1ab_3 conda-forge
backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge
beautifulsoup4 4.11.2 pyha770c72_0 conda-forge
black 23.1.0 py310hff52083_0 conda-forge
bleach 6.0.0 pyhd8ed1ab_0 conda-forge
blosc 1.21.3 hafa529b_0 conda-forge
brotli 1.0.9 h166bdaf_8 conda-forge
brotli-bin 1.0.9 h166bdaf_8 conda-forge
brotlipy 0.7.0 py310h5764c6d_1005 conda-forge
brunsli 0.1 h9c3ff4c_0 conda-forge
build 0.7.0 pyhd8ed1ab_0 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.18.1 h7f98852_0 conda-forge
c-blosc2 2.6.1 hf91038e_0 conda-forge
ca-certificates 2022.12.7 ha878542_0 conda-forge
cairo 1.16.0 ha61ee94_1014 conda-forge
certifi 2022.12.7 pyhd8ed1ab_0 conda-forge
cffi 1.15.1 py310h255011f_3 conda-forge
cfitsio 4.2.0 hd9d235c_0 conda-forge
charls 2.4.1 hcb278e6_0 conda-forge
charset-normalizer 2.1.1 pyhd8ed1ab_0 conda-forge
click 8.1.3 unix_pyhd8ed1ab_2 conda-forge
cloudpickle 2.2.1 pyhd8ed1ab_0 conda-forge
cmarkgfm 0.8.0 py310h5764c6d_2 conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
comm 0.1.2 pyhd8ed1ab_0 conda-forge
commonmark 0.9.1 py_0 conda-forge
contourpy 1.0.7 py310hdf3cbec_0 conda-forge
coverage 7.1.0 py310h1fa729e_0 conda-forge
cryptography 39.0.1 py310h34c0648_0 conda-forge
cycler 0.11.0 pyhd8ed1ab_0 conda-forge
cytoolz 0.12.0 py310h5764c6d_1 conda-forge
dask-core 2023.1.1 pyhd8ed1ab_0 conda-forge
dataclasses 0.8 pyhc8e2a94_3 conda-forge
dav1d 1.0.0 h166bdaf_1 conda-forge
dbus 1.13.6 h5008d03_3 conda-forge
debugpy 1.6.6 py310heca2aa9_0 conda-forge
decorator 5.1.1 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
docutils 0.17.1 py310hff52083_3 conda-forge
entrypoints 0.4 pyhd8ed1ab_0 conda-forge
exceptiongroup 1.1.0 pyhd8ed1ab_0 conda-forge
executing 1.2.0 pyhd8ed1ab_0 conda-forge
expat 2.5.0 h27087fc_0 conda-forge
fftw 3.3.10 nompi_hf0379b8_106 conda-forge
flake8 6.0.0 pyhd8ed1ab_0 conda-forge
flake8-bugbear 23.1.20 pyhd8ed1ab_0 conda-forge
flake8-builtins 2.1.0 pyhd8ed1ab_0 conda-forge
flake8-functions 0.0.7 pyhd8ed1ab_0 conda-forge
flake8-mutable 1.2.0 py_1 conda-forge
flake8-rst-docstrings 0.3.0 pyhd8ed1ab_0 conda-forge
flake8-simplify 0.19.3 pyhd8ed1ab_0 conda-forge
flake8-unused-arguments 0.0.13 pyhd8ed1ab_0 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 hab24e00_0 conda-forge
fontconfig 2.14.2 h14ed4e7_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
fonttools 4.38.0 py310h5764c6d_1 conda-forge
freetype 2.12.1 hca18f0e_1 conda-forge
fsspec 2023.1.0 pyhd8ed1ab_0 conda-forge
future 0.18.3 pyhd8ed1ab_0 conda-forge
gettext 0.21.1 h27087fc_0 conda-forge
giflib 5.2.1 h36c2ea0_2 conda-forge
glib 2.74.1 h6239696_1 conda-forge
glib-tools 2.74.1 h6239696_1 conda-forge
graphite2 1.3.13 h58526e2_1001 conda-forge
gst-plugins-base 1.21.3 h4243ec0_1 conda-forge
gstreamer 1.21.3 h25f0c4b_1 conda-forge
gstreamer-orc 0.4.33 h166bdaf_0 conda-forge
harfbuzz 6.0.0 h8e241bc_0 conda-forge
icu 70.1 h27087fc_0 conda-forge
idna 3.4 pyhd8ed1ab_0 conda-forge
imagecodecs 2023.1.23 py310ha3ed6a1_0 conda-forge
imageio 2.25.0 pyh24c5eb1_0 conda-forge
imagesize 1.4.1 pyhd8ed1ab_0 conda-forge
importlib-metadata 6.0.0 pyha770c72_0 conda-forge
importlib_metadata 6.0.0 hd8ed1ab_0 conda-forge
importlib_resources 5.10.2 pyhd8ed1ab_0 conda-forge
iniconfig 2.0.0 pyhd8ed1ab_0 conda-forge
ipykernel 6.21.1 pyh210e3f2_0 conda-forge
ipython 8.9.0 pyh41d4057_0 conda-forge
ipywidgets 8.0.4 pyhd8ed1ab_0 conda-forge
isort 5.12.0 pyhd8ed1ab_1 conda-forge
jack 1.9.22 h11f4161_0 conda-forge
jaraco.classes 3.2.3 pyhd8ed1ab_0 conda-forge
jedi 0.18.2 pyhd8ed1ab_0 conda-forge
jeepney 0.8.0 pyhd8ed1ab_0 conda-forge
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
jpeg 9e h166bdaf_2 conda-forge
jsonschema 4.17.3 pyhd8ed1ab_0 conda-forge
jupyter-sphinx 0.3.2 pyhd8ed1ab_1 conda-forge
jupyter_client 8.0.2 pyhd8ed1ab_0 conda-forge
jupyter_core 5.2.0 py310hff52083_0 conda-forge
jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge
jupyterlab_widgets 3.0.5 pyhd8ed1ab_0 conda-forge
jxrlib 1.1 h7f98852_2 conda-forge
keyring 23.13.1 py310hff52083_0 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
kiwisolver 1.4.4 py310hbf28c38_1 conda-forge
krb5 1.20.1 h81ceb04_0 conda-forge
lame 3.100 h166bdaf_1003 conda-forge
lcms2 2.14 hfd0df8a_1 conda-forge
ld_impl_linux-64 2.40 h41732ed_0 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libaec 1.0.6 hcb278e6_1 conda-forge
libavif 0.11.1 h5cdd6b5_0 conda-forge
libblas 3.9.0 16_linux64_openblas conda-forge
libbrotlicommon 1.0.9 h166bdaf_8 conda-forge
libbrotlidec 1.0.9 h166bdaf_8 conda-forge
libbrotlienc 1.0.9 h166bdaf_8 conda-forge
libcap 2.66 ha37c62d_0 conda-forge
libcblas 3.9.0 16_linux64_openblas conda-forge
libclang 15.0.7 default_had23c3d_0 conda-forge
libclang13 15.0.7 default_h3e3d535_0 conda-forge
libcups 2.3.3 h36d4200_3 conda-forge
libcurl 7.87.0 hdc1c0ab_0 conda-forge
libdb 6.2.32 h9c3ff4c_0 conda-forge
libdeflate 1.17 h0b41bf4_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libevent 2.1.10 h28343ad_4 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libflac 1.4.2 h27087fc_0 conda-forge
libgcc-ng 12.2.0 h65d4601_19 conda-forge
libgcrypt 1.10.1 h166bdaf_0 conda-forge
libgfortran-ng 12.2.0 h69a702a_19 conda-forge
libgfortran5 12.2.0 h337968e_19 conda-forge
libglib 2.74.1 h606061b_1 conda-forge
libgomp 12.2.0 h65d4601_19 conda-forge
libgpg-error 1.46 h620e276_0 conda-forge
libiconv 1.17 h166bdaf_0 conda-forge
liblapack 3.9.0 16_linux64_openblas conda-forge
libllvm15 15.0.7 hadd5161_0 conda-forge
libnghttp2 1.51.0 hff17c54_0 conda-forge
libnsl 2.0.0 h7f98852_0 conda-forge
libogg 1.3.4 h7f98852_1 conda-forge
libopenblas 0.3.21 pthreads_h78a6416_3 conda-forge
libopus 1.3.1 h7f98852_1 conda-forge
libpng 1.6.39 h753d276_0 conda-forge
libpq 15.1 hb675445_3 conda-forge
libsndfile 1.2.0 hb75c966_0 conda-forge
libsodium 1.0.18 h36c2ea0_1 conda-forge
libsqlite 3.40.0 h753d276_0 conda-forge
libssh2 1.10.0 hf14f497_3 conda-forge
libstdcxx-ng 12.2.0 h46fd767_19 conda-forge
libsystemd0 252 h2a991cd_0 conda-forge
libtiff 4.5.0 h6adf6a1_2 conda-forge
libtool 2.4.7 h27087fc_0 conda-forge
libudev1 252 h166bdaf_0 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libvorbis 1.3.7 h9c3ff4c_0 conda-forge
libwebp-base 1.2.4 h166bdaf_0 conda-forge
libxcb 1.13 h7f98852_1004 conda-forge
libxkbcommon 1.0.3 he3ba5ed_0 conda-forge
libxml2 2.10.3 h7463322_0 conda-forge
libzlib 1.2.13 h166bdaf_4 conda-forge
libzopfli 1.0.3 h9c3ff4c_0 conda-forge
locket 1.0.0 pyhd8ed1ab_0 conda-forge
lz4-c 1.9.4 hcb278e6_0 conda-forge
make 4.3 hd18ef5c_1 conda-forge
markdown-it-py 1.1.0 pyhd8ed1ab_0 conda-forge
markupsafe 2.1.2 py310h1fa729e_0 conda-forge
matplotlib 3.6.3 py310hff52083_0 conda-forge
matplotlib-base 3.6.3 py310he60537e_0 conda-forge
matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge
mccabe 0.7.0 pyhd8ed1ab_0 conda-forge
mdit-py-plugins 0.2.8 pyhd8ed1ab_0 conda-forge
mistune 2.0.5 pyhd8ed1ab_0 conda-forge
more-itertools 9.0.0 pyhd8ed1ab_0 conda-forge
mpg123 1.31.2 hcb278e6_0 conda-forge
mr-proper 0.0.7 pyhd8ed1ab_0 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
mypy_extensions 1.0.0 pyha770c72_0 conda-forge
mysql-common 8.0.32 ha901b37_0 conda-forge
mysql-libs 8.0.32 hd7da12d_0 conda-forge
myst-parser 0.15.2 pyhd8ed1ab_0 conda-forge
nbclient 0.7.2 pyhd8ed1ab_0 conda-forge
nbconvert 7.2.9 pyhd8ed1ab_0 conda-forge
nbconvert-core 7.2.9 pyhd8ed1ab_0 conda-forge
nbconvert-pandoc 7.2.9 pyhd8ed1ab_0 conda-forge
nbformat 5.7.3 pyhd8ed1ab_0 conda-forge
ncurses 6.3 h27087fc_1 conda-forge
nest-asyncio 1.5.6 pyhd8ed1ab_0 conda-forge
networkx 3.0 pyhd8ed1ab_0 conda-forge
nspr 4.35 h27087fc_0 conda-forge
nss 3.82 he02c5a1_0 conda-forge
numpy 1.24.2 py310h8deb116_0 conda-forge
openjpeg 2.5.0 hfec8fc6_2 conda-forge
openssl 3.0.8 h0b41bf4_0 conda-forge
packaging 23.0 pyhd8ed1ab_0 conda-forge
pandas 1.5.3 py310h9b08913_0 conda-forge
pandoc 2.19.2 h32600fe_1 conda-forge
pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge
parso 0.8.3 pyhd8ed1ab_0 conda-forge
partd 1.3.0 pyhd8ed1ab_0 conda-forge
pathspec 0.11.0 pyhd8ed1ab_0 conda-forge
pcre2 10.40 hc3806b6_0 conda-forge
pep517 0.13.0 pyhd8ed1ab_0 conda-forge
pep8-naming 0.13.3 pyhd8ed1ab_0 conda-forge
pexpect 4.8.0 pyh1a96a4e_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pillow 9.4.0 py310h023d228_1 conda-forge
pip 23.0 pyhd8ed1ab_0 conda-forge
pixman 0.40.0 h36c2ea0_0 conda-forge
pkginfo 1.9.6 pyhd8ed1ab_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge
platformdirs 3.0.0 pyhd8ed1ab_0 conda-forge
pluggy 1.0.0 pyhd8ed1ab_5 conda-forge
ply 3.11 py_1 conda-forge
pooch 1.6.0 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.36 pyha770c72_0 conda-forge
psutil 5.9.4 py310h5764c6d_0 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
pulseaudio 16.1 ha8d29e2_1 conda-forge
pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge
pycodestyle 2.10.0 pyhd8ed1ab_0 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pydata-sphinx-theme 0.8.1 pyhd8ed1ab_0 conda-forge
pyflakes 3.0.1 pyhd8ed1ab_0 conda-forge
pygments 2.14.0 pyhd8ed1ab_0 conda-forge
pyopenssl 23.0.0 pyhd8ed1ab_0 conda-forge
pyparsing 3.0.9 pyhd8ed1ab_0 conda-forge
pyqt 5.15.7 py310hab646b1_3 conda-forge
pyqt5-sip 12.11.0 py310heca2aa9_3 conda-forge
pyrsistent 0.19.3 py310h1fa729e_0 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
pytest 7.2.1 pyhd8ed1ab_0 conda-forge
pytest-cov 4.0.0 pyhd8ed1ab_0 conda-forge
python 3.10.0 h543edf9_3_cpython conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python-fastjsonschema 2.16.2 pyhd8ed1ab_0 conda-forge
python_abi 3.10 3_cp310 conda-forge
pytz 2022.7.1 pyhd8ed1ab_0 conda-forge
pywavelets 1.4.1 py310h0a54255_0 conda-forge
pyyaml 6.0 py310h5764c6d_5 conda-forge
pyzmq 25.0.0 py310h059b190_0 conda-forge
qt-main 5.15.6 h602db52_6 conda-forge
readline 8.1.2 h0f457ee_0 conda-forge
readme_renderer 37.3 pyhd8ed1ab_0 conda-forge
requests 2.28.2 pyhd8ed1ab_0 conda-forge
requests-toolbelt 0.10.1 pyhd8ed1ab_0 conda-forge
restructuredtext_lint 1.4.0 pyhd8ed1ab_0 conda-forge
rfc3986 2.0.0 pyhd8ed1ab_0 conda-forge
rich 13.2.0 pyhd8ed1ab_0 conda-forge
scikit-image 0.19.3 py310h769672d_2 conda-forge
scipy 1.10.0 py310h8deb116_2 conda-forge
secretstorage 3.3.3 py310hff52083_1 conda-forge
setuptools 67.1.0 pyhd8ed1ab_0 conda-forge
sip 6.7.7 py310heca2aa9_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
snappy 1.1.9 hbd366e4_2 conda-forge
snowballstemmer 2.2.0 pyhd8ed1ab_0 conda-forge
soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge
sphinx 4.5.0 pyh6c4a22f_0 conda-forge
sphinx-book-theme 0.3.3 pyhd8ed1ab_0 conda-forge
sphinx-copybutton 0.5.0 pyhd8ed1ab_0 conda-forge
sphinx-design 0.1.0 pyhd8ed1ab_0 conda-forge
sphinxcontrib-applehelp 1.0.4 pyhd8ed1ab_0 conda-forge
sphinxcontrib-devhelp 1.0.2 py_0 conda-forge
sphinxcontrib-htmlhelp 2.0.1 pyhd8ed1ab_0 conda-forge
sphinxcontrib-jsmath 1.0.1 py_0 conda-forge
sphinxcontrib-qthelp 1.0.3 py_0 conda-forge
sphinxcontrib-serializinghtml 1.1.5 pyhd8ed1ab_2 conda-forge
sqlite 3.40.0 h4ff8645_0 conda-forge
stack_data 0.6.2 pyhd8ed1ab_0 conda-forge
stdlib-list 0.8.0 pyhd8ed1ab_0 conda-forge
tifffile 2023.2.3 pyhd8ed1ab_0 conda-forge
tinycss2 1.2.1 pyhd8ed1ab_0 conda-forge
tk 8.6.12 h27826a3_0 conda-forge
toml 0.10.2 pyhd8ed1ab_0 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
toolz 0.12.0 pyhd8ed1ab_0 conda-forge
tornado 6.2 py310h5764c6d_1 conda-forge
traitlets 5.9.0 pyhd8ed1ab_0 conda-forge
twine 4.0.2 pyhd8ed1ab_0 conda-forge
typing-extensions 4.4.0 hd8ed1ab_0 conda-forge
typing_extensions 4.4.0 pyha770c72_0 conda-forge
tzdata 2022g h191b570_0 conda-forge
unicodedata2 15.0.0 py310h5764c6d_0 conda-forge
urllib3 1.26.14 pyhd8ed1ab_0 conda-forge
wcwidth 0.2.6 pyhd8ed1ab_0 conda-forge
webencodings 0.5.1 py_1 conda-forge
wheel 0.38.4 pyhd8ed1ab_0 conda-forge
widgetsnbextension 4.0.5 pyhd8ed1ab_0 conda-forge
xarray 2023.2.0 pyhd8ed1ab_0 conda-forge
xcb-util 0.4.0 h516909a_0 conda-forge
xcb-util-image 0.4.0 h166bdaf_0 conda-forge
xcb-util-keysyms 0.4.0 h516909a_0 conda-forge
xcb-util-renderutil 0.3.9 h166bdaf_0 conda-forge
xcb-util-wm 0.4.1 h516909a_0 conda-forge
xlandsat 0.2.0.post0 pypi_0 pypi
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.0.10 h7f98852_0 conda-forge
xorg-libsm 1.2.3 hd9c2040_1000 conda-forge
xorg-libx11 1.7.2 h7f98852_0 conda-forge
xorg-libxau 1.0.9 h7f98852_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h7f98852_1 conda-forge
xorg-libxrender 0.9.10 h7f98852_1003 conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 conda-forge
xorg-xextproto 7.3.0 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
zeromq 4.3.4 h9c3ff4c_1 conda-forge
zfp 1.0.0 h27087fc_3 conda-forge
zipp 3.12.1 pyhd8ed1ab_0 conda-forge
zlib 1.2.13 h166bdaf_4 conda-forge
zlib-ng 2.0.6 h166bdaf_0 conda-forge
zstd 1.5.2 h3eb15da_6 conda-forge