diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix new file mode 100644 index 000000000000..ea8885def3e4 --- /dev/null +++ b/pkgs/development/python-modules/holoviews/default.nix @@ -0,0 +1,47 @@ +{ buildPythonPackage +, fetchPypi +, lib +, param +, numpy +, pyviz-comms +, ipython +, notebook +, pandas +, matplotlib +, bokeh +, scipy +, panel +}: + +buildPythonPackage rec { + pname = "holoviews"; + version = "1.11.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0902wzzz73ikkdy0jfhg1lx97y1gk7v1nr3d3jqqdfzaa7bmhqwj"; + }; + + propagatedBuildInputs = [ + param + numpy + pyviz-comms + ipython + notebook + pandas + matplotlib + bokeh + scipy + panel + ]; + + # tests not fully included with pypi release + doCheck = false; + + meta = with lib; { + description = "Python data analysis and visualization seamless and simple"; + homepage = http://www.holoviews.org/; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/hvplot/default.nix b/pkgs/development/python-modules/hvplot/default.nix new file mode 100644 index 000000000000..dfec9ffc2001 --- /dev/null +++ b/pkgs/development/python-modules/hvplot/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, fetchPypi +, bokeh +, holoviews +, pandas +, pytest +, parameterized +, nbsmoke +, flake8 +, coveralls +, xarray +, networkx +, streamz +}: + +buildPythonPackage rec { + pname = "hvplot"; + version = "0.4.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "bce169cf2d1b3ff9ce607d1787f608758e72a498434eaa2bece31eea1f51963a"; + }; + + checkInputs = [ pytest parameterized nbsmoke flake8 coveralls xarray networkx streamz ]; + propagatedBuildInputs = [ + bokeh + holoviews + pandas + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + # many tests require a network connection + doCheck = false; + + meta = with lib; { + description = "A high-level plotting API for the PyData ecosystem built on HoloViews"; + homepage = https://hvplot.pyviz.org; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/intake/default.nix b/pkgs/development/python-modules/intake/default.nix new file mode 100644 index 000000000000..4434ea0edc11 --- /dev/null +++ b/pkgs/development/python-modules/intake/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, fetchPypi +, appdirs +, dask +, holoviews +, jinja2 +, msgpack-numpy +, msgpack-python +, numpy +, pandas +, python-snappy +, requests +, ruamel_yaml +, six +, tornado +, pytest +, pythonOlder +, isPy27 +}: + +buildPythonPackage rec { + pname = "intake"; + version = "0.4.1"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "f47e53aa764eeadf6adcc667b9817b1ad32496477476da0b982d4fc0744b40ef"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ + appdirs + dask + holoviews + jinja2 + msgpack-numpy + msgpack-python + numpy + pandas + python-snappy + requests + ruamel_yaml + six + tornado + ]; + + checkPhase = '' + # single test assumes python for executable name + PATH=$out/bin:$PATH HOME=$(mktemp -d) pytest --ignore=intake/catalog/tests/test_default.py + ''; + + meta = with lib; { + description = "Data load and catalog system"; + homepage = https://github.com/ContinuumIO/intake; + license = licenses.bsd2; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/nbsmoke/default.nix b/pkgs/development/python-modules/nbsmoke/default.nix new file mode 100644 index 000000000000..2816315f1052 --- /dev/null +++ b/pkgs/development/python-modules/nbsmoke/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, jupyter_client +, ipykernel +, nbformat +, nbconvert +, pyflakes +, requests +, beautifulsoup4 +}: + +buildPythonPackage rec { + pname = "nbsmoke"; + version = "0.2.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "40891e556dc9e252da2a649028cacb949fc8efb81062ada7d9a87a01b08bb454"; + }; + + propagatedBuildInputs = [ + pytest + jupyter_client + ipykernel + nbformat + nbconvert + pyflakes + requests + beautifulsoup4 + ]; + + # tests not included with pypi release + doCheck = false; + + meta = with lib; { + description = "Basic notebook checks and linting"; + homepage = https://github.com/pyviz/nbsmoke; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix new file mode 100644 index 000000000000..821a543eeb17 --- /dev/null +++ b/pkgs/development/python-modules/panel/default.nix @@ -0,0 +1,50 @@ +{ lib +, buildPythonPackage +, fetchPypi +, bokeh +, param +, pyviz-comms +, markdown +, pyct +, testpath +, pytest +, scipy +, plotly +, altair +, vega_datasets +, hvplot +}: + +buildPythonPackage rec { + pname = "panel"; + version = "0.4.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "21fc6729909dba4ba8c9a84b7fadd293322cc2594d15ac73b0f66a5ceffd1f98"; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "testpath<0.4" "testpath" + ''; + + propagatedBuildInputs = [ + bokeh + param + pyviz-comms + markdown + pyct + testpath + ]; + + # infinite recursion in test dependencies (hvplot) + doCheck = false; + + meta = with lib; { + description = "A high level dashboarding library for python visualization libraries"; + homepage = http://pyviz.org; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/param/default.nix b/pkgs/development/python-modules/param/default.nix new file mode 100644 index 000000000000..69a2e61e2690 --- /dev/null +++ b/pkgs/development/python-modules/param/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchPypi +, flake8 +, nose +}: + +buildPythonPackage rec { + pname = "param"; + version = "1.8.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "49927979d4f6c994bcd8f6f7f2b34e3a0a7f0d62404dca6bcae5acde0192bb01"; + }; + + checkInputs = [ flake8 nose ]; + + # tests not included with pypi release + doCheck = false; + + meta = with lib; { + description = "Declarative Python programming using Parameters"; + homepage = https://github.com/pyviz/param; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pyct/default.nix b/pkgs/development/python-modules/pyct/default.nix new file mode 100644 index 000000000000..fc61d689329e --- /dev/null +++ b/pkgs/development/python-modules/pyct/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchPypi +, param +, pyyaml +, requests +, pytest +}: + +buildPythonPackage rec { + pname = "pyct"; + version = "0.4.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "df7b2d29f874cabdbc22e4f8cba2ceb895c48aa33da4e0fe679e89873e0a4c6e"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ + param + pyyaml + requests + ]; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "Cli for python common tasks for users"; + homepage = https://github.com/pyviz/pyct; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/python-snappy/default.nix b/pkgs/development/python-modules/python-snappy/default.nix new file mode 100644 index 000000000000..4615bfcccce1 --- /dev/null +++ b/pkgs/development/python-modules/python-snappy/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPyPy +, python +, snappy +, cffi +, nose +}: + +buildPythonPackage rec { + pname = "python-snappy"; + version = "0.5.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "8a7f803f06083d4106d55387d2daa32c12b5e376c3616b0e2da8b8a87a27d74a"; + }; + + buildInputs = [ snappy ]; + + propagatedBuildInputs = lib.optional isPyPy cffi; + + checkInputs = [ nose ]; + + checkPhase = '' + rm -r snappy # prevent local snappy from being picked up + nosetests test_snappy.py + '' + lib.optionalString isPyPy '' + nosetests test_snappy_cffi.py + ''; + + meta = with lib; { + description = "Python library for the snappy compression library from Google"; + homepage = http://github.com/andrix/python-snappy; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pyviz-comms/default.nix b/pkgs/development/python-modules/pyviz-comms/default.nix new file mode 100644 index 000000000000..53f06cff9221 --- /dev/null +++ b/pkgs/development/python-modules/pyviz-comms/default.nix @@ -0,0 +1,27 @@ +{ buildPythonPackage +, fetchPypi +, lib +, param +}: + +buildPythonPackage rec { + pname = "pyviz_comms"; + version = "0.7.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "7ad4ff0c2166f0296ee070049ce21341f868f907003714eb6eaf1630ea8e241a"; + }; + + propagatedBuildInputs = [ param ]; + + # there are not tests with the package + doCheck = false; + + meta = with lib; { + description = "Launch jobs, organize the output, and dissect the results"; + homepage = http://pyviz.org/; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix new file mode 100644 index 000000000000..b23853a9bae0 --- /dev/null +++ b/pkgs/development/python-modules/streamz/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchPypi +, tornado +, toolz +, zict +, six +, pytest +, networkx +, distributed +, confluent-kafka +, graphviz +}: + +buildPythonPackage rec { + pname = "streamz"; + version = "0.5.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "cfdd42aa62df299f550768de5002ec83112136a34b44441db9d633b2df802fb4"; + }; + + checkInputs = [ pytest networkx distributed confluent-kafka graphviz ]; + propagatedBuildInputs = [ + tornado + toolz + zict + six + ]; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "Pipelines to manage continuous streams of data"; + homepage = http://github.com/mrocklin/streamz/; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0018c6c83f6a..0dba71dc1271 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -438,6 +438,8 @@ in { hdmedians = callPackage ../development/python-modules/hdmedians { }; + holoviews = callPackage ../development/python-modules/holoviews { }; + hoomd-blue = toPythonModule (callPackage ../development/python-modules/hoomd-blue { inherit python; }); @@ -450,6 +452,8 @@ in { imutils = callPackage ../development/python-modules/imutils { }; + intake = callPackage ../development/python-modules/intake { }; + intelhex = callPackage ../development/python-modules/intelhex { }; jira = callPackage ../development/python-modules/jira { }; @@ -494,6 +498,8 @@ in { nanomsg-python = callPackage ../development/python-modules/nanomsg-python { inherit (pkgs) nanomsg; }; + nbsmoke = callPackage ../development/python-modules/nbsmoke { }; + nbsphinx = callPackage ../development/python-modules/nbsphinx { }; nbval = callPackage ../development/python-modules/nbval { }; @@ -754,6 +760,10 @@ in { python-sql = callPackage ../development/python-modules/python-sql { }; + python-snappy = callPackage ../development/python-modules/python-snappy { + inherit (pkgs) snappy; + }; + python-stdnum = callPackage ../development/python-modules/python-stdnum { }; python-socketio = callPackage ../development/python-modules/python-socketio { }; @@ -3452,6 +3462,8 @@ in { pandas = callPackage ../development/python-modules/pandas { }; + panel = callPackage ../development/python-modules/panel { }; + xlrd = callPackage ../development/python-modules/xlrd { }; bottleneck = callPackage ../development/python-modules/bottleneck { }; @@ -3462,6 +3474,8 @@ in { parsedatetime = callPackage ../development/python-modules/parsedatetime { }; + param = callPackage ../development/python-modules/param { }; + paramiko = callPackage ../development/python-modules/paramiko { }; parameterized = callPackage ../development/python-modules/parameterized { }; @@ -3568,6 +3582,8 @@ in { pystringtemplate = callPackage ../development/python-modules/stringtemplate { }; + pyviz-comms = callPackage ../development/python-modules/pyviz-comms { }; + pillow = callPackage ../development/python-modules/pillow { inherit (pkgs) freetype libjpeg zlib libtiff libwebp tcl lcms2 tk; inherit (pkgs.xorg) libX11; @@ -3673,6 +3689,8 @@ in { pycryptopp = callPackage ../development/python-modules/pycryptopp { }; + pyct = callPackage ../development/python-modules/pyct { }; + pycups = callPackage ../development/python-modules/pycups { }; pycurl = callPackage ../development/python-modules/pycurl { }; @@ -4157,6 +4175,8 @@ in { hieroglyph = callPackage ../development/python-modules/hieroglyph { }; + hvplot = callPackage ../development/python-modules/hvplot { }; + guzzle_sphinx_theme = callPackage ../development/python-modules/guzzle_sphinx_theme { }; sphinx-testing = callPackage ../development/python-modules/sphinx-testing { }; @@ -4179,6 +4199,8 @@ in { statsmodels = callPackage ../development/python-modules/statsmodels { }; + streamz = callPackage ../development/python-modules/streamz { }; + structlog = callPackage ../development/python-modules/structlog { }; sybil = callPackage ../development/python-modules/sybil { };