Skip to content

Resolve remaining NumPy conflict with CIMOptimizer shared CondaPkg environmentΒ #55

Description

@bernalde

Follow-up from JuliaQUBO/QUBOBenchmarks.jl#19 after the first driver release wave.

Current registered versions tested

Fresh registry resolve on 2026-06-28:

  • DWave v0.7.3
  • CIMOptimizer v0.2.2
  • QiskitOpt v0.7.1
  • PySA v0.4.2
  • CondaPkg v0.2.36
  • PythonCall v0.9.35

The previous blockers are mostly cleared:

  • DWave + QiskitOpt: OK
  • QiskitOpt + CIMOptimizer: OK
  • PySA + CIMOptimizer: OK
  • DWave + PySA + QiskitOpt: OK

But the full shared Python-backed tier still fails, and the minimal failing pair is now:

DWave + CIMOptimizer                         FAIL
DWave + PySA + CIMOptimizer + QiskitOpt      FAIL

Failure

DWave v0.7.3 currently declares:

[deps]
python = ">=3.11,<=3.13"

[pip.deps]
numpy           = "~=2.2.0"
dwave-ocean-sdk = "==9.3.0"
dwave_networkx  = "==0.8.18"

CIMOptimizer v0.2.2 currently declares:

[deps]
python = ">=3.10,<3.12"
pytorch-cpu = ">=2.0.1"

[pip.deps]
cim-optimizer = "==1.0.4"

When resolving DWave + CIMOptimizer, pixi pins conda numpy==2.4.6 through the conda side, while the DWave PyPI side requires numpy>=2.2,<2.3.

Observed error:

failed to solve the pypi requirements
Because you require numpy>=2.2.0,<2.3.dev0 and numpy==2.4.6, we can
conclude that your requirements are unsatisfiable.

The following PyPI packages have been pinned by the conda solve:
numpy==2.4.6

Requested work

Please investigate whether DWave really needs to declare NumPy on the PyPI side as ~=2.2.0.

Likely fix options:

  • Remove DWave's direct NumPy pip dependency if dwave-ocean-sdk already constrains NumPy adequately.
  • Widen the DWave NumPy bound to include the conda-selected NumPy used with CIMOptimizer / pytorch-cpu, if compatible.
  • Move/coordinate NumPy on the conda side instead of the PyPI side, if that is the intended shared-environment policy.

Acceptance criteria

  • CondaPkg.resolve() succeeds for DWave + CIMOptimizer.
  • CondaPkg.resolve() succeeds for the full Python-backed benchmark tier:
    DWave + PySA + CIMOptimizer + QiskitOpt.
  • A small shared-environment smoke is added or documented so this does not regress.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions