Skip to content

Expose uv config for pre-releases #1291

@ksquarekumar

Description

@ksquarekumar

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

pixi info

❯ pixi info
      Pixi version: 0.20.1
          Platform: linux-64
  Virtual packages: __unix=0=0
                  : __linux=6.7.6=0
                  : __glibc=2.38=0
                  : __cuda=12.4=0
                  : __archspec=1=skylake
         Cache dir: /home/ksquare/.cache/rattler/cache
      Auth storage: /home/ksquare/.rattler/credentials.json

Project
------------
           Version: 0.0.1
     Manifest file: /shared/git/redacted/experiments/tensorrt_llm/pixi.toml
  Config locations: /shared/git/redacted/experiments/tensorrt_llm/.pixi/config.toml
      Last updated: 28-04-2024 00:55:41

Environments
------------
       Environment: default
          Features: default
          Channels: nvidia, conda-forge, pytorch
  Dependency count: 11
      Dependencies: python, datasets, evaluate, sentencepiece, zlib, libpq, openssl, compilers, make, cmake, rust
 PyPI Dependencies: tensorrt_llm, tensorrt, rouge_score
  Target platforms: linux-64

       Environment: dev
          Features: dev, default
       Solve group: default
          Channels: nvidia, conda-forge, pytorch
  Dependency count: 24
      Dependencies: pygls, nox, ruff, mypy, mypy_extensions, matplotlib, jupyterlab, jupyter_client, ipywidgets, notebook, ipykernel, debugpy, ipython, python, datasets, evaluate, sentencepiece, zlib, libpq, openssl, compilers, make, cmake, rust
 PyPI Dependencies: huggingface_hub, pip, black, blacken-docs, prompt_toolkit, platformdirs, virtualenv, packaging, pyright, wheel, commitizen, detect-secrets, types-beautifulsoup4, types-requests, types-PyYAML, types-decorator, types-six, types-tabulate, types-orjson, types-ujson, types-protobuf, tensorrt_llm, tensorrt, rouge_score
  Target platforms: linux-64
pixi shell -e dev

error: unexpected argument '--prerelease=allow' found

Usage: pixi install [OPTIONS]

For more information, try '--help'.
  ⠒ dev:linux-64         [00:00:04] resolving conda                                                                                                                                                                                                                            x failed to solve the pypi requirements of 'default' 'linux-64'
  |-> failed to resolve pypi dependencies
  `-> Because tensorrt-llm==0.9.0 depends on tensorrt==9.3.0.post12.dev1 and there is no version of tensorrt==9.3.0.post12.dev1, we can conclude that tensorrt-llm==0.9.0 cannot be used.
      And because you require tensorrt-llm==0.9.0, we can conclude that the requirements are unsatisfiable.
      
      hint: tensorrt was requested with a pre-release marker (e.g., tensorrt==9.3.0.post12.dev1), but pre-releases weren't enabled (try: `--prerelease=allow`)

pixi.toml

#:schema: https://github.com/prefix-dev/pixi/blob/main/schema/schema.json
[project]
name = 'tensorrt-llm'
version = '0.0.1'
description = 'Environment for running TensorRT LLM'
readme = 'README.md'
license = "NOASSERTION"
authors = ["<REDACTED>"]
homepage = "<REDACTED>"
platforms = ["linux-64"]
channels = ["nvidia", "conda-forge", {channel = "pytorch", priority = -1}]

[dependencies]
python = "==3.10.0"
datasets = "*"
evaluate = "*"
sentencepiece = "*"

[activation]
scripts = ["../../scripts/activation-linux64-cuda.sh"]

[pypi-dependencies]
tensorrt_llm = "==0.9.0"
tensorrt = "==9.3.0.*"
rouge_score = "*"

[host-dependencies]
zlib = ">=1.0.0"
libpq = ">=16.0"
openssl = ">=3.2.0"
compilers = "*"
make = "*"
cmake = "*"
rust = "*"

[system-requirements]
linux = "6.0"
cuda = "12.1"

[feature.dev.dependencies]
pygls = ">=1.3.1"
nox = ">=2024.4.0"
ruff = ">=0.4.1"
mypy = ">=1.9.0"
mypy_extensions = ">=1.0.0"
matplotlib = ">=3.8.4"
jupyterlab = ">=4.1.6"
jupyter_client = ">=8.6.1"
ipywidgets = ">=8.1.2"
notebook = ">=7.1.2"
ipykernel = ">=6.29.0"
debugpy = ">=1.6.5"
ipython = ">=8.0.0"

[feature.dev.pypi-dependencies]
huggingface_hub = { version = ">=0.22.0", extras = ["cli", "hf_transfer"] }
pip = ">=24.0.0"
black = ">=24.0.0"
blacken-docs = ">=1.16.0"
prompt_toolkit = ""
platformdirs = "*"
virtualenv = "*"
packaging = "*"
pyright = "*"
wheel = "*"
commitizen = "*"
detect-secrets = "*"
types-beautifulsoup4 = "*"
types-requests = "*"
types-PyYAML = "*"
types-decorator = "*"
types-six = "*"
types-tabulate = "*"
types-orjson = "*"
types-ujson = "*"
types-protobuf = "*"

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

Issue description

Environments cannot be resolved when underlying package requirements constraints are marked pre-release,
in this example I am assuming I simply can't install tensorrt_llm package in the environment, because a flag that the underlying tool uv could have accepted to solve the constraints are not possible to pass with pixi install ?

Expected behavior

Either have full parity with the interfaces of the underlying implementations / tools (hard to do when both are new and rapidly moving targets), or allow the user to have some flexibility to tackle such situations by themselves because the tooling isn't there yet, i should be able to pass flags over to uv to get out of this situation in this case.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinguvRelated to the uv integration

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions