diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix b/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix index 9f0538136afc..7a1844616a36 100644 --- a/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix +++ b/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix @@ -4,44 +4,68 @@ , buildPythonPackage , unittestCheckHook , flit-core +, numpy +, scipy + +# optional dependencies +, clarabel +, cvxopt , daqp , ecos -, numpy +, gurobipy , osqp -, scipy -, scs , quadprog +, scs }: buildPythonPackage rec { pname = "qpsolvers"; - version = "4.2.0"; - format = "pyproject"; + version = "4.3.1"; + pyproject = true; src = fetchFromGitHub { owner = "qpsolvers"; repo = "qpsolvers"; rev = "refs/tags/v${version}"; - hash = "sha256-brniRAGwN/areB7MnaGeF7CdNku7DG/Q+8TmCXY99iU="; + hash = "sha256-/HLc9dFf9F/6W7ux2Fj2yJuV/xCVeGyO6MblddwIGdM="; }; + nativeBuildInputs = [ + flit-core + ]; + pythonImportsCheck = [ "qpsolvers" ]; propagatedBuildInputs = [ - daqp - ecos numpy - osqp scipy - scs ]; + passthru.optional-dependencies = { + # FIXME commented out solvers have not been packaged yet + clarabel = [ clarabel ]; + cvxopt = [ cvxopt ]; + daqp = [ daqp ]; + ecos = [ ecos ]; + gurobi = [ gurobipy ]; + # highs = [ highspy ]; + # mosek = [ cvxopt mosek ]; + osqp = [ osqp ]; + # piqp = [ piqp ]; + # proxqp = [ proxsuite ]; + # qpalm = [ qpalm ]; + quadprog = [ quadprog ]; + scs = [ scs ]; + open_source_solvers = with passthru.optional-dependencies; lib.flatten [ + clarabel cvxopt daqp ecos /* highs */ osqp /* piqp proxqp qpalm */ quadprog scs + ]; + }; + nativeCheckInputs = [ - flit-core - quadprog unittestCheckHook - ]; + ] ++ passthru.optional-dependencies.open_source_solvers; meta = with lib; { + changelog = "https://github.com/qpsolvers/qpsolvers/blob/${src.rev}/CHANGELOG.md"; description = "Quadratic programming solvers in Python with a unified API"; homepage = "https://github.com/qpsolvers/qpsolvers"; license = licenses.lgpl3Plus; |