python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.4k stars 2.26k forks source link

Poetry install failing with AssertionError #8202

Open FloLey opened 1 year ago

FloLey commented 1 year ago
Updating dependencies
Resolving dependencies...
   1: fact: inmanta-dev-dependencies is 2.76.0
   1: derived: inmanta-dev-dependencies
   1: fact: inmanta-dev-dependencies depends on black (23.3.0)
   1: fact: inmanta-dev-dependencies depends on flake8 (6.0.0)
   1: fact: inmanta-dev-dependencies depends on flake8-copyright (0.2.4)
   1: fact: inmanta-dev-dependencies depends on flake8-black (0.3.6)
   1: fact: inmanta-dev-dependencies depends on flake8-isort (6.0.0)
   1: fact: inmanta-dev-dependencies depends on isort (5.12.0)
   1: fact: inmanta-dev-dependencies depends on lxml (4.9.3)
   1: fact: inmanta-dev-dependencies depends on mypy (1.4.1)
   1: fact: inmanta-dev-dependencies depends on pytest (7.4.0)
   1: fact: inmanta-dev-dependencies depends on pep8-naming (0.13.3)
   1: fact: inmanta-dev-dependencies depends on pyadr (0.19.0)
   1: fact: inmanta-dev-dependencies depends on pytest-inmanta-extensions (*)
   1: fact: inmanta-dev-dependencies depends on pytest-xdist (3.3.1)
   1: selecting inmanta-dev-dependencies (2.76.0)
   1: derived: pytest-xdist (==3.3.1)
   1: derived: pytest-inmanta-extensions
   1: derived: pyadr (==0.19.0)
   1: derived: pep8-naming (==0.13.3)
   1: derived: pytest (==7.4.0)
   1: derived: mypy (==1.4.1)
   1: derived: lxml (==4.9.3)
   1: derived: isort (==5.12.0)
   1: derived: flake8-isort (==6.0.0)
   1: derived: flake8-black (==0.3.6)
   1: derived: flake8-copyright (==0.2.4)
   1: derived: flake8 (==6.0.0)
   1: derived: black (==23.3.0)
   1: fact: pytest-xdist (3.3.1) depends on execnet (>=1.1)
   1: fact: pytest-xdist (3.3.1) depends on pytest (>=6.2.0)
   1: selecting pytest-xdist (3.3.1)
   1: derived: execnet (>=1.1)
   1: fact: pyadr (0.19.0) depends on cleo (>=0,<1)
   1: fact: pyadr (0.19.0) depends on python-slugify (>=6,<7)
   1: fact: pyadr (0.19.0) depends on loguru (>=0,<1)
   1: fact: pyadr (0.19.0) depends on gitpython (>=3.1,<4.0)
   1: selecting pyadr (0.19.0)
   1: derived: gitpython (>=3.1,<4.0)
   1: derived: loguru (>=0,<1)
   1: derived: python-slugify (>=6,<7)
   1: derived: cleo (>=0,<1)
   1: fact: pep8-naming (0.13.3) depends on flake8 (>=5.0.0)
   1: selecting pep8-naming (0.13.3)
   1: fact: pytest (7.4.0) depends on iniconfig (*)
   1: fact: pytest (7.4.0) depends on packaging (*)
   1: fact: pytest (7.4.0) depends on pluggy (>=0.12,<2.0)
   1: fact: pytest (7.4.0) depends on exceptiongroup (>=1.0.0rc8)
   1: fact: pytest (7.4.0) depends on tomli (>=1.0.0)
   1: fact: pytest (7.4.0) depends on colorama (*)
   1: selecting pytest (7.4.0)
   1: derived: colorama
   1: derived: tomli (>=1.0.0)
   1: derived: exceptiongroup (>=1.0.0rc8)
   1: derived: pluggy (>=0.12,<2.0)
   1: derived: packaging
   1: derived: iniconfig
   1: fact: mypy (1.4.1) depends on typing-extensions (>=4.1.0)
   1: fact: mypy (1.4.1) depends on mypy-extensions (>=1.0.0)
   1: fact: mypy (1.4.1) depends on tomli (>=1.1.0)
   1: selecting mypy (1.4.1)
   1: derived: tomli (>=1.1.0)
   1: derived: mypy-extensions (>=1.0.0)
   1: derived: typing-extensions (>=4.1.0)
   1: selecting lxml (4.9.3)
   1: selecting isort (5.12.0)
   1: fact: flake8-isort (6.0.0) depends on flake8 (*)
   1: fact: flake8-isort (6.0.0) depends on isort (>=5.0.0,<6)
   1: selecting flake8-isort (6.0.0)
   1: fact: flake8-black (0.3.6) depends on flake8 (>=3)
   1: fact: flake8-black (0.3.6) depends on black (>=22.1.0)
   1: fact: flake8-black (0.3.6) depends on tomli (*)
   1: selecting flake8-black (0.3.6)
   1: fact: flake8-copyright (0.2.4) depends on setuptools (*)
   1: selecting flake8-copyright (0.2.4)
   1: derived: setuptools
   1: fact: flake8 (6.0.0) depends on mccabe (>=0.7.0,<0.8.0)
   1: fact: flake8 (6.0.0) depends on pycodestyle (>=2.10.0,<2.11.0)
   1: fact: flake8 (6.0.0) depends on pyflakes (>=3.0.0,<3.1.0)
   1: selecting flake8 (6.0.0)
   1: derived: pyflakes (>=3.0.0,<3.1.0)
   1: derived: pycodestyle (>=2.10.0,<2.11.0)
   1: derived: mccabe (>=0.7.0,<0.8.0)
   1: fact: black (23.3.0) depends on click (>=8.0.0)
   1: fact: black (23.3.0) depends on mypy-extensions (>=0.4.3)
   1: fact: black (23.3.0) depends on packaging (>=22.0)
   1: fact: black (23.3.0) depends on pathspec (>=0.9.0)
   1: fact: black (23.3.0) depends on platformdirs (>=2)
   1: fact: black (23.3.0) depends on tomli (>=1.1.0)
   1: fact: black (23.3.0) depends on typing-extensions (>=3.10.0.0)
   1: selecting black (23.3.0)
   1: derived: platformdirs (>=2)
   1: derived: pathspec (>=0.9.0)
   1: derived: packaging (>=22.0)
   1: derived: click (>=8.0.0)
   1: selecting mypy-extensions (1.0.0)
   1: selecting pycodestyle (2.10.0)
   1: selecting mccabe (0.7.0)
   1: selecting pyflakes (3.0.1)
   1: selecting packaging (23.1)
   1: fact: python-slugify (6.1.2) depends on text-unidecode (>=1.3)
   1: selecting python-slugify (6.1.2)
   1: derived: text-unidecode (>=1.3)
   1: selecting text-unidecode (1.3)
   1: selecting pluggy (1.2.0)
   1: selecting iniconfig (2.0.0)
   1: selecting pathspec (0.11.1)
   1: fact: click (8.1.5) depends on colorama (*)
   1: selecting click (8.1.5)
   1: selecting typing-extensions (4.7.1)
   1: selecting execnet (2.0.2)
   1: fact: loguru (0.7.0) depends on colorama (>=0.3.4)
   1: fact: loguru (0.7.0) depends on win32-setctime (>=1.0.0)
   1: selecting loguru (0.7.0)
   1: derived: win32-setctime (>=1.0.0)
   1: derived: colorama (>=0.3.4)
   1: fact: cleo (0.8.1) depends on clikit (>=0.6.0,<0.7.0)
   1: selecting cleo (0.8.1)
   1: derived: clikit (>=0.6.0,<0.7.0)
   1: fact: clikit (0.6.2) depends on pastel (>=0.2.0,<0.3.0)
   1: fact: clikit (0.6.2) depends on pylev (>=1.3,<2.0)
   1: fact: clikit (0.6.2) depends on crashtest (>=0.3.0,<0.4.0)
   1: selecting clikit (0.6.2)
   1: derived: crashtest (>=0.3.0,<0.4.0)
   1: derived: pylev (>=1.3,<2.0)
   1: derived: pastel (>=0.2.0,<0.3.0)
   1: selecting pylev (1.4.0)
   1: selecting pastel (0.2.1)
   1: fact: gitpython (3.1.32) depends on gitdb (>=4.0.1,<5)
   1: selecting gitpython (3.1.32)
   1: derived: gitdb (>=4.0.1,<5)
   1: fact: gitdb (4.0.10) depends on smmap (>=3.0.1,<6)
   1: selecting gitdb (4.0.10)
   1: derived: smmap (>=3.0.1,<6)
   1: selecting smmap (5.0.0)
   1: selecting platformdirs (3.9.1)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on asyncpg (*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on click (*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on inmanta-core (==9.3.*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on pip2pi (*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on pyformance (*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on pytest-asyncio (*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on pytest-env (*)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on pytest-postgresql (>=4)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on psycopg (>=3)
   1: fact: pytest-inmanta-extensions (9.3.0) depends on tornado (*)
   1: selecting pytest-inmanta-extensions (9.3.0)
   1: derived: tornado
   1: derived: psycopg (>=3)
   1: derived: pytest-postgresql (>=4)
   1: derived: pytest-env
   1: derived: pytest-asyncio
   1: derived: pyformance
   1: derived: pip2pi
   1: derived: inmanta-core (==9.3.*)
   1: derived: asyncpg
   1: fact: inmanta-core (9.3.0) depends on asyncpg (>=0.25,<0.28)
   1: fact: inmanta-core (9.3.0) depends on click-plugins (>=1.0,<2.0)
   1: fact: inmanta-core (9.3.0) depends on click (>=8.0,<8.2)
   1: fact: inmanta-core (9.3.0) depends on colorlog (>=6.4,<7.0)
   1: fact: inmanta-core (9.3.0) depends on cookiecutter (>=1,<3)
   1: fact: inmanta-core (9.3.0) depends on crontab (>=0.23,<2.0)
   1: fact: inmanta-core (9.3.0) depends on cryptography (>=36,<42)
   1: fact: inmanta-core (9.3.0) depends on docstring-parser (>=0.10,<0.16)
   1: fact: inmanta-core (9.3.0) depends on email-validator (>=1,<3)
   1: fact: inmanta-core (9.3.0) depends on execnet (>=1.0,<2.0)
   1: fact: inmanta-core (9.3.0) depends on importlib-metadata (>=4,<7)
   1: fact: inmanta-core (9.3.0) depends on jinja2 (>=3.0,<4.0)
   1: fact: inmanta-core (9.3.0) depends on more-itertools (>=8,<10)
   1: fact: inmanta-core (9.3.0) depends on netifaces (>=0.11,<1.0)
   1: fact: inmanta-core (9.3.0) depends on packaging (>=21.3)
   1: fact: inmanta-core (9.3.0) depends on pip (>=21.3)
   1: fact: inmanta-core (9.3.0) depends on ply (>=3.0,<4.0)
   1: fact: inmanta-core (9.3.0) depends on pydantic (>=1.10.8,<2)
   1: fact: inmanta-core (9.3.0) depends on pyformance (>=0.4,<1.0)
   1: fact: inmanta-core (9.3.0) depends on PyJWT (>=2.0,<3.0)
   1: fact: inmanta-core (9.3.0) depends on pynacl (>=1.5,<2.0)
   1: fact: inmanta-core (9.3.0) depends on python-dateutil (>=2.0,<3.0)
   1: fact: inmanta-core (9.3.0) depends on pyyaml (>=6.0,<7.0)
   1: fact: inmanta-core (9.3.0) depends on texttable (>=1.0,<2.0)
   1: fact: inmanta-core (9.3.0) depends on tornado (>=6.0,<7.0)
   1: fact: inmanta-core (9.3.0) depends on typing-inspect (>=0.9,<1.0)
   1: fact: inmanta-core (9.3.0) depends on build (>=0.7,<1.0)
   1: fact: inmanta-core (9.3.0) depends on ruamel.yaml (>=0.17,<1.0)
   1: fact: inmanta-core (9.3.0) depends on toml (>=0.10,<1.0)
   1: derived: not inmanta-core (==9.3.0)
   1: fact: no versions of inmanta-core match >=9.3.0.dev,<9.3.0 || >9.3.0,<9.4.0
   1: conflict: no versions of inmanta-core match >=9.3.0.dev,<9.3.0 || >9.3.0,<9.4.0
   1: ! inmanta-core (>=9.3.0.dev,!=9.3.0,<9.4.0) is partially satisfied by not inmanta-core (==9.3.0)
   1: ! which is caused by "inmanta-core (9.3.0) depends on execnet (>=1.0,<2.0)"
   1: ! thus: inmanta-core (==9.3.*) requires execnet (>=1.0,<2.0)
   1: fact: inmanta-core (==9.3.*) requires execnet (>=1.0,<2.0)
   1: derived: not inmanta-core (==9.3.*)
   1: derived: not pytest-inmanta-extensions (==9.3.0)
   1: fact: loguru (0.7.0) depends on colorama (>=0.3.4)
   1: fact: loguru (0.7.0) depends on win32-setctime (>=1.0.0)
...
...
  11: fact: no versions of inmanta-core match >=6.4.0.dev,<6.4.0 || >6.4.0,<6.4.1.dev
  11: conflict: no versions of inmanta-core match >=6.4.0.dev,<6.4.0 || >6.4.0,<6.4.1.dev
  11: ! inmanta-core (>=6.4.0.dev,!=6.4.0,<6.4.1.dev) is partially satisfied by not inmanta-core (==6.4.0)
  11: ! which is caused by "inmanta-core (6.4.0) depends on packaging (>=21.3,<22.0)"
  11: ! thus: inmanta-core (==6.4.0.*) requires packaging (>=21.3,<22.0)
  11: fact: inmanta-core (==6.4.0.*) requires packaging (>=21.3,<22.0)
  11: derived: not inmanta-core (==6.4.0.*)
  11: derived: not pytest-inmanta-extensions (==6.4.0)
  11: fact: loguru (0.7.0) depends on colorama (>=0.3.4)
  11: fact: loguru (0.7.0) depends on win32-setctime (>=1.0.0)
  12: selecting loguru (0.7.0)
  12: derived: win32-setctime (>=1.0.0)
  12: derived: colorama (>=0.3.4)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on asyncpg (*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on click (*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on inmanta-core (==6.3.*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on pip2pi (*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on pyformance (*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on pytest-asyncio (*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on pytest-env (*)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on pytest-postgresql (>=4)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on psycopg (>=3)
  12: fact: pytest-inmanta-extensions (6.3.0) depends on tornado (*)
  12: selecting pytest-inmanta-extensions (6.3.0)
  12: derived: tornado
  12: derived: psycopg (>=3)
  12: derived: pytest-postgresql (>=4)
  12: derived: pytest-env
  12: derived: pytest-asyncio
  12: derived: pyformance
  12: derived: pip2pi
  12: derived: inmanta-core (==6.3.*)
  12: derived: asyncpg
  12: fact: inmanta-core (6.3.0) depends on asyncpg (>=0.25,<1.0)
  12: fact: inmanta-core (6.3.0) depends on click-plugins (>=1.0,<2.0)
  12: fact: inmanta-core (6.3.0) depends on click (>=8.0,<8.2)
  12: fact: inmanta-core (6.3.0) depends on colorlog (>=6.0,<7.0)
  12: fact: inmanta-core (6.3.0) depends on cookiecutter (>=1,<3)
  12: fact: inmanta-core (6.3.0) depends on crontab (>=0.23,<1.0)
  12: fact: inmanta-core (6.3.0) depends on cryptography (>=36,<39)
  12: fact: inmanta-core (6.3.0) depends on docstring-parser (>=0.10,<0.16)
  12: fact: inmanta-core (6.3.0) depends on email-validator (>=1.0,<2.0)
  12: fact: inmanta-core (6.3.0) depends on execnet (>=1.0,<2.0)
  12: fact: inmanta-core (6.3.0) depends on importlib-metadata (>=4.0,<5.0)
  12: fact: inmanta-core (6.3.0) depends on jinja2 (>=3.0,<4.0)
  12: fact: inmanta-core (6.3.0) depends on more-itertools (>=8.0,<9.0)
  12: fact: inmanta-core (6.3.0) depends on netifaces (>=0.11,<1.0)
  12: fact: inmanta-core (6.3.0) depends on packaging (>=21.3,<22.0)
  12: fact: inmanta-core (6.3.0) depends on pip (>=21.3)
  12: fact: inmanta-core (6.3.0) depends on ply (>=3.0,<4.0)
  12: fact: inmanta-core (6.3.0) depends on pydantic (>=1.0,<1.9.0a1 || >1.9.0a1,<2.0)
  12: fact: inmanta-core (6.3.0) depends on pyformance (>=0.4,<1.0)
  12: fact: inmanta-core (6.3.0) depends on PyJWT (>=2.0,<3.0)
  12: fact: inmanta-core (6.3.0) depends on python-dateutil (>=2.0,<3.0)
  12: fact: inmanta-core (6.3.0) depends on pyyaml (>=6.0,<7.0)
  12: fact: inmanta-core (6.3.0) depends on texttable (>=1.0,<2.0)
  12: fact: inmanta-core (6.3.0) depends on tornado (>=6.0,<7.0)
  12: fact: inmanta-core (6.3.0) depends on typing-inspect (>=0.7,<1.0)
  12: fact: inmanta-core (6.3.0) depends on build (>=0.7,<1.0)
  12: fact: inmanta-core (6.3.0) depends on ruamel.yaml (>=0.17,<1.0)
  12: fact: inmanta-core (6.3.0) depends on toml (>=0.10,<1.0)
  12: derived: not inmanta-core (==6.3.0)
  12: fact: no versions of inmanta-core match >=6.3.0.dev,<6.3.0 || >6.3.0,<6.4.0
  12: conflict: no versions of inmanta-core match >=6.3.0.dev,<6.3.0 || >6.3.0,<6.4.0
  12: ! inmanta-core (>=6.3.0.dev,!=6.3.0,<6.4.0) is partially satisfied by not inmanta-core (==6.3.0)
  12: ! which is caused by "inmanta-core (6.3.0) depends on packaging (>=21.3,<22.0)"
  12: ! thus: inmanta-core (==6.3.*) requires packaging (>=21.3,<22.0)
  12: fact: inmanta-core (==6.3.*) requires packaging (>=21.3,<22.0)
  12: derived: not inmanta-core (==6.3.*)
  12: derived: not pytest-inmanta-extensions (==6.3.0)
  12: derived: not inmanta-core (==6.4.0.*)
  12: derived: not inmanta-core (>=6.4.1.dev,!=6.4.1,<6.4.2.dev)
  12: derived: not inmanta-core (>=6.4.2.dev,!=6.4.2,<6.5.0)
  13: selecting mypy-extensions (1.0.0)
  13: selecting pycodestyle (2.10.0)
  13: selecting mccabe (0.7.0)
  13: selecting pyflakes (3.0.1)
  13: selecting packaging (23.1)
  13: fact: python-slugify (6.1.2) depends on text-unidecode (>=1.3)
  13: selecting python-slugify (6.1.2)
  13: derived: text-unidecode (>=1.3)
  13: selecting text-unidecode (1.3)
  13: selecting pluggy (1.2.0)
  13: selecting iniconfig (2.0.0)
  13: selecting pathspec (0.11.1)
  13: fact: click (8.1.5) depends on colorama (*)
  13: selecting click (8.1.5)
  13: selecting typing-extensions (4.7.1)
  13: selecting execnet (2.0.2)
  13: derived: not inmanta-core (==6.4.1.*)
  13: derived: not inmanta-core (>=6.4.2.dev,<6.5.0)
  13: derived: not inmanta-core (==8.1.*)
  13: derived: not inmanta-core (==8.2.*)
  13: derived: not inmanta-core (==8.3.*)
  13: derived: not inmanta-core (==8.5.*)
  13: derived: not inmanta-core (==9.3.*)
  13: derived: not pytest-inmanta-extensions (==6.4.2)
  13: derived: not pytest-inmanta-extensions (==8.1.0)
  13: derived: not pytest-inmanta-extensions (==8.2.0)
  13: derived: not pytest-inmanta-extensions (==8.3.0)
  13: derived: not pytest-inmanta-extensions (==8.5.0)
  13: derived: not pytest-inmanta-extensions (==9.3.0)
  13: fact: loguru (0.7.0) depends on colorama (>=0.3.4)
  13: fact: loguru (0.7.0) depends on win32-setctime (>=1.0.0)
  13: selecting loguru (0.7.0)
  13: derived: win32-setctime (>=1.0.0)
  13: derived: colorama (>=0.3.4)
  13: fact: cleo (0.8.1) depends on clikit (>=0.6.0,<0.7.0)
  13: selecting cleo (0.8.1)
  13: derived: clikit (>=0.6.0,<0.7.0)
  13: fact: clikit (0.6.2) depends on pastel (>=0.2.0,<0.3.0)
  13: fact: clikit (0.6.2) depends on pylev (>=1.3,<2.0)
  13: fact: clikit (0.6.2) depends on crashtest (>=0.3.0,<0.4.0)
  13: selecting clikit (0.6.2)
  13: derived: crashtest (>=0.3.0,<0.4.0)
  13: derived: pylev (>=1.3,<2.0)
  13: derived: pastel (>=0.2.0,<0.3.0)
  13: selecting pylev (1.4.0)
  13: selecting pastel (0.2.1)
  13: fact: gitpython (3.1.32) depends on gitdb (>=4.0.1,<5)
  13: selecting gitpython (3.1.32)
  13: derived: gitdb (>=4.0.1,<5)
  13: fact: gitdb (4.0.10) depends on smmap (>=3.0.1,<6)
  13: selecting gitdb (4.0.10)
  13: derived: smmap (>=3.0.1,<6)
  13: selecting smmap (5.0.0)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on asyncpg (*)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on click (*)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on inmanta-core (>=6.4.1.dev,<6.5.0)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on pip2pi (*)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on pyformance (*)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on pytest-asyncio (*)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on pytest-env (*)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on pytest-postgresql (>=4)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on psycopg (>=3)
  13: fact: pytest-inmanta-extensions (6.4.1) depends on tornado (*)
  13: selecting pytest-inmanta-extensions (6.4.1)
  13: derived: tornado
  13: derived: psycopg (>=3)
  13: derived: pytest-postgresql (>=4)
  13: derived: pytest-env
  13: derived: pytest-asyncio
  13: derived: pyformance
  13: derived: pip2pi
  13: derived: inmanta-core (>=6.4.1.dev,<6.5.0)
  13: Version solving took 1.337 seconds.
  13: Tried 13 solutions.

  Stack trace:

  18  ~/.local/lib/python3.10/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

  17  ~/.local/lib/python3.10/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│ 

  16  ~/.local/lib/python3.10/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│ 

  15  ~/.local/lib/python3.10/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

  14  ~/.local/lib/python3.10/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

  13  ~/.local/lib/python3.10/site-packages/cleo/commands/base_command.py:119 in run
       117│         io.input.validate()
       118│ 
     → 119│         status_code = self.execute(io)
       120│ 
       121│         if status_code is None:

  12  ~/.local/lib/python3.10/site-packages/cleo/commands/command.py:62 in execute
        60│ 
        61│         try:
     →  62│             return self.handle()
        63│         except KeyboardInterrupt:
        64│             return 1

  11  ~/.local/lib/python3.10/site-packages/poetry/console/commands/install.py:162 in handle
       160│         self.installer.verbose(self.io.is_verbose())
       161│ 
     → 162│         return_code = self.installer.run()
       163│ 
       164│         if return_code != 0:

  10  ~/.local/lib/python3.10/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:

   9  ~/.local/lib/python3.10/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")

   8  ~/.local/lib/python3.10/site-packages/poetry/puzzle/solver.py:72 in solve
        70│         with self._progress(), self._provider.use_latest_for(use_latest or []):
        71│             start = time.time()
     →  72│             packages, depths = self._solve()
        73│             end = time.time()
        74│ 

   7  ~/.local/lib/python3.10/site-packages/poetry/puzzle/solver.py:155 in _solve
       153│ 
       154│         try:
     → 155│             result = resolve_version(self._package, self._provider)
       156│ 
       157│             packages = result.packages

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

   5  ~/.local/lib/python3.10/site-packages/poetry/mixology/version_solver.py:163 in solve
       161│             next: str | None = self._root.name
       162│             while next is not None:
     → 163│                 self._propagate(next)
       164│                 next = self._choose_package_version()
       165│ 

   4  ~/.local/lib/python3.10/site-packages/poetry/mixology/version_solver.py:192 in _propagate
       190│                     continue
       191│ 
     → 192│                 result = self._propagate_incompatibility(incompatibility)
       193│ 
       194│                 if result is _conflict:

   3  ~/.local/lib/python3.10/site-packages/poetry/mixology/version_solver.py:267 in _propagate_incompatibility
       265│         self._log(f"derived: {adverb}{unsatisfied.dependency}")
       266│ 
     → 267│         self._solution.derive(
       268│             unsatisfied.dependency, not unsatisfied.is_positive(), incompatibility
       269│         )

   2  ~/.local/lib/python3.10/site-packages/poetry/mixology/partial_solution.py:100 in derive
        98│         Adds an assignment of package as a derivation.
        99│         """
     → 100│         self._assign(
       101│             Assignment.derivation(
       102│                 dependency,

   1  ~/.local/lib/python3.10/site-packages/poetry/mixology/partial_solution.py:115 in _assign
       113│         """
       114│         self._assignments.append(assignment)
     → 115│         self._register(assignment)
       116│ 
       117│     def backtrack(self, decision_level: int) -> None:

  AssertionError

  at ~/.local/lib/python3.10/site-packages/poetry/mixology/partial_solution.py:160 in _register
      156│         old_negative = self._negative.get(name)
      157│         term = (
      158│             assignment if old_negative is None else assignment.intersect(old_negative)
      159│         )
    → 160│         assert term is not None
      161│ 
      162│         if term.is_positive():
      163│             if name in self._negative:
      164│                 del self._negative[name]

Issue

When running poetry install -n -vvv with the pyproject.toml provided above, I get an assertion error. The error gets fixed by changing pytest-inmanta-extensions = {version = "*", optional=true} to pytest-inmanta-extensions = {version = ">=4.5", optional=true}.

dimbleby commented 1 year ago

almost surely a consequence of bogus requirements in pytest-inmanta-extensions.

$ curl -s https://pypi.org/pypi/pytest-inmanta-extensions/json | jq '.info.requires_dist'
[
  "asyncpg",
  "click",
  "inmanta-core (~=9.3.0.dev)",
  "pip2pi",
  "pyformance",
  "pytest-asyncio",
  "pytest-env",
  "pytest-postgresql (>=4)",
  "psycopg (>=3)",
  "tornado"
]

as far as I can see 9.3.0.dev is not a valid version per PEP440 - probably 9.3.0.dev0 was intended.

of course it would be better if poetry rejected and reported the bogus requirement, rather than later being confused by it - but then the install would still have failed.

For long term happniess you likely should submit a merge request to pytest-inmanta-extensions fixing their dependency.