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

lock file out-of-date for streamlit pypi package + multienv #2373

Closed
2 tasks done
ytausch opened this issue Oct 29, 2024 · 7 comments · Fixed by #2652
Closed
2 tasks done

lock file out-of-date for streamlit pypi package + multienv #2373

ytausch opened this issue Oct 29, 2024 · 7 comments · Fixed by #2652

Comments

@ytausch
Copy link
Contributor

ytausch commented Oct 29, 2024

Checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

This is the pixi.toml:

[project]
name = "lockfile-issue"
version = "0.1.0"
channels = ["conda-forge"]
platforms = ["osx-arm64"]

[dependencies]
python = "3.12.*"

[feature.dev.dependencies]
python = "3.12.*"

[pypi-dependencies]
streamlit = ">=1.39.0,<2"

[environments]
dev = { features = ["dev"], no-default-feature = true }

Execute the following commands:

pixi install
pixi install --locked

Issue description

The lock file is out-of-date, although it should be:

× lock-file not up-to-date with the project

Interestingly, enabling the default feature for dev gets rid of the error.

pixi.lock
version: 5
environments:
  default:
    channels:
    - url: https://conda.anaconda.org/conda-forge/
    indexes:
    - https://pypi.org/simple
    packages:
      osx-arm64:
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda
      - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2
      - pypi: https://files.pythonhosted.org/packages/9b/52/4a86a4fa1cc2aae79137cc9510b7080c3e5aede2310d14fae5486feec7f7/altair-5.4.1-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/a4/07/14f8ad37f2d12a5ce41206c21820d8cb6561b728e51fad4530dff0552a67/cachetools-5.5.0-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/83/db/7e7863772deb3d283fd0579deecdc19fcbde311a8fa169fc59bfd7700c84/narwhals-1.11.1-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/b0/29/cb48a402ea879e645b16218718f3f7d9588a77d674a9dcf22e4c43487636/numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/1c/f2/baf397f3dd1d3e4af7e3f5a0382b868d25ac068eefe1ebde05132333436c/protobuf-5.28.3-cp38-abi3-macosx_10_9_universal2.whl
      - pypi: https://files.pythonhosted.org/packages/e4/ea/a7f77688e6c529723b37589af4db3e7179414e223878301907c5bd49d6bc/pyarrow-18.0.0-cp312-cp312-macosx_12_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/ab/4c/b888e6cf58bd9db9c93f40d1c6be8283ff49d88919231afe93a6bcf61626/pydeck-0.9.1-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/9a/e2/10e9819cf4a20bd8ea2f5dabafc2e6bf4a78d6a0965daeb60a4b34d1c11f/rich-13.9.3-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/b8/ad/fc82be4eaceb8d444cb6fc1956ce972b3a0795104279de05e0e4131d0a47/rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
      - pypi: https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/ef/e1/f9c479f9dbe0bb702ea5ca6608f10e91a708b438f7fb4572a2642718c6e3/streamlit-1.39.0-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/00/d9/c33be3c1a7564f7d42d87a8d186371a75fd142097076767a5c27da941fef/tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl
      - pypi: https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl
      - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl
  dev:
    channels:
    - url: https://conda.anaconda.org/conda-forge/
    packages:
      osx-arm64:
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda
      - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda
      - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2
packages:
- kind: pypi
  name: altair
  version: 5.4.1
  url: https://files.pythonhosted.org/packages/9b/52/4a86a4fa1cc2aae79137cc9510b7080c3e5aede2310d14fae5486feec7f7/altair-5.4.1-py3-none-any.whl
  sha256: 0fb130b8297a569d08991fb6fe763582e7569f8a04643bbd9212436e3be04aef
  requires_dist:
  - jinja2
  - jsonschema>=3.0
  - narwhals>=1.5.2
  - packaging
  - typing-extensions>=4.10.0 ; python_full_version < '3.13'
  - altair-tiles>=0.3.0 ; extra == 'all'
  - anywidget>=0.9.0 ; extra == 'all'
  - numpy ; extra == 'all'
  - pandas>=0.25.3 ; extra == 'all'
  - pyarrow>=11 ; extra == 'all'
  - vega-datasets>=0.9.0 ; extra == 'all'
  - vegafusion[embed]>=1.6.6 ; extra == 'all'
  - vl-convert-python>=1.6.0 ; extra == 'all'
  - geopandas ; extra == 'dev'
  - hatch ; extra == 'dev'
  - ibis-framework[polars] ; extra == 'dev'
  - ipython[kernel] ; extra == 'dev'
  - mistune ; extra == 'dev'
  - mypy ; extra == 'dev'
  - pandas-stubs ; extra == 'dev'
  - pandas>=0.25.3 ; extra == 'dev'
  - polars>=0.20.3 ; extra == 'dev'
  - pytest ; extra == 'dev'
  - pytest-cov ; extra == 'dev'
  - pytest-xdist[psutil]~=3.5 ; extra == 'dev'
  - ruff>=0.6.0 ; extra == 'dev'
  - types-jsonschema ; extra == 'dev'
  - types-setuptools ; extra == 'dev'
  - docutils ; extra == 'doc'
  - jinja2 ; extra == 'doc'
  - myst-parser ; extra == 'doc'
  - numpydoc ; extra == 'doc'
  - pillow<10,>=9 ; extra == 'doc'
  - pydata-sphinx-theme>=0.14.1 ; extra == 'doc'
  - scipy ; extra == 'doc'
  - sphinx ; extra == 'doc'
  - sphinx-copybutton ; extra == 'doc'
  - sphinx-design ; extra == 'doc'
  - sphinxext-altair ; extra == 'doc'
  requires_python: '>=3.8'
- kind: pypi
  name: attrs
  version: 24.2.0
  url: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl
  sha256: 81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2
  requires_dist:
  - importlib-metadata ; python_full_version < '3.8'
  - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'benchmark'
  - hypothesis ; extra == 'benchmark'
  - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'benchmark'
  - pympler ; extra == 'benchmark'
  - pytest-codspeed ; extra == 'benchmark'
  - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'benchmark'
  - pytest-xdist[psutil] ; extra == 'benchmark'
  - pytest>=4.3.0 ; extra == 'benchmark'
  - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'cov'
  - coverage[toml]>=5.3 ; extra == 'cov'
  - hypothesis ; extra == 'cov'
  - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'cov'
  - pympler ; extra == 'cov'
  - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'cov'
  - pytest-xdist[psutil] ; extra == 'cov'
  - pytest>=4.3.0 ; extra == 'cov'
  - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'dev'
  - hypothesis ; extra == 'dev'
  - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'dev'
  - pre-commit ; extra == 'dev'
  - pympler ; extra == 'dev'
  - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'dev'
  - pytest-xdist[psutil] ; extra == 'dev'
  - pytest>=4.3.0 ; extra == 'dev'
  - cogapp ; extra == 'docs'
  - furo ; extra == 'docs'
  - myst-parser ; extra == 'docs'
  - sphinx ; extra == 'docs'
  - sphinx-notfound-page ; extra == 'docs'
  - sphinxcontrib-towncrier ; extra == 'docs'
  - towncrier<24.7 ; extra == 'docs'
  - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'tests'
  - hypothesis ; extra == 'tests'
  - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'tests'
  - pympler ; extra == 'tests'
  - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'tests'
  - pytest-xdist[psutil] ; extra == 'tests'
  - pytest>=4.3.0 ; extra == 'tests'
  - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'tests-mypy'
  - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'tests-mypy'
  requires_python: '>=3.7'
- kind: pypi
  name: blinker
  version: 1.8.2
  url: https://files.pythonhosted.org/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl
  sha256: 1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01
  requires_python: '>=3.8'
- kind: conda
  name: bzip2
  version: 1.0.8
  build: h99b78c6_7
  build_number: 7
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
  sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91
  md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab
  depends:
  - __osx >=11.0
  license: bzip2-1.0.6
  license_family: BSD
  purls: []
  size: 122909
  timestamp: 1720974522888
- kind: conda
  name: bzip2
  version: 1.0.8
  build: h99b78c6_7
  build_number: 7
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
  sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91
  md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab
  depends:
  - __osx >=11.0
  license: bzip2-1.0.6
  license_family: BSD
  size: 122909
  timestamp: 1720974522888
- kind: conda
  name: ca-certificates
  version: 2024.8.30
  build: hf0a4a13_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda
  sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709
  md5: 40dec13fd8348dbe303e57be74bd3d35
  license: ISC
  purls: []
  size: 158482
  timestamp: 1725019034582
- kind: conda
  name: ca-certificates
  version: 2024.8.30
  build: hf0a4a13_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda
  sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709
  md5: 40dec13fd8348dbe303e57be74bd3d35
  license: ISC
  size: 158482
  timestamp: 1725019034582
- kind: pypi
  name: cachetools
  version: 5.5.0
  url: https://files.pythonhosted.org/packages/a4/07/14f8ad37f2d12a5ce41206c21820d8cb6561b728e51fad4530dff0552a67/cachetools-5.5.0-py3-none-any.whl
  sha256: 02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292
  requires_python: '>=3.7'
- kind: pypi
  name: certifi
  version: 2024.8.30
  url: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl
  sha256: 922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8
  requires_python: '>=3.6'
- kind: pypi
  name: charset-normalizer
  version: 3.4.0
  url: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl
  sha256: 4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db
  requires_python: '>=3.7.0'
- kind: pypi
  name: click
  version: 8.1.7
  url: https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl
  sha256: ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28
  requires_dist:
  - colorama ; platform_system == 'Windows'
  - importlib-metadata ; python_full_version < '3.8'
  requires_python: '>=3.7'
- kind: pypi
  name: gitdb
  version: 4.0.11
  url: https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl
  sha256: 81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4
  requires_dist:
  - smmap<6,>=3.0.1
  requires_python: '>=3.7'
- kind: pypi
  name: gitpython
  version: 3.1.43
  url: https://files.pythonhosted.org/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl
  sha256: eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff
  requires_dist:
  - gitdb<5,>=4.0.1
  - typing-extensions>=3.7.4.3 ; python_full_version < '3.8'
  - sphinx==4.3.2 ; extra == 'doc'
  - sphinx-rtd-theme ; extra == 'doc'
  - sphinxcontrib-applehelp<=1.0.4,>=1.0.2 ; extra == 'doc'
  - sphinxcontrib-devhelp==1.0.2 ; extra == 'doc'
  - sphinxcontrib-htmlhelp<=2.0.1,>=2.0.0 ; extra == 'doc'
  - sphinxcontrib-qthelp==1.0.3 ; extra == 'doc'
  - sphinxcontrib-serializinghtml==1.1.5 ; extra == 'doc'
  - sphinx-autodoc-typehints ; extra == 'doc'
  - coverage[toml] ; extra == 'test'
  - ddt!=1.4.3,>=1.1.1 ; extra == 'test'
  - mypy ; extra == 'test'
  - pre-commit ; extra == 'test'
  - pytest>=7.3.1 ; extra == 'test'
  - pytest-cov ; extra == 'test'
  - pytest-instafail ; extra == 'test'
  - pytest-mock ; extra == 'test'
  - pytest-sugar ; extra == 'test'
  - typing-extensions ; python_full_version < '3.11' and extra == 'test'
  - mock ; python_full_version < '3.8' and extra == 'test'
  requires_python: '>=3.7'
- kind: pypi
  name: idna
  version: '3.10'
  url: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
  sha256: 946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
  requires_dist:
  - ruff>=0.6.2 ; extra == 'all'
  - mypy>=1.11.2 ; extra == 'all'
  - pytest>=8.3.2 ; extra == 'all'
  - flake8>=7.1.1 ; extra == 'all'
  requires_python: '>=3.6'
- kind: pypi
  name: jinja2
  version: 3.1.4
  url: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl
  sha256: bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d
  requires_dist:
  - markupsafe>=2.0
  - babel>=2.7 ; extra == 'i18n'
  requires_python: '>=3.7'
- kind: pypi
  name: jsonschema
  version: 4.23.0
  url: https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl
  sha256: fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566
  requires_dist:
  - attrs>=22.2.0
  - importlib-resources>=1.4.0 ; python_full_version < '3.9'
  - jsonschema-specifications>=2023.3.6
  - pkgutil-resolve-name>=1.3.10 ; python_full_version < '3.9'
  - referencing>=0.28.4
  - rpds-py>=0.7.1
  - fqdn ; extra == 'format'
  - idna ; extra == 'format'
  - isoduration ; extra == 'format'
  - jsonpointer>1.13 ; extra == 'format'
  - rfc3339-validator ; extra == 'format'
  - rfc3987 ; extra == 'format'
  - uri-template ; extra == 'format'
  - webcolors>=1.11 ; extra == 'format'
  - fqdn ; extra == 'format-nongpl'
  - idna ; extra == 'format-nongpl'
  - isoduration ; extra == 'format-nongpl'
  - jsonpointer>1.13 ; extra == 'format-nongpl'
  - rfc3339-validator ; extra == 'format-nongpl'
  - rfc3986-validator>0.1.0 ; extra == 'format-nongpl'
  - uri-template ; extra == 'format-nongpl'
  - webcolors>=24.6.0 ; extra == 'format-nongpl'
  requires_python: '>=3.8'
- kind: pypi
  name: jsonschema-specifications
  version: 2024.10.1
  url: https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl
  sha256: a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf
  requires_dist:
  - referencing>=0.31.0
  requires_python: '>=3.9'
- kind: conda
  name: libexpat
  version: 2.6.3
  build: hf9b8971_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda
  sha256: 5cbe5a199fba14ade55457a468ce663aac0b54832c39aa54470b3889b4c75c4a
  md5: 5f22f07c2ab2dea8c66fe9585a062c96
  depends:
  - __osx >=11.0
  constrains:
  - expat 2.6.3.*
  license: MIT
  license_family: MIT
  purls: []
  size: 63895
  timestamp: 1725568783033
- kind: conda
  name: libexpat
  version: 2.6.3
  build: hf9b8971_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda
  sha256: 5cbe5a199fba14ade55457a468ce663aac0b54832c39aa54470b3889b4c75c4a
  md5: 5f22f07c2ab2dea8c66fe9585a062c96
  depends:
  - __osx >=11.0
  constrains:
  - expat 2.6.3.*
  license: MIT
  license_family: MIT
  size: 63895
  timestamp: 1725568783033
- kind: conda
  name: libffi
  version: 3.4.2
  build: h3422bc3_5
  build_number: 5
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2
  sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca
  md5: 086914b672be056eb70fd4285b6783b6
  license: MIT
  license_family: MIT
  purls: []
  size: 39020
  timestamp: 1636488587153
- kind: conda
  name: libffi
  version: 3.4.2
  build: h3422bc3_5
  build_number: 5
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2
  sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca
  md5: 086914b672be056eb70fd4285b6783b6
  license: MIT
  license_family: MIT
  size: 39020
  timestamp: 1636488587153
- kind: conda
  name: libsqlite
  version: 3.47.0
  build: hbaaea75_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda
  sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e
  md5: 07a14fbe439eef078cc479deca321161
  depends:
  - __osx >=11.0
  - libzlib >=1.3.1,<2.0a0
  license: Unlicense
  purls: []
  size: 837683
  timestamp: 1730208293578
- kind: conda
  name: libsqlite
  version: 3.47.0
  build: hbaaea75_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda
  sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e
  md5: 07a14fbe439eef078cc479deca321161
  depends:
  - __osx >=11.0
  - libzlib >=1.3.1,<2.0a0
  license: Unlicense
  size: 837683
  timestamp: 1730208293578
- kind: conda
  name: libzlib
  version: 1.3.1
  build: h8359307_2
  build_number: 2
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
  sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b
  md5: 369964e85dc26bfe78f41399b366c435
  depends:
  - __osx >=11.0
  constrains:
  - zlib 1.3.1 *_2
  license: Zlib
  license_family: Other
  purls: []
  size: 46438
  timestamp: 1727963202283
- kind: conda
  name: libzlib
  version: 1.3.1
  build: h8359307_2
  build_number: 2
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
  sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b
  md5: 369964e85dc26bfe78f41399b366c435
  depends:
  - __osx >=11.0
  constrains:
  - zlib 1.3.1 *_2
  license: Zlib
  license_family: Other
  size: 46438
  timestamp: 1727963202283
- kind: pypi
  name: markdown-it-py
  version: 3.0.0
  url: https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl
  sha256: 355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1
  requires_dist:
  - mdurl~=0.1
  - psutil ; extra == 'benchmarking'
  - pytest ; extra == 'benchmarking'
  - pytest-benchmark ; extra == 'benchmarking'
  - pre-commit~=3.0 ; extra == 'code-style'
  - commonmark~=0.9 ; extra == 'compare'
  - markdown~=3.4 ; extra == 'compare'
  - mistletoe~=1.0 ; extra == 'compare'
  - mistune~=2.0 ; extra == 'compare'
  - panflute~=2.3 ; extra == 'compare'
  - linkify-it-py>=1,<3 ; extra == 'linkify'
  - mdit-py-plugins ; extra == 'plugins'
  - gprof2dot ; extra == 'profiling'
  - mdit-py-plugins ; extra == 'rtd'
  - myst-parser ; extra == 'rtd'
  - pyyaml ; extra == 'rtd'
  - sphinx ; extra == 'rtd'
  - sphinx-copybutton ; extra == 'rtd'
  - sphinx-design ; extra == 'rtd'
  - sphinx-book-theme ; extra == 'rtd'
  - jupyter-sphinx ; extra == 'rtd'
  - coverage ; extra == 'testing'
  - pytest ; extra == 'testing'
  - pytest-cov ; extra == 'testing'
  - pytest-regressions ; extra == 'testing'
  requires_python: '>=3.8'
- kind: pypi
  name: markupsafe
  version: 3.0.2
  url: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl
  sha256: 846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225
  requires_python: '>=3.9'
- kind: pypi
  name: mdurl
  version: 0.1.2
  url: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl
  sha256: 84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8
  requires_python: '>=3.7'
- kind: pypi
  name: narwhals
  version: 1.11.1
  url: https://files.pythonhosted.org/packages/83/db/7e7863772deb3d283fd0579deecdc19fcbde311a8fa169fc59bfd7700c84/narwhals-1.11.1-py3-none-any.whl
  sha256: 2bcf7c1649668f3b3ad1410c52f456da0a81b725a4c33f716062d0021354f049
  requires_dist:
  - cudf>=23.8.0 ; extra == 'cudf'
  - dask[dataframe]>=2024.7 ; extra == 'dask'
  - modin ; extra == 'modin'
  - pandas>=0.25.3 ; extra == 'pandas'
  - polars>=0.20.3 ; extra == 'polars'
  - pyarrow>=11.0.0 ; extra == 'pyarrow'
  requires_python: '>=3.8'
- kind: conda
  name: ncurses
  version: '6.5'
  build: h7bae524_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda
  sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc
  md5: cb2b0ea909b97b3d70cd3921d1445e1a
  depends:
  - __osx >=11.0
  license: X11 AND BSD-3-Clause
  purls: []
  size: 802321
  timestamp: 1724658775723
- kind: conda
  name: ncurses
  version: '6.5'
  build: h7bae524_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda
  sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc
  md5: cb2b0ea909b97b3d70cd3921d1445e1a
  depends:
  - __osx >=11.0
  license: X11 AND BSD-3-Clause
  size: 802321
  timestamp: 1724658775723
- kind: pypi
  name: numpy
  version: 2.1.2
  url: https://files.pythonhosted.org/packages/b0/29/cb48a402ea879e645b16218718f3f7d9588a77d674a9dcf22e4c43487636/numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
  sha256: b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db
  requires_python: '>=3.10'
- kind: conda
  name: openssl
  version: 3.3.2
  build: h8359307_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda
  sha256: 940fa01c4dc6152158fe8943e05e55a1544cab639df0994e3b35937839e4f4d1
  md5: 1773ebccdc13ec603356e8ff1db9e958
  depends:
  - __osx >=11.0
  - ca-certificates
  license: Apache-2.0
  license_family: Apache
  purls: []
  size: 2882450
  timestamp: 1725410638874
- kind: conda
  name: openssl
  version: 3.3.2
  build: h8359307_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda
  sha256: 940fa01c4dc6152158fe8943e05e55a1544cab639df0994e3b35937839e4f4d1
  md5: 1773ebccdc13ec603356e8ff1db9e958
  depends:
  - __osx >=11.0
  - ca-certificates
  license: Apache-2.0
  license_family: Apache
  size: 2882450
  timestamp: 1725410638874
- kind: pypi
  name: packaging
  version: '24.1'
  url: https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl
  sha256: 5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
  requires_python: '>=3.8'
- kind: pypi
  name: pandas
  version: 2.2.3
  url: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl
  sha256: a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4
  requires_dist:
  - numpy>=1.22.4 ; python_full_version < '3.11'
  - numpy>=1.23.2 ; python_full_version == '3.11.*'
  - numpy>=1.26.0 ; python_full_version >= '3.12'
  - python-dateutil>=2.8.2
  - pytz>=2020.1
  - tzdata>=2022.7
  - hypothesis>=6.46.1 ; extra == 'test'
  - pytest>=7.3.2 ; extra == 'test'
  - pytest-xdist>=2.2.0 ; extra == 'test'
  - pyarrow>=10.0.1 ; extra == 'pyarrow'
  - bottleneck>=1.3.6 ; extra == 'performance'
  - numba>=0.56.4 ; extra == 'performance'
  - numexpr>=2.8.4 ; extra == 'performance'
  - scipy>=1.10.0 ; extra == 'computation'
  - xarray>=2022.12.0 ; extra == 'computation'
  - fsspec>=2022.11.0 ; extra == 'fss'
  - s3fs>=2022.11.0 ; extra == 'aws'
  - gcsfs>=2022.11.0 ; extra == 'gcp'
  - pandas-gbq>=0.19.0 ; extra == 'gcp'
  - odfpy>=1.4.1 ; extra == 'excel'
  - openpyxl>=3.1.0 ; extra == 'excel'
  - python-calamine>=0.1.7 ; extra == 'excel'
  - pyxlsb>=1.0.10 ; extra == 'excel'
  - xlrd>=2.0.1 ; extra == 'excel'
  - xlsxwriter>=3.0.5 ; extra == 'excel'
  - pyarrow>=10.0.1 ; extra == 'parquet'
  - pyarrow>=10.0.1 ; extra == 'feather'
  - tables>=3.8.0 ; extra == 'hdf5'
  - pyreadstat>=1.2.0 ; extra == 'spss'
  - sqlalchemy>=2.0.0 ; extra == 'postgresql'
  - psycopg2>=2.9.6 ; extra == 'postgresql'
  - adbc-driver-postgresql>=0.8.0 ; extra == 'postgresql'
  - sqlalchemy>=2.0.0 ; extra == 'mysql'
  - pymysql>=1.0.2 ; extra == 'mysql'
  - sqlalchemy>=2.0.0 ; extra == 'sql-other'
  - adbc-driver-postgresql>=0.8.0 ; extra == 'sql-other'
  - adbc-driver-sqlite>=0.8.0 ; extra == 'sql-other'
  - beautifulsoup4>=4.11.2 ; extra == 'html'
  - html5lib>=1.1 ; extra == 'html'
  - lxml>=4.9.2 ; extra == 'html'
  - lxml>=4.9.2 ; extra == 'xml'
  - matplotlib>=3.6.3 ; extra == 'plot'
  - jinja2>=3.1.2 ; extra == 'output-formatting'
  - tabulate>=0.9.0 ; extra == 'output-formatting'
  - pyqt5>=5.15.9 ; extra == 'clipboard'
  - qtpy>=2.3.0 ; extra == 'clipboard'
  - zstandard>=0.19.0 ; extra == 'compression'
  - dataframe-api-compat>=0.1.7 ; extra == 'consortium-standard'
  - adbc-driver-postgresql>=0.8.0 ; extra == 'all'
  - adbc-driver-sqlite>=0.8.0 ; extra == 'all'
  - beautifulsoup4>=4.11.2 ; extra == 'all'
  - bottleneck>=1.3.6 ; extra == 'all'
  - dataframe-api-compat>=0.1.7 ; extra == 'all'
  - fastparquet>=2022.12.0 ; extra == 'all'
  - fsspec>=2022.11.0 ; extra == 'all'
  - gcsfs>=2022.11.0 ; extra == 'all'
  - html5lib>=1.1 ; extra == 'all'
  - hypothesis>=6.46.1 ; extra == 'all'
  - jinja2>=3.1.2 ; extra == 'all'
  - lxml>=4.9.2 ; extra == 'all'
  - matplotlib>=3.6.3 ; extra == 'all'
  - numba>=0.56.4 ; extra == 'all'
  - numexpr>=2.8.4 ; extra == 'all'
  - odfpy>=1.4.1 ; extra == 'all'
  - openpyxl>=3.1.0 ; extra == 'all'
  - pandas-gbq>=0.19.0 ; extra == 'all'
  - psycopg2>=2.9.6 ; extra == 'all'
  - pyarrow>=10.0.1 ; extra == 'all'
  - pymysql>=1.0.2 ; extra == 'all'
  - pyqt5>=5.15.9 ; extra == 'all'
  - pyreadstat>=1.2.0 ; extra == 'all'
  - pytest>=7.3.2 ; extra == 'all'
  - pytest-xdist>=2.2.0 ; extra == 'all'
  - python-calamine>=0.1.7 ; extra == 'all'
  - pyxlsb>=1.0.10 ; extra == 'all'
  - qtpy>=2.3.0 ; extra == 'all'
  - scipy>=1.10.0 ; extra == 'all'
  - s3fs>=2022.11.0 ; extra == 'all'
  - sqlalchemy>=2.0.0 ; extra == 'all'
  - tables>=3.8.0 ; extra == 'all'
  - tabulate>=0.9.0 ; extra == 'all'
  - xarray>=2022.12.0 ; extra == 'all'
  - xlrd>=2.0.1 ; extra == 'all'
  - xlsxwriter>=3.0.5 ; extra == 'all'
  - zstandard>=0.19.0 ; extra == 'all'
  requires_python: '>=3.9'
- kind: pypi
  name: pillow
  version: 10.4.0
  url: https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl
  sha256: 866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597
  requires_dist:
  - furo ; extra == 'docs'
  - olefile ; extra == 'docs'
  - sphinx>=7.3 ; extra == 'docs'
  - sphinx-copybutton ; extra == 'docs'
  - sphinx-inline-tabs ; extra == 'docs'
  - sphinxext-opengraph ; extra == 'docs'
  - olefile ; extra == 'fpx'
  - olefile ; extra == 'mic'
  - check-manifest ; extra == 'tests'
  - coverage ; extra == 'tests'
  - defusedxml ; extra == 'tests'
  - markdown2 ; extra == 'tests'
  - olefile ; extra == 'tests'
  - packaging ; extra == 'tests'
  - pyroma ; extra == 'tests'
  - pytest ; extra == 'tests'
  - pytest-cov ; extra == 'tests'
  - pytest-timeout ; extra == 'tests'
  - typing-extensions ; python_full_version < '3.10' and extra == 'typing'
  - defusedxml ; extra == 'xmp'
  requires_python: '>=3.8'
- kind: pypi
  name: protobuf
  version: 5.28.3
  url: https://files.pythonhosted.org/packages/1c/f2/baf397f3dd1d3e4af7e3f5a0382b868d25ac068eefe1ebde05132333436c/protobuf-5.28.3-cp38-abi3-macosx_10_9_universal2.whl
  sha256: a3f6857551e53ce35e60b403b8a27b0295f7d6eb63d10484f12bc6879c715687
  requires_python: '>=3.8'
- kind: pypi
  name: pyarrow
  version: 18.0.0
  url: https://files.pythonhosted.org/packages/e4/ea/a7f77688e6c529723b37589af4db3e7179414e223878301907c5bd49d6bc/pyarrow-18.0.0-cp312-cp312-macosx_12_0_arm64.whl
  sha256: e7ab04f272f98ebffd2a0661e4e126036f6936391ba2889ed2d44c5006237802
  requires_dist:
  - pytest ; extra == 'test'
  - hypothesis ; extra == 'test'
  - cffi ; extra == 'test'
  - pytz ; extra == 'test'
  - pandas ; extra == 'test'
  requires_python: '>=3.9'
- kind: pypi
  name: pydeck
  version: 0.9.1
  url: https://files.pythonhosted.org/packages/ab/4c/b888e6cf58bd9db9c93f40d1c6be8283ff49d88919231afe93a6bcf61626/pydeck-0.9.1-py2.py3-none-any.whl
  sha256: b3f75ba0d273fc917094fa61224f3f6076ca8752b93d46faf3bcfd9f9d59b038
  requires_dist:
  - jinja2>=2.10.1
  - numpy>=1.16.4
  - pydeck-carto ; extra == 'carto'
  - ipywidgets<8,>=7 ; extra == 'jupyter'
  - traitlets>=4.3.2 ; extra == 'jupyter'
  - ipython>=5.8.0 ; python_full_version < '3.4' and extra == 'jupyter'
  - ipykernel>=5.1.2 ; python_full_version >= '3.4' and extra == 'jupyter'
  requires_python: '>=3.8'
- kind: pypi
  name: pygments
  version: 2.18.0
  url: https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl
  sha256: b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a
  requires_dist:
  - colorama>=0.4.6 ; extra == 'windows-terminal'
  requires_python: '>=3.8'
- kind: conda
  name: python
  version: 3.12.7
  build: h739c21a_0_cpython
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda
  sha256: 45d7ca2074aa92594bd2f91a9003b338cc1df8a46b9492b7fc8167110783c3ef
  md5: e0d82e57ebb456077565e6d82cd4a323
  depends:
  - __osx >=11.0
  - bzip2 >=1.0.8,<2.0a0
  - libexpat >=2.6.3,<3.0a0
  - libffi >=3.4,<4.0a0
  - libsqlite >=3.46.1,<4.0a0
  - libzlib >=1.3.1,<2.0a0
  - ncurses >=6.5,<7.0a0
  - openssl >=3.3.2,<4.0a0
  - readline >=8.2,<9.0a0
  - tk >=8.6.13,<8.7.0a0
  - tzdata
  - xz >=5.2.6,<6.0a0
  constrains:
  - python_abi 3.12.* *_cp312
  license: Python-2.0
  purls: []
  size: 12975439
  timestamp: 1728057819519
- kind: conda
  name: python
  version: 3.12.7
  build: h739c21a_0_cpython
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.7-h739c21a_0_cpython.conda
  sha256: 45d7ca2074aa92594bd2f91a9003b338cc1df8a46b9492b7fc8167110783c3ef
  md5: e0d82e57ebb456077565e6d82cd4a323
  depends:
  - __osx >=11.0
  - bzip2 >=1.0.8,<2.0a0
  - libexpat >=2.6.3,<3.0a0
  - libffi >=3.4,<4.0a0
  - libsqlite >=3.46.1,<4.0a0
  - libzlib >=1.3.1,<2.0a0
  - ncurses >=6.5,<7.0a0
  - openssl >=3.3.2,<4.0a0
  - readline >=8.2,<9.0a0
  - tk >=8.6.13,<8.7.0a0
  - tzdata
  - xz >=5.2.6,<6.0a0
  constrains:
  - python_abi 3.12.* *_cp312
  license: Python-2.0
  size: 12975439
  timestamp: 1728057819519
- kind: pypi
  name: python-dateutil
  version: 2.9.0.post0
  url: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
  sha256: a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
  requires_dist:
  - six>=1.5
  requires_python: '!=3.0.*,!=3.1.*,!=3.2.*,>=2.7'
- kind: pypi
  name: pytz
  version: '2024.2'
  url: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl
  sha256: 31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725
- kind: conda
  name: readline
  version: '8.2'
  build: h92ec313_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda
  sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884
  md5: 8cbb776a2f641b943d413b3e19df71f4
  depends:
  - ncurses >=6.3,<7.0a0
  license: GPL-3.0-only
  license_family: GPL
  purls: []
  size: 250351
  timestamp: 1679532511311
- kind: conda
  name: readline
  version: '8.2'
  build: h92ec313_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda
  sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884
  md5: 8cbb776a2f641b943d413b3e19df71f4
  depends:
  - ncurses >=6.3,<7.0a0
  license: GPL-3.0-only
  license_family: GPL
  size: 250351
  timestamp: 1679532511311
- kind: pypi
  name: referencing
  version: 0.35.1
  url: https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl
  sha256: eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de
  requires_dist:
  - attrs>=22.2.0
  - rpds-py>=0.7.0
  requires_python: '>=3.8'
- kind: pypi
  name: requests
  version: 2.32.3
  url: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl
  sha256: 70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
  requires_dist:
  - charset-normalizer<4,>=2
  - idna<4,>=2.5
  - urllib3<3,>=1.21.1
  - certifi>=2017.4.17
  - pysocks!=1.5.7,>=1.5.6 ; extra == 'socks'
  - chardet<6,>=3.0.2 ; extra == 'use-chardet-on-py3'
  requires_python: '>=3.8'
- kind: pypi
  name: rich
  version: 13.9.3
  url: https://files.pythonhosted.org/packages/9a/e2/10e9819cf4a20bd8ea2f5dabafc2e6bf4a78d6a0965daeb60a4b34d1c11f/rich-13.9.3-py3-none-any.whl
  sha256: 9836f5096eb2172c9e77df411c1b009bace4193d6a481d534fea75ebba758283
  requires_dist:
  - ipywidgets>=7.5.1,<9 ; extra == 'jupyter'
  - markdown-it-py>=2.2.0
  - pygments>=2.13.0,<3.0.0
  - typing-extensions>=4.0.0,<5.0 ; python_full_version < '3.11'
  requires_python: '>=3.8.0'
- kind: pypi
  name: rpds-py
  version: 0.20.0
  url: https://files.pythonhosted.org/packages/b8/ad/fc82be4eaceb8d444cb6fc1956ce972b3a0795104279de05e0e4131d0a47/rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
  sha256: 56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b
  requires_python: '>=3.8'
- kind: pypi
  name: six
  version: 1.16.0
  url: https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl
  sha256: 8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*'
- kind: pypi
  name: smmap
  version: 5.0.1
  url: https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl
  sha256: e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da
  requires_python: '>=3.7'
- kind: pypi
  name: streamlit
  version: 1.39.0
  url: https://files.pythonhosted.org/packages/ef/e1/f9c479f9dbe0bb702ea5ca6608f10e91a708b438f7fb4572a2642718c6e3/streamlit-1.39.0-py2.py3-none-any.whl
  sha256: a359fc54ed568b35b055ff1d453c320735539ad12e264365a36458aef55a5fba
  requires_dist:
  - altair<6,>=4.0
  - blinker<2,>=1.0.0
  - cachetools<6,>=4.0
  - click<9,>=7.0
  - numpy<3,>=1.20
  - packaging<25,>=20
  - pandas<3,>=1.4.0
  - pillow<11,>=7.1.0
  - protobuf<6,>=3.20
  - pyarrow>=7.0
  - requests<3,>=2.27
  - rich<14,>=10.14.0
  - tenacity<10,>=8.1.0
  - toml<2,>=0.10.1
  - typing-extensions<5,>=4.3.0
  - gitpython!=3.1.19,<4,>=3.0.7
  - pydeck<1,>=0.8.0b4
  - tornado<7,>=6.0.3
  - watchdog<6,>=2.1.5 ; platform_system != 'Darwin'
  - snowflake-snowpark-python[modin]>=1.17.0 ; python_full_version < '3.12' and extra == 'snowflake'
  - snowflake-connector-python>=2.8.0 ; python_full_version < '3.12' and extra == 'snowflake'
  requires_python: '>=3.8,!=3.9.7'
- kind: pypi
  name: tenacity
  version: 9.0.0
  url: https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl
  sha256: 93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539
  requires_dist:
  - reno ; extra == 'doc'
  - sphinx ; extra == 'doc'
  - pytest ; extra == 'test'
  - tornado>=4.5 ; extra == 'test'
  - typeguard ; extra == 'test'
  requires_python: '>=3.8'
- kind: conda
  name: tk
  version: 8.6.13
  build: h5083fa2_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda
  sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8
  md5: b50a57ba89c32b62428b71a875291c9b
  depends:
  - libzlib >=1.2.13,<2.0.0a0
  license: TCL
  license_family: BSD
  purls: []
  size: 3145523
  timestamp: 1699202432999
- kind: conda
  name: tk
  version: 8.6.13
  build: h5083fa2_1
  build_number: 1
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda
  sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8
  md5: b50a57ba89c32b62428b71a875291c9b
  depends:
  - libzlib >=1.2.13,<2.0.0a0
  license: TCL
  license_family: BSD
  size: 3145523
  timestamp: 1699202432999
- kind: pypi
  name: toml
  version: 0.10.2
  url: https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl
  sha256: 806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b
  requires_python: '>=2.6,!=3.0.*,!=3.1.*,!=3.2.*'
- kind: pypi
  name: tornado
  version: 6.4.1
  url: https://files.pythonhosted.org/packages/00/d9/c33be3c1a7564f7d42d87a8d186371a75fd142097076767a5c27da941fef/tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl
  sha256: 163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8
  requires_python: '>=3.8'
- kind: pypi
  name: typing-extensions
  version: 4.12.2
  url: https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl
  sha256: 04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d
  requires_python: '>=3.8'
- kind: pypi
  name: tzdata
  version: '2024.2'
  url: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl
  sha256: a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd
  requires_python: '>=2'
- kind: conda
  name: tzdata
  version: 2024b
  build: hc8b5060_0
  subdir: noarch
  noarch: generic
  url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda
  sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf
  md5: 8ac3367aafb1cc0a068483c580af8015
  license: LicenseRef-Public-Domain
  purls: []
  size: 122354
  timestamp: 1728047496079
- kind: conda
  name: tzdata
  version: 2024b
  build: hc8b5060_0
  subdir: noarch
  noarch: generic
  url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda
  sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf
  md5: 8ac3367aafb1cc0a068483c580af8015
  license: LicenseRef-Public-Domain
  size: 122354
  timestamp: 1728047496079
- kind: pypi
  name: urllib3
  version: 2.2.3
  url: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl
  sha256: ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac
  requires_dist:
  - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli'
  - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli'
  - h2<5,>=4 ; extra == 'h2'
  - pysocks!=1.5.7,<2.0,>=1.5.6 ; extra == 'socks'
  - zstandard>=0.18.0 ; extra == 'zstd'
  requires_python: '>=3.8'
- kind: conda
  name: xz
  version: 5.2.6
  build: h57fd34a_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2
  sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec
  md5: 39c6b54e94014701dd157f4f576ed211
  license: LGPL-2.1 and GPL-2.0
  purls: []
  size: 235693
  timestamp: 1660346961024
- kind: conda
  name: xz
  version: 5.2.6
  build: h57fd34a_0
  subdir: osx-arm64
  url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2
  sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec
  md5: 39c6b54e94014701dd157f4f576ed211
  license: LGPL-2.1 and GPL-2.0
  size: 235693
  timestamp: 1660346961024

Expected behavior

pixi install --locked should return normally.

@geoHeil
Copy link

geoHeil commented Dec 4, 2024

Is anyone else facing similar issues?

I have #2373 and the lock file is not working as intended somehow not updated. The particular example mentioned by the original poster is not reproducible for me. I am working on adding a reproducible example.

I am using 0.39 (current latest) pixi.

[dependencies]
python = "3.11"
pip = ">=24.2"

[environments]
foo = { features = [
  "foo",
], solve-group = "foo" }

[feature.foo.pypi-dependencies]
deepeval = "~=1.4.5"

[project]
name = "baz"
version = "1.0.0"
description = "bar"
authors = [
  "foo",
]
platforms = ["linux-64", "win-64", "osx-arm64"]
channels = ["conda-forge"]

to reproduce:

pixi install
pixi install --locked

@geoHeil
Copy link

geoHeil commented Dec 4, 2024

though: pixi install --frozen works

@ruben-arts
Copy link
Contributor

I just checkout your example @geoHeil, It's an interesting case.

tzdata is installed twice:

- kind: pypi
  name: tzdata
  version: '2024.2'
  url: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl
  sha256: a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd
  requires_python: '>=2'
- kind: conda
  name: tzdata
  version: 2024b
  build: hc8b5060_0
  subdir: noarch
  noarch: generic
  url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda
  sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf
  md5: 8ac3367aafb1cc0a068483c580af8015
  license: LicenseRef-Public-Domain
  size: 122354
  timestamp: 1728047496079

I would have expected the mapping to avoid this, but it seems to not be seen as a pypi package from the mapping: https://conda-mapping.prefix.dev/hash-v0/4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf
Which is https://conda-mapping.prefix.dev/hash-v0/{CONDA_SHA256} of the tzdata package.

It does indeed regress between v0.38.0 and v0.39.0. I'll need to investigate more why it would suddenly not accept this.

@geoHeil
Copy link

geoHeil commented Dec 4, 2024

#2621 (comment)

@ruben-arts
Copy link
Contributor

We found it. We'll fix this asap.

It's a bug in our conda-pypi-mapping purl logic. It was already existing in previous versions but it seems to be hit your example by sheer luck! Thanks for reporting it!

It's only an issue where you have environments with and without pypi-dependencies in one project. If all environments have pypi-dependencies or non have, then this issue will not be present.

@geoHeil
Copy link

geoHeil commented Dec 4, 2024

Awesome! And thanks for your speed.

@baszalmstra
Copy link
Contributor

I made an initial attempt at a fix here: conda/rattler#965

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants