diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix new file mode 100644 index 0000000000000..119905dbe5123 --- /dev/null +++ b/pkgs/development/python-modules/cvxpy/default.nix @@ -0,0 +1,40 @@ +{ buildPythonPackage +, fetchPypi +, osqp +, ecos +, scs +, multiprocess +, fastcache +, six +, numpy +, scipy +, nose +, lib +}: + +buildPythonPackage rec { + pname = "cvxpy"; + version = "1.0.21"; + + propagatedBuildInputs = [ + osqp ecos scs multiprocess fastcache six numpy scipy + ]; + + checkInputs = [ nose ]; + + src = fetchPypi { + inherit pname version; + sha256 = "11hdrgdcb7idncrbr00rmrxhi7f8sjm134x4wgqkkxwppklk36xv"; + }; + + # Tests not discovered correctly on python3 unless nosetests invoked + # explicitly. + checkPhase = "nosetests -v"; + + meta = { + description = "A Python-embedded modeling language for convex optimization problems"; + homepage = https://www.cvxpy.org; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.teh ]; + }; +} diff --git a/pkgs/development/python-modules/ecos/default.nix b/pkgs/development/python-modules/ecos/default.nix new file mode 100644 index 0000000000000..1fb62d49ccb77 --- /dev/null +++ b/pkgs/development/python-modules/ecos/default.nix @@ -0,0 +1,24 @@ +{ buildPythonPackage, fetchPypi, lib, numpy, scipy, nose }: + +buildPythonPackage rec { + pname = "ecos"; + version = "2.0.7.post1"; + + propagatedBuildInputs = [ + numpy + scipy + ]; + checkInputs = [ nose ]; + + src = fetchPypi { + inherit pname version; + sha256 = "0n67plhclbsxqi23is8rj62vv3d75nnwzhsmya9jlbpknd10zsc3"; + }; + + meta = { + description = "This is the Python package for ECOS: Embedded Cone Solver"; + homepage = https://github.com/embotech/ecos; + license = lib.licenses.gpl3; + maintainers = [ lib.maintainers.teh ]; + }; +} diff --git a/pkgs/development/python-modules/osqp/default.nix b/pkgs/development/python-modules/osqp/default.nix new file mode 100644 index 0000000000000..60021bf93645d --- /dev/null +++ b/pkgs/development/python-modules/osqp/default.nix @@ -0,0 +1,26 @@ +{ buildPythonPackage, fetchFromGitHub, lib, numpy, scipy, future, cmake }: + +buildPythonPackage rec { + pname = "osqp-python"; + version = "2.0a1"; + + nativeBuildInputs = [ cmake ]; + dontUseCmakeConfigure = true; + + propagatedBuildInputs = [ numpy future scipy ]; + + src = fetchFromGitHub { + owner = "oxfordcontrol"; + repo = "osqp-python"; + rev = "v0.5.0"; + fetchSubmodules = true; + sha256 = "1x65mmm9sq189ncgm1fha245krk2y7aq0gw3g1fld0z36zrs9ynz"; + }; + + meta = { + description = "Python interface for OSQP"; + homepage = https://osqp.org; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.teh ]; + }; +} diff --git a/pkgs/development/python-modules/scs/default.nix b/pkgs/development/python-modules/scs/default.nix new file mode 100644 index 0000000000000..5c3267df61413 --- /dev/null +++ b/pkgs/development/python-modules/scs/default.nix @@ -0,0 +1,23 @@ +{ buildPythonPackage, fetchPypi, lib, numpy, scipy }: + +buildPythonPackage rec { + pname = "scs"; + version = "2.1.0"; + + propagatedBuildInputs = [ + numpy + scipy + ]; + + src = fetchPypi { + inherit pname version; + sha256 = "1m45366lfkv71mhdmr10ch7wgn16n79rg75jxqizqcgg6r5s6rqx"; + }; + + meta = { + description = "scs: splitting conic solver"; + homepage = https://github.com/cvxgrp/scs; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.teh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a610ef51d8c64..574532d8db576 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -489,6 +489,8 @@ in { curio = callPackage ../development/python-modules/curio { }; + cvxpy = callPackage ../development/python-modules/cvxpy { }; + dendropy = callPackage ../development/python-modules/dendropy { }; dependency-injector = callPackage ../development/python-modules/dependency-injector { }; @@ -535,6 +537,8 @@ in { ewmh = callPackage ../development/python-modules/ewmh { }; + ecos = callPackage ../development/python-modules/ecos { }; + exchangelib = callPackage ../development/python-modules/exchangelib { }; dbus-python = callPackage ../development/python-modules/dbus { @@ -803,6 +807,8 @@ in { osmnx = callPackage ../development/python-modules/osmnx { }; + osqp = callPackage ../development/python-modules/osqp { }; + outcome = callPackage ../development/python-modules/outcome {}; ovito = toPythonModule (pkgs.libsForQt5.callPackage ../development/python-modules/ovito { @@ -1214,6 +1220,8 @@ in { sslib = callPackage ../development/python-modules/sslib { }; + scs = callPackage ../development/python-modules/scs { }; + statistics = callPackage ../development/python-modules/statistics { }; stm32loader = callPackage ../development/python-modules/stm32loader { };