Skip to content

Cannot modify pyproject.toml: list index out of range #9781

@ethan-neidhart37

Description

@ethan-neidhart37

Description

Any operation which would update the lockfile results in a list index out of range error. This includes poetry add <package>, poetry remove <package>, and poetry lock --no-update. Trying to add or remove any package triggers the error.

This doesn't affect all of my poetry projects, but the issue does seem to be "spreading" – I first noticed it a while ago but it just started happening in another one of my projects in the last couple days, and I can't think of any changes I made that might have caused it.

Other collaborators on these same projects do not have this issue, even on the same version of poetry.

Workarounds

I have not found any workarounds.

I've tried removing the poetry environment (poetry env remove $(basename $(poetry env info --path))) and reinstalling, clearing caches (poetry cache clear --all .) and reinstalling, deleting poetry.lock and reinstalling, deleting the entire local repository and re-cloning it, uninstalling and reinstalling poetry via pipx, and rebooting my computer, all to no avail.

Poetry Installation Method

pipx

Operating System

MacOS 15.0.1

Poetry Version

1.8.4

Poetry Configuration

> $ poetry config --list
cache-dir = "/Users/ethanneid/Library/Caches/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/ethanneid/Library/Caches/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true

Python Sysconfig

> $ python -m sysconfig
Platform: "macosx-14.7-arm64"
Python version: "3.12"
Current installation scheme: "venv"

Paths: 
        data = "/Users/ethanneid/Library/Caches/pypoetry/virtualenvs/erp-clients-Yf6K96dB-py3.12"
        include = "/Users/ethanneid/.pyenv/versions/3.12.7/include/python3.12"
        platinclude = "/Users/ethanneid/.pyenv/versions/3.12.7/include/python3.12"
        platlib = "/Users/ethanneid/Library/Caches/pypoetry/virtualenvs/erp-clients-Yf6K96dB-py3.12/lib/python3.12/site-packages"
        platstdlib = "/Users/ethanneid/Library/Caches/pypoetry/virtualenvs/erp-clients-Yf6K96dB-py3.12/lib/python3.12"
        purelib = "/Users/ethanneid/Library/Caches/pypoetry/virtualenvs/erp-clients-Yf6K96dB-py3.12/lib/python3.12/site-packages"
        scripts = "/Users/ethanneid/Library/Caches/pypoetry/virtualenvs/erp-clients-Yf6K96dB-py3.12/bin"
        stdlib = "/Users/ethanneid/.pyenv/versions/3.12.7/lib/python3.12"

Variables: 
        [cut due to length, will post below if necessary]

Example pyproject.toml

[tool.poetry]
name = "erp-clients"
version = "0.0.1"
description = "Interfaces for connecting to ERP systems"
authors = ["Tech Admin <[email protected]>"]
readme = "README.md"
packages = [{include = "src"}]

[tool.poetry.dependencies]
python = "^3.9"
arrow = "^1.3.0"
eulxml = "^1.1.3"
pydantic = "^1.9.1"
simplejson = "^3.19.3"
types-simplejson = "^3.19.0.20240801"
requests = "2.31.0"
types-requests = "2.31.0.6"
zeep = "^4.2.1"
types-urllib3 = "^1.26.25.14"
setuptools = "^75.1.0"
requests-toolbelt = "^1.0.0"
python-magic = "^0.4.27"
fastapi = "^0.115.0"

[tool.poetry.group.dev.dependencies]
black = "^24.8.0"
isort = "^5.13.2"
mypy = "^1.11.2"
pycodestyle = "^2.12.1"
autoflake = "^2.3.1"
pytest = "^8.3.3"
pytest-mock = "^3.14.0"
pytest-unordered = "^0.6.1"
requests-mock = "^1.12.1"
mock = "^5.1.0"
types-mock = "^5.1.0.20240425"
coverage = "^7.6.1"
pytest-cov = "^5.0.0"
pytest-xdist = "^3.6.1"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.scripts]
lint="scripts.lint:run_lint"
format="scripts.lint:run_formatting"
ci_test="scripts.ci_test:run"

[tool.mypy]
ignore_missing_imports = true
explicit_package_bases = true
namespace_packages = true
check_untyped_defs = true
exclude = ["venv/"]

Poetry Runtime Logs

> $ poetry remove fastapi -vvv
Loading configuration file /Users/ethanneid/Library/Application Support/pypoetry/config.toml
Using virtualenv: /Users/ethanneid/Library/Caches/pypoetry/virtualenvs/erp-clients-Yf6K96dB-py3.12
Updating dependencies
Resolving dependencies...
   1: fact: erp-clients is 0.0.1
   1: derived: erp-clients
   1: fact: erp-clients depends on arrow (^1.3.0)
   1: fact: erp-clients depends on eulxml (^1.1.3)
   1: fact: erp-clients depends on pydantic (^1.9.1)
   1: fact: erp-clients depends on simplejson (^3.19.3)
   1: fact: erp-clients depends on types-simplejson (^3.19.0.20240801)
   1: fact: erp-clients depends on requests (2.31.0)
   1: fact: erp-clients depends on types-requests (2.31.0.6)
   1: fact: erp-clients depends on zeep (^4.2.1)
   1: fact: erp-clients depends on types-urllib3 (^1.26.25.14)
   1: fact: erp-clients depends on setuptools (^75.1.0)
   1: fact: erp-clients depends on requests-toolbelt (^1.0.0)
   1: fact: erp-clients depends on python-magic (^0.4.27)
   1: fact: erp-clients depends on black (^24.8.0)
   1: fact: erp-clients depends on isort (^5.13.2)
   1: fact: erp-clients depends on mypy (^1.11.2)
   1: fact: erp-clients depends on pycodestyle (^2.12.1)
   1: fact: erp-clients depends on autoflake (^2.3.1)
   1: fact: erp-clients depends on pytest (^8.3.3)
   1: fact: erp-clients depends on pytest-mock (^3.14.0)
   1: fact: erp-clients depends on pytest-unordered (^0.6.1)
   1: fact: erp-clients depends on requests-mock (^1.12.1)
   1: fact: erp-clients depends on mock (^5.1.0)
   1: fact: erp-clients depends on types-mock (^5.1.0.20240425)
   1: fact: erp-clients depends on coverage (^7.6.1)
   1: fact: erp-clients depends on pytest-cov (^5.0.0)
   1: fact: erp-clients depends on pytest-xdist (^3.6.1)
   1: selecting erp-clients (0.0.1)
   1: derived: pytest-xdist (>=3.6.1,<4.0.0)
   1: derived: pytest-cov (>=5.0.0,<6.0.0)
   1: derived: coverage (>=7.6.1,<8.0.0)
   1: derived: types-mock (>=5.1.0.20240425,<6.0.0.0)
   1: derived: mock (>=5.1.0,<6.0.0)
   1: derived: requests-mock (>=1.12.1,<2.0.0)
   1: derived: pytest-unordered (>=0.6.1,<0.7.0)
   1: derived: pytest-mock (>=3.14.0,<4.0.0)
   1: derived: pytest (>=8.3.3,<9.0.0)
   1: derived: autoflake (>=2.3.1,<3.0.0)
   1: derived: pycodestyle (>=2.12.1,<3.0.0)
   1: derived: mypy (>=1.11.2,<2.0.0)
   1: derived: isort (>=5.13.2,<6.0.0)
   1: derived: black (>=24.8.0,<25.0.0)
   1: derived: python-magic (>=0.4.27,<0.5.0)
   1: derived: requests-toolbelt (>=1.0.0,<2.0.0)
   1: derived: setuptools (>=75.1.0,<76.0.0)
   1: derived: types-urllib3 (>=1.26.25.14,<2.0.0.0)
   1: derived: zeep (>=4.2.1,<5.0.0)
   1: derived: types-requests (==2.31.0.6)
   1: derived: requests (==2.31.0)
   1: derived: types-simplejson (>=3.19.0.20240801,<4.0.0.0)
   1: derived: simplejson (>=3.19.3,<4.0.0)
   1: derived: pydantic (>=1.9.1,<2.0.0)
   1: derived: eulxml (>=1.1.3,<2.0.0)
   1: derived: arrow (>=1.3.0,<2.0.0)
   1: fact: pytest-xdist (3.6.1) depends on execnet (>=2.1)
   1: fact: pytest-xdist (3.6.1) depends on pytest (>=7.0.0)
   1: selecting pytest-xdist (3.6.1)
   1: derived: execnet (>=2.1)
   1: fact: pytest-cov (5.0.0) depends on pytest (>=4.6)
   1: fact: pytest-cov (5.0.0) depends on coverage[toml] (>=5.2.1)
   1: selecting pytest-cov (5.0.0)
   1: derived: coverage[toml] (>=5.2.1)
   1: selecting coverage (7.6.1)
   1: selecting types-mock (5.1.0.20240425)
   1: selecting mock (5.1.0)
   1: fact: requests-mock (1.12.1) depends on requests (>=2.22,<3)
   1: selecting requests-mock (1.12.1)
   1: fact: pytest-unordered (0.6.1) depends on pytest (>=7.0.0)
   1: selecting pytest-unordered (0.6.1)
   1: fact: pytest-mock (3.14.0) depends on pytest (>=6.2.5)
   1: selecting pytest-mock (3.14.0)
   1: fact: pytest (8.3.3) depends on iniconfig (*)
   1: fact: pytest (8.3.3) depends on packaging (*)
   1: fact: pytest (8.3.3) depends on pluggy (>=1.5,<2)
   1: fact: pytest (8.3.3) depends on exceptiongroup (>=1.0.0rc8)
   1: fact: pytest (8.3.3) depends on tomli (>=1)
   1: fact: pytest (8.3.3) depends on colorama (*)
   1: selecting pytest (8.3.3)
   1: derived: colorama
   1: derived: tomli (>=1)
   1: derived: exceptiongroup (>=1.0.0rc8)
   1: derived: pluggy (>=1.5,<2)
   1: derived: packaging
   1: derived: iniconfig
   1: fact: autoflake (2.3.1) depends on pyflakes (>=3.0.0)
   1: fact: autoflake (2.3.1) depends on tomli (>=2.0.1)
   1: selecting autoflake (2.3.1)
   1: derived: tomli (>=2.0.1)
   1: derived: pyflakes (>=3.0.0)
   1: selecting pycodestyle (2.12.1)
   1: fact: mypy (1.11.2) depends on typing-extensions (>=4.6.0)
   1: fact: mypy (1.11.2) depends on mypy-extensions (>=1.0.0)
   1: fact: mypy (1.11.2) depends on tomli (>=1.1.0)
   1: selecting mypy (1.11.2)
   1: derived: mypy-extensions (>=1.0.0)
   1: derived: typing-extensions (>=4.6.0)
   1: selecting isort (5.13.2)
   1: fact: black (24.8.0) depends on click (>=8.0.0)
   1: fact: black (24.8.0) depends on mypy-extensions (>=0.4.3)
   1: fact: black (24.8.0) depends on packaging (>=22.0)
   1: fact: black (24.8.0) depends on pathspec (>=0.9.0)
   1: fact: black (24.8.0) depends on platformdirs (>=2)
   1: fact: black (24.8.0) depends on tomli (>=1.1.0)
   1: fact: black (24.8.0) depends on typing-extensions (>=4.0.1)
   1: selecting black (24.8.0)
   1: derived: platformdirs (>=2)
   1: derived: pathspec (>=0.9.0)
   1: derived: packaging (>=22.0)
   1: derived: click (>=8.0.0)
   1: selecting python-magic (0.4.27)
   1: fact: requests-toolbelt (1.0.0) depends on requests (>=2.0.1,<3.0.0)
   1: selecting requests-toolbelt (1.0.0)
   1: selecting setuptools (75.1.0)
   1: selecting types-urllib3 (1.26.25.14)
   1: fact: zeep (4.2.1) depends on attrs (>=17.2.0)
   1: fact: zeep (4.2.1) depends on isodate (>=0.5.4)
   1: fact: zeep (4.2.1) depends on lxml (>=4.6.0)
   1: fact: zeep (4.2.1) depends on platformdirs (>=1.4.0)
   1: fact: zeep (4.2.1) depends on requests (>=2.7.0)
   1: fact: zeep (4.2.1) depends on requests-toolbelt (>=0.7.1)
   1: fact: zeep (4.2.1) depends on requests-file (>=1.5.1)
   1: fact: zeep (4.2.1) depends on pytz (*)
   1: selecting zeep (4.2.1)
   1: derived: pytz
   1: derived: requests-file (>=1.5.1)
   1: derived: lxml (>=4.6.0)
   1: derived: isodate (>=0.5.4)
   1: derived: attrs (>=17.2.0)
   1: fact: types-requests (2.31.0.6) depends on types-urllib3 (*)
   1: selecting types-requests (2.31.0.6)
   1: fact: requests (2.31.0) depends on charset-normalizer (>=2,<4)
   1: fact: requests (2.31.0) depends on idna (>=2.5,<4)
   1: fact: requests (2.31.0) depends on urllib3 (>=1.21.1,<3)
   1: fact: requests (2.31.0) depends on certifi (>=2017.4.17)
   1: selecting requests (2.31.0)
   1: derived: certifi (>=2017.4.17)
   1: derived: urllib3 (>=1.21.1,<3)
   1: derived: idna (>=2.5,<4)
   1: derived: charset-normalizer (>=2,<4)
   1: selecting types-simplejson (3.19.0.20240801)
   1: selecting simplejson (3.19.3)
   1: fact: pydantic (1.10.18) depends on typing-extensions (>=4.2.0)
   1: selecting pydantic (1.10.18)
   1: fact: eulxml (1.1.3) depends on ply (>=3.8)
   1: fact: eulxml (1.1.3) depends on lxml (>=3.4)
   1: fact: eulxml (1.1.3) depends on six (>=1.10)
   1: selecting eulxml (1.1.3)
   1: derived: six (>=1.10)
   1: derived: ply (>=3.8)
   1: fact: arrow (1.3.0) depends on python-dateutil (>=2.7.0)
   1: fact: arrow (1.3.0) depends on types-python-dateutil (>=2.8.10)
   1: selecting arrow (1.3.0)
   1: derived: types-python-dateutil (>=2.8.10)
   1: derived: python-dateutil (>=2.7.0)
   1: selecting execnet (2.1.1)
   1: fact: coverage[toml] (7.6.1) depends on coverage (7.6.1)
   1: fact: coverage[toml] (7.6.1) depends on tomli (*)
   1: selecting coverage[toml] (7.6.1)
   1: selecting pluggy (1.5.0)
   1: selecting packaging (24.1)
   1: selecting iniconfig (2.0.0)
   1: selecting pyflakes (3.2.0)
   1: selecting mypy-extensions (1.0.0)
   1: selecting typing-extensions (4.12.2)
   1: selecting platformdirs (4.3.6)
   1: selecting pathspec (0.12.1)
   1: fact: click (8.1.7) depends on colorama (*)
   1: selecting click (8.1.7)
   1: selecting pytz (2024.2)
   1: fact: requests-file (2.1.0) depends on requests (>=1.0.0)
   1: selecting requests-file (2.1.0)
   1: selecting lxml (5.3.0)
Source (PyPI): Getting info for isodate (0.7.0) from PyPI
Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Using keyring backend 'macOS Keyring'
Creating new session for pypi.org
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (1): pypi.org:443
[urllib3:urllib3.connectionpool] https://pypi.org:443 "GET /pypi/isodate/0.7.0/json HTTP/11" 304 0
[filelock:filelock] Attempting to acquire lock 4357348656 on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/0/0/4/6/800469fe0dd874dfc32bf2d9c557e2485ea3ee8d9d1f92c1cbf65b9e.lock
[filelock:filelock] Lock 4357348656 acquired on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/0/0/4/6/800469fe0dd874dfc32bf2d9c557e2485ea3ee8d9d1f92c1cbf65b9e.lock
[filelock:filelock] Attempting to release lock 4357348656 on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/0/0/4/6/800469fe0dd874dfc32bf2d9c557e2485ea3ee8d9d1f92c1cbf65b9e.lock
[filelock:filelock] Lock 4357348656 released on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/0/0/4/6/800469fe0dd874dfc32bf2d9c557e2485ea3ee8d9d1f92c1cbf65b9e.lock
Source (PyPI): No dependencies found, downloading metadata and/or archives
[urllib3:urllib3.connectionpool] https://pypi.org:443 "GET /simple/isodate/ HTTP/11" 304 0
[filelock:filelock] Attempting to acquire lock 4357331920 on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/9/d/e/5/89de5de283364f58ce73419b263951b80158f08eeba0e52a3be44b7e.lock
[filelock:filelock] Lock 4357331920 acquired on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/9/d/e/5/89de5de283364f58ce73419b263951b80158f08eeba0e52a3be44b7e.lock
[filelock:filelock] Attempting to release lock 4357331920 on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/9/d/e/5/89de5de283364f58ce73419b263951b80158f08eeba0e52a3be44b7e.lock
[filelock:filelock] Lock 4357331920 released on /Users/ethanneid/Library/Caches/pypoetry/cache/repositories/PyPI/_http/8/9/d/e/5/89de5de283364f58ce73419b263951b80158f08eeba0e52a3be44b7e.lock
   1: Version solving took 0.150 seconds.
   1: Tried 1 solutions.

  Stack trace:

  22  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/cleo/application.py:327 in run
       325│ 
       326│             try:
     → 327│                 exit_code = self._run(io)
       328│             except BrokenPipeError:
       329│                 # If we are piped to another process, it may close early and send a

  21  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/console/application.py:190 in _run
       188│         self._load_plugins(io)
       189│ 
     → 190│         exit_code: int = super()._run(io)
       191│         return exit_code
       192│ 

  20  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/cleo/application.py:431 in _run
       429│             io.input.interactive(interactive)
       430│ 
     → 431│         exit_code = self._run_command(command, io)
       432│         self._running_command = None
       433│ 

  19  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/cleo/application.py:473 in _run_command
       471│ 
       472│         if error is not None:
     → 473│             raise error
       474│ 
       475│         return terminate_event.exit_code

  18  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/cleo/application.py:457 in _run_command
       455│ 
       456│             if command_event.command_should_run():
     → 457│                 exit_code = command.run(io)
       458│             else:
       459│                 exit_code = ConsoleCommandEvent.RETURN_CODE_DISABLED

  17  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/cleo/commands/base_command.py:117 in run
       115│         io.input.validate()
       116│ 
     → 117│         return self.execute(io) or 0
       118│ 
       119│     def merge_application_definition(self, merge_args: bool = True) -> None:

  16  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/cleo/commands/command.py:61 in execute
        59│ 
        60│         try:
     →  61│             return self.handle()
        62│         except KeyboardInterrupt:
        63│             return 1

  15  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/console/commands/remove.py:117 in handle
       115│         self.installer.whitelist(removed_set)
       116│ 
     → 117│         status = self.installer.run()
       118│ 
       119│         if not self.option("dry-run") and status == 0:

  14  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/installation/installer.py:104 in run
       102│             self.verbose(True)
       103│ 
     → 104│         return self._do_install()
       105│ 
       106│     def dry_run(self, dry_run: bool = True) -> Installer:

  13  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/installation/installer.py:241 in _do_install
       239│                 source_root=self._env.path.joinpath("src")
       240│             ):
     → 241│                 ops = solver.solve(use_latest=self._whitelist).calculate_operations()
       242│         else:
       243│             self._io.write_line("Installing dependencies from lock file")

  12  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/puzzle/solver.py:71 in solve
        69│         with self._progress(), self._provider.use_latest_for(use_latest or []):
        70│             start = time.time()
     →  71│             packages, depths = self._solve()
        72│             end = time.time()
        73│ 

  11  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/puzzle/solver.py:154 in _solve
       152│ 
       153│         try:
     → 154│             result = resolve_version(self._package, self._provider)
       155│ 
       156│             packages = result.packages

  10  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/mixology/__init__.py:18 in resolve_version
        16│     solver = VersionSolver(root, provider)
        17│ 
     →  18│     return solver.solve()
        19│ 

   9  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/mixology/version_solver.py:175 in solve
       173│             while next is not None:
       174│                 self._propagate(next)
     → 175│                 next = self._choose_package_version()
       176│ 
       177│             return self._result()

   8  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/mixology/version_solver.py:514 in _choose_package_version
       512│             package = locked
       513│ 
     → 514│         package = self._provider.complete_package(package)
       515│ 
       516│         conflict = False

   7  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/puzzle/provider.py:489 in complete_package
       487│                 dependency_package = DependencyPackage(
       488│                     dependency,
     → 489│                     self._pool.package(
       490│                         package.pretty_name,
       491│                         package.version,

   6  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/repositories/repository_pool.py:204 in package
       202│         for repo in self.repositories:
       203│             try:
     → 204│                 return repo.package(name, version, extras=extras)
       205│             except PackageNotFound:
       206│                 continue

   5  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/repositories/cached_repository.py:75 in package
        73│         extras: list[str] | None = None,
        74│     ) -> Package:
     →  75│         return self.get_release_info(canonicalize_name(name), version).to_package(
        76│             name=name, extras=extras
        77│         )

   4  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/repositories/cached_repository.py:52 in get_release_info
        50│             return PackageInfo.load(self._get_release_info(name, version))
        51│ 
     →  52│         cached = self._release_cache.remember(
        53│             f"{name}:{version}", lambda: self._get_release_info(name, version)
        54│         )

   3  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/utils/cache.py:147 in remember
       145│         value = self.get(key)
       146│         if value is None:
     → 147│             value = callback() if callable(callback) else callback
       148│             self.put(key, value, minutes)
       149│         return value

   2  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/repositories/cached_repository.py:53 in <lambda>
        51│ 
        52│         cached = self._release_cache.remember(
     →  53│             f"{name}:{version}", lambda: self._get_release_info(name, version)
        54│         )
        55│ 

   1  ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:177 in _get_release_info
       175│             page = self.get_page(name)
       176│             links = list(page.links_for_version(name, version))
     → 177│             info = self._get_info_from_links(links)
       178│ 
       179│             data.requires_dist = info.requires_dist

  IndexError

  list index out of range

  at ~/Library/Application Support/pipx/venvs/poetry/lib/python3.13/site-packages/poetry/repositories/http_repository.py:328 in _get_info_from_links
      324│                 return self._get_info_from_metadata(
      325│                     first_wheel
      326│                 ) or self._get_info_from_wheel(first_wheel)
      327│ 
    → 328│         return self._get_info_from_metadata(sdists[0]) or self._get_info_from_sdist(
      329│             sdists[0]
      330│         )
      331│ 
      332│     def _links_to_data(self, links: list[Link], data: PackageInfo) -> dict[str, Any]:

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expectedstatus/triageThis issue needs to be triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions