diff --git a/pkgs/development/python-modules/accupy/default.nix b/pkgs/development/python-modules/accupy/default.nix new file mode 100644 index 00000000000..9cc3403370f --- /dev/null +++ b/pkgs/development/python-modules/accupy/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, fetchPypi +, mpmath +, numpy +, pipdate +, pybind11 +, pyfma +, eigen +, pytest +, matplotlib +, perfplot +, isPy27 +}: + +buildPythonPackage rec { + pname = "accupy"; + version = "0.1.4"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "2a67f2a778b824fb24eb338fed8e0b61c1af93369d57ff8132f5d602d60f0543"; + }; + + buildInputs = [ + pybind11 eigen + ]; + + propagatedBuildInputs = [ + mpmath + numpy + pipdate + pyfma + ]; + + checkInputs = [ + pytest + matplotlib + perfplot + ]; + + postConfigure = '' + substituteInPlace setup.py \ + --replace "/usr/include/eigen3/" "${eigen}/include/eigen3/" + ''; + + preBuild = '' + export HOME=$(mktemp -d) + ''; + + checkPhase = '' + pytest test + ''; + + meta = with lib; { + description = "Accurate sums and dot products for Python"; + homepage = https://github.com/nschloe/accupy; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/perfplot/default.nix b/pkgs/development/python-modules/perfplot/default.nix new file mode 100644 index 00000000000..4e451e816c0 --- /dev/null +++ b/pkgs/development/python-modules/perfplot/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, matplotlib +, numpy +, pipdate +, tqdm +, pytest +, isPy27 +}: + +buildPythonPackage rec { + pname = "perfplot"; + version = "0.5.0"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "nschloe"; + repo = "perfplot"; + rev = "v${version}"; + sha256 = "16aj5ryjic1k3qn8xhpw6crczvxcs691vs5kv4pvb1zdx69g1xbv"; + }; + + propagatedBuildInputs = [ + matplotlib + numpy + pipdate + tqdm + ]; + + checkInputs = [ + pytest + ]; + + checkPhase = '' + HOME=$(mktemp -d) pytest test/perfplot_test.py + ''; + + meta = with lib; { + description = "Performance plots for Python code snippets"; + homepage = https://github.com/nschloe/perfplot; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pipdate/default.nix b/pkgs/development/python-modules/pipdate/default.nix new file mode 100644 index 00000000000..8628705ed4d --- /dev/null +++ b/pkgs/development/python-modules/pipdate/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchPypi +, appdirs +, requests +, pytest +}: + +buildPythonPackage rec { + pname = "pipdate"; + version = "0.3.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "a27f64d13269adfd8594582f5a62c9f2151b426e701afdfc3b4f4019527b4121"; + }; + + propagatedBuildInputs = [ + appdirs + requests + ]; + + checkInputs = [ + pytest + ]; + + checkPhase = '' + HOME=$(mktemp -d) pytest test/test_pipdate.py + ''; + + # tests require network access + doCheck = false; + + meta = with lib; { + description = "pip update helpers"; + homepage = https://github.com/nschloe/pipdate; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pyfma/default.nix b/pkgs/development/python-modules/pyfma/default.nix new file mode 100644 index 00000000000..d9aab0b8fae --- /dev/null +++ b/pkgs/development/python-modules/pyfma/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pybind11 +, numpy +, pytest +}: + +buildPythonPackage rec { + pname = "pyfma"; + version = "0.1.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "79514717f8e632a0fb165e3d61222ed61202bea7b0e082f7b41c91e738f1fbc9"; + }; + + buildInputs = [ + pybind11 + ]; + + checkInputs = [ + numpy + pytest + ]; + + preBuild = '' + export HOME=$(mktemp -d) + ''; + + checkPhase = '' + pytest test + ''; + + meta = with lib; { + description = "Fused multiply-add for Python"; + homepage = https://github.com/nschloe/pyfma; + license = licenses.mit; + maintainers = [ maintainers.costrouc]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8e7c1a54799..60d93c9f0db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -609,6 +609,8 @@ in { perf = callPackage ../development/python-modules/perf { }; + perfplot = callPackage ../development/python-modules/perfplot { }; + phonopy = callPackage ../development/python-modules/phonopy { }; piccata = callPackage ../development/python-modules/piccata {}; @@ -979,6 +981,8 @@ in { vega = callPackage ../development/python-modules/vega { }; + accupy = callPackage ../development/python-modules/accupy { }; + acme = callPackage ../development/python-modules/acme { }; acme-tiny = callPackage ../development/python-modules/acme-tiny { }; @@ -3729,6 +3733,8 @@ in { glibcLocales = pkgs.glibcLocales; }; + pipdate = callPackage ../development/python-modules/pipdate { }; + pika = callPackage ../development/python-modules/pika { }; pika-pool = callPackage ../development/python-modules/pika-pool { }; @@ -3897,6 +3903,8 @@ in { pyfantom = callPackage ../development/python-modules/pyfantom { }; + pyfma = callPackage ../development/python-modules/pyfma { }; + pyfftw = callPackage ../development/python-modules/pyfftw { }; pyfiglet = callPackage ../development/python-modules/pyfiglet { };