diff options
Diffstat (limited to 'pkgs/development/python-modules')
27 files changed, 511 insertions, 110 deletions
diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix index e2b31cdda794..793488f0b136 100644 --- a/pkgs/development/python-modules/Theano/default.nix +++ b/pkgs/development/python-modules/Theano/default.nix @@ -1,8 +1,8 @@ { stdenv +, runCommandCC , lib , fetchPypi , gcc -, writeScriptBin , buildPythonPackage , isPyPy , pythonOlder @@ -24,19 +24,24 @@ assert cudaSupport -> nvidia_x11 != null && cudnn != null; let - extraFlags = - lib.optionals cudaSupport [ "-I ${cudatoolkit}/include" "-L ${cudatoolkit}/lib" ] - ++ lib.optionals cudnnSupport [ "-I ${cudnn}/include" "-L ${cudnn}/lib" ] - ++ lib.optionals cudaSupport [ "-I ${libgpuarray}/include" "-L ${libgpuarray}/lib" ]; + wrapped = command: buildTop: buildInputs: + runCommandCC "${command}-wrapped" { inherit buildInputs; } '' + type -P '${command}' || { echo '${command}: not found'; exit 1; } + cat > "$out" <<EOF + #!$(type -P bash) + $(declare -xp | sed -e '/^[^=]\+="\('"''${NIX_STORE//\//\\/}"'\|[^\/]\)/!d') + declare -x NIX_BUILD_TOP="${buildTop}" + $(type -P '${command}') "\$@" + EOF + chmod +x "$out" + ''; - gcc_ = writeScriptBin "g++" '' - #!${stdenv.shell} - export NIX_CC_WRAPPER_${stdenv.cc.infixSalt}_TARGET_HOST=1 - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${toString extraFlags}" - exec ${gcc}/bin/g++ "$@" - ''; + # Theano spews warnings and disabled flags if the compiler isn't named g++ + cxx_compiler = wrapped "g++" "\\$HOME/.theano" + ( stdenv.lib.optional cudaSupport libgpuarray_ + ++ stdenv.lib.optional cudnnSupport cudnn ); - libgpuarray_ = libgpuarray.override { inherit cudaSupport; }; + libgpuarray_ = libgpuarray.override { inherit cudaSupport cudatoolkit; }; in buildPythonPackage rec { pname = "Theano"; @@ -50,12 +55,15 @@ in buildPythonPackage rec { }; postPatch = '' - sed -i 's,g++,${gcc_}/bin/g++,g' theano/configdefaults.py - '' + lib.optionalString cudnnSupport '' - sed -i \ - -e "s,ctypes.util.find_library('cudnn'),'${cudnn}/lib/libcudnn.so',g" \ - -e "s/= _dnn_check_compile()/= (True, None)/g" \ - theano/gpuarray/dnn.py + substituteInPlace theano/configdefaults.py \ + --replace 'StrParam(param, is_valid=warn_cxx)' 'StrParam('\'''${cxx_compiler}'\''', is_valid=warn_cxx)' \ + --replace 'rc == 0 and config.cxx != ""' 'config.cxx != ""' + '' + stdenv.lib.optionalString cudaSupport '' + substituteInPlace theano/configdefaults.py \ + --replace 'StrParam(get_cuda_root)' 'StrParam('\'''${cudatoolkit}'\''')' + '' + stdenv.lib.optionalString cudnnSupport '' + substituteInPlace theano/configdefaults.py \ + --replace 'StrParam(default_dnn_base_path)' 'StrParam('\'''${cudnn}'\''')' ''; preCheck = '' diff --git a/pkgs/development/python-modules/asana/default.nix b/pkgs/development/python-modules/asana/default.nix index 2fbe4932beda..19140925595b 100644 --- a/pkgs/development/python-modules/asana/default.nix +++ b/pkgs/development/python-modules/asana/default.nix @@ -4,22 +4,21 @@ buildPythonPackage rec { pname = "asana"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "asana"; repo = "python-asana"; rev = "v${version}"; - sha256 = "0786y3wxqxxhsb0kkpx4bfzif3dhvv3dmm6vnq58iyj94862kpxf"; + sha256 = "0vmpy4j1n54gkkg0l8bhw0xf4yby5kqzxnsv07cjc2w38snj5vy1"; }; checkInputs = [ pytest responses ]; propagatedBuildInputs = [ requests requests_oauthlib six ]; - patchPhase = '' - echo > requirements.txt - sed -i "s/requests~=2.9.1/requests >=2.9.1/" setup.py - sed -i "s/requests_oauthlib~=0.6.1/requests_oauthlib >=0.6.1/" setup.py + postPatch = '' + substituteInPlace setup.py \ + --replace "requests_oauthlib >= 0.8.0, == 0.8.*" "requests_oauthlib>=0.8.0<2.0" ''; checkPhase = '' diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix index a556cd3c87f2..155ddf8c9f8b 100644 --- a/pkgs/development/python-modules/asgiref/default.nix +++ b/pkgs/development/python-modules/asgiref/default.nix @@ -1,14 +1,16 @@ -{ stdenv, buildPythonPackage, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }: +{ stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }: buildPythonPackage rec { - version = "2.2.0"; + version = "2.3.2"; pname = "asgiref"; + disabled = pythonOlder "3.5"; + # PyPI tarball doesn't include tests directory src = fetchFromGitHub { owner = "django"; repo = pname; rev = version; - sha256 = "0jsdkgwzswm1jbfm6d100yfvfzpic8v6ysydcnn798bbpwclj8ip"; + sha256 = "1ljymmcscyp3bz33kjbhf99k04fbama87vg4069gbgj6lnxjpzav"; }; propagatedBuildInputs = [ async-timeout ]; diff --git a/pkgs/development/python-modules/cli-helpers/default.nix b/pkgs/development/python-modules/cli-helpers/default.nix new file mode 100644 index 000000000000..69b811a94f4f --- /dev/null +++ b/pkgs/development/python-modules/cli-helpers/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchPypi +, terminaltables +, tabulate +, backports_csv +, wcwidth +, pytest +, isPy27 +}: + +buildPythonPackage rec { + pname = "cli_helpers"; + version = "1.0.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "1z5rqm8pznj6bvivm2al8rsxm82rai8hc9bqrgh3ksnbzg2kfy7p"; + }; + + propagatedBuildInputs = [ + terminaltables + tabulate + wcwidth + ] ++ (lib.optionals isPy27 [ backports_csv ]); + + checkInputs = [ pytest ]; + + checkPhase = '' + py.test + ''; + + meta = with lib; { + description = "Python helpers for common CLI tasks"; + longDescription = '' + CLI Helpers is a Python package that makes it easy to perform common + tasks when building command-line apps. It's a helper library for + command-line interfaces. + + Libraries like Click and Python Prompt Toolkit are amazing tools that + help you create quality apps. CLI Helpers complements these libraries by + wrapping up common tasks in simple interfaces. + + CLI Helpers is not focused on your app's design pattern or framework -- + you can use it on its own or in combination with other libraries. It's + lightweight and easy to extend. + + What's included in CLI Helpers? + + - Prettyprinting of tabular data with custom pre-processing + - [in progress] config file reading/writing + + Read the documentation at http://cli-helpers.rtfd.io + ''; + homepage = https://cli-helpers.readthedocs.io/en/stable/; + license = licenses.bsd3 ; + maintainers = [ maintainers.kalbasit ]; + }; +} diff --git a/pkgs/development/python-modules/docrep/default.nix b/pkgs/development/python-modules/docrep/default.nix new file mode 100644 index 000000000000..e2bde245a678 --- /dev/null +++ b/pkgs/development/python-modules/docrep/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, six +}: + +buildPythonPackage rec { + pname = "docrep"; + version = "0.2.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "7d195b6dfcf4efe5cb65402b6c6f6d7e6db77ce255887fae32c9a8288a022659"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ six ]; + + checkPhase = '' + py.test + ''; + + # tests not packaged with PyPi download + doCheck = false; + + meta = { + description = "Python package for docstring repetition"; + homepage = https://github.com/Chilipp/docrep; + license = lib.licenses.gpl2; + maintainers = with lib.maintainers; [ costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/fire/default.nix b/pkgs/development/python-modules/fire/default.nix new file mode 100644 index 000000000000..70538407f2ee --- /dev/null +++ b/pkgs/development/python-modules/fire/default.nix @@ -0,0 +1,47 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, six, hypothesis, mock +, python-Levenshtein, pytest }: + +buildPythonPackage rec { + pname = "fire"; + version = "0.1.3"; + + src = fetchFromGitHub { + owner = "google"; + repo = "python-fire"; + rev = "v${version}"; + sha256 = "0kdcmzr3sgzjsw5fmvdylgrn8akqjbs433jbgqzp498njl9cc6qx"; + }; + + propagatedBuildInputs = [ six ]; + + checkInputs = [ hypothesis mock python-Levenshtein pytest ]; + + checkPhase = '' + py.test + ''; + + + meta = with stdenv.lib; { + description = "A library for automatically generating command line interfaces"; + longDescription = '' + Python Fire is a library for automatically generating command line + interfaces (CLIs) from absolutely any Python object. + + * Python Fire is a simple way to create a CLI in Python. + + * Python Fire is a helpful tool for developing and debugging + Python code. + + * Python Fire helps with exploring existing code or turning other + people's code into a CLI. + + * Python Fire makes transitioning between Bash and Python easier. + + * Python Fire makes using a Python REPL easier by setting up the + REPL with the modules and variables you'll need already imported + and created. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/development/python-modules/ipython/5.nix b/pkgs/development/python-modules/ipython/5.nix index f2066fee2a4a..36f581c98afb 100644 --- a/pkgs/development/python-modules/ipython/5.nix +++ b/pkgs/development/python-modules/ipython/5.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchPypi +, fetchpatch # Build dependencies , glibcLocales # Test dependencies @@ -36,6 +37,16 @@ buildPythonPackage rec { substituteInPlace setup.py --replace "'gnureadline'" " " ''; + patches = [ + # improve cython support, needed by sage, accepted upstream + # https://github.com/ipython/ipython/pull/11139 + (fetchpatch { + name = "signature-use-inspect.patch"; + url = "https://github.com/ipython/ipython/commit/8d399b98d3ed5c765835594100c4d36fb2f739dc.patch"; + sha256 = "1r7v9clwwbskmj4y160vcj6g0vzqbvnj4y1bm2n4bskafapm42g0"; + }) + ]; + buildInputs = [ glibcLocales ]; checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock; diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix index 64485085d1a8..e47fdfa15ba2 100644 --- a/pkgs/development/python-modules/jupyterlab/default.nix +++ b/pkgs/development/python-modules/jupyterlab/default.nix @@ -1,12 +1,12 @@ { lib, buildPythonPackage, isPy3k, fetchPypi, ipython_genutils, jupyterlab_launcher, notebook }: buildPythonPackage rec { pname = "jupyterlab"; - version = "0.32.1"; + version = "0.33.7"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "88290656a2db2e38ef913a257ec283f3b5bd99144ed3d52899c9af7030077554"; + sha256 = "ab9f7bcbc3b4e107897f368aa0527cdc1b4ccf0c370e218ae03ac1d75fac261c"; }; propagatedBuildInputs = [ @@ -26,6 +26,6 @@ buildPythonPackage rec { description = "Jupyter lab environment notebook server extension."; license = with licenses; [ bsd3 ]; homepage = "http://jupyter.org/"; - maintainers = with maintainers; [ zimbatm ]; + maintainers = with maintainers; [ zimbatm costrouc ]; }; } diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix index 26b42020fc34..71e9adf11d2d 100644 --- a/pkgs/development/python-modules/libvirt/default.nix +++ b/pkgs/development/python-modules/libvirt/default.nix @@ -2,12 +2,12 @@ buildPythonPackage rec { pname = "libvirt"; - version = "4.5.0"; + version = "4.6.0"; src = assert version == libvirt.version; fetchgit { url = git://libvirt.org/libvirt-python.git; rev = "v${version}"; - sha256 = "0w2rzkxv7jsq4670m0j5c6p4hpyi0r0ja6wd3wdvixcwc6hhx407"; + sha256 = "0yrgibd5c9wy82ak8g9ykar6fma1wf7xzmmc47657lzm70m5av68"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/python-modules/marionette-harness/mozlog.nix b/pkgs/development/python-modules/marionette-harness/mozlog.nix index ce24fd48dd4b..b8d0c077d664 100644 --- a/pkgs/development/python-modules/marionette-harness/mozlog.nix +++ b/pkgs/development/python-modules/marionette-harness/mozlog.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "af3a3252bc58f8642a641601ba59096c22e4aa49cdc1ed4b0df2314f4f027f0d"; + sha256 = "00x28z6diw06gakb5isbfha5z2n63yyncv4za303nsgzxvlihmx0"; }; propagatedBuildInputs = [ blessings mozterm six ]; diff --git a/pkgs/development/python-modules/mozterm/default.nix b/pkgs/development/python-modules/mozterm/default.nix index 358b21893fa6..c7f2b4cbc349 100644 --- a/pkgs/development/python-modules/mozterm/default.nix +++ b/pkgs/development/python-modules/mozterm/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, isPy3k }: +{ lib, buildPythonPackage, fetchPypi, isPy3k, six }: buildPythonPackage rec { pname = "mozterm"; @@ -7,6 +7,8 @@ buildPythonPackage rec { # name 'unicode' is not defined disabled = isPy3k; + propagatedBuildInputs = [six]; + src = fetchPypi { inherit pname version; sha256 = "b1e91acec188de07c704dbb7b0100a7be5c1e06567b3beb67f6ea11d00a483a4"; diff --git a/pkgs/development/python-modules/pyfxa/default.nix b/pkgs/development/python-modules/pyfxa/default.nix new file mode 100644 index 000000000000..93a74114af19 --- /dev/null +++ b/pkgs/development/python-modules/pyfxa/default.nix @@ -0,0 +1,32 @@ +{ lib, buildPythonPackage, fetchPypi +, requests, cryptography, pybrowserid, hawkauthlib, six +, grequests, mock, responses, unittest2 }: + +buildPythonPackage rec { + pname = "PyFxA"; + version = "0.6.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "d511b6f43a9445587c609a138636d378de76661561116e1f4259fcec9d09b42b"; + }; + + postPatch = '' + # Requires network access + rm fxa/tests/test_core.py + ''; + + propagatedBuildInputs = [ + requests cryptography pybrowserid hawkauthlib six + ]; + + checkInputs = [ + grequests mock responses unittest2 + ]; + + meta = with lib; { + description = "Firefox Accounts client library for Python"; + homepage = https://github.com/mozilla/PyFxA; + license = licenses.mpl20; + }; +} diff --git a/pkgs/development/python-modules/pymysql/default.nix b/pkgs/development/python-modules/pymysql/default.nix new file mode 100644 index 000000000000..b440df309977 --- /dev/null +++ b/pkgs/development/python-modules/pymysql/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, cryptography +}: + +buildPythonPackage rec { + pname = "PyMySQL"; + version = "0.9.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0gvi63f1zq1bbd30x28kqyx351hal1yc323ckp0mihainb5n1iwy"; + }; + + propagatedBuildInputs = [ cryptography ]; + + # Wants to connect to MySQL + doCheck = false; + + meta = with lib; { + description = "Pure Python MySQL Client"; + homepage = https://github.com/PyMySQL/PyMySQL; + license = licenses.mit; + maintainers = [ maintainers.kalbasit ]; + }; +} diff --git a/pkgs/development/python-modules/pysrim/default.nix b/pkgs/development/python-modules/pysrim/default.nix new file mode 100644 index 000000000000..90dfc1f56045 --- /dev/null +++ b/pkgs/development/python-modules/pysrim/default.nix @@ -0,0 +1,30 @@ +{ lib +, fetchPypi +, buildPythonPackage +, pytestrunner +, numpy +, pyyaml +}: + +buildPythonPackage rec { + pname = "pysrim"; + version = "0.5.8"; + + src = fetchPypi { + inherit pname version; + sha256 = "6c297b4ea6f037946c72e94ddd9a7624cf2fd97c488acbee9409001c970754f1"; + }; + + buildInputs = [ pytestrunner ]; + propagatedBuildInputs = [ numpy pyyaml ]; + + # Tests require git lfs download of repository + doCheck = false; + + meta = { + description = "Srim Automation of Tasks via Python"; + homepage = https://gitlab.com/costrouc/pysrim; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/python-language-server/default.nix b/pkgs/development/python-modules/python-language-server/default.nix index c2df1f85325c..800c9eba2abb 100644 --- a/pkgs/development/python-modules/python-language-server/default.nix +++ b/pkgs/development/python-modules/python-language-server/default.nix @@ -1,45 +1,60 @@ -{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, isPy27 +{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder, isPy27 , configparser, futures, future, jedi, pluggy , pytest, mock, pytestcov, coverage -# The following packages are optional and -# can be overwritten with null as your liking. -# This also requires to disable tests. -, rope ? null +, # Allow building a limited set of providers, e.g. ["pycodestyle"]. + providers ? ["*"] + # The following packages are optional and + # can be overwritten with null as your liking. +, autopep8 ? null , mccabe ? null -, pyflakes ? null , pycodestyle ? null -, autopep8 ? null -, yapf ? null , pydocstyle ? null +, pyflakes ? null +, rope ? null +, yapf ? null }: +let + withProvider = p: builtins.elem "*" providers || builtins.elem p providers; +in + buildPythonPackage rec { pname = "python-language-server"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "palantir"; repo = "python-language-server"; rev = version; - sha256 = "0ig34bc0qm6gdj8xakmm3877lmf8ms7qg0xj8hay9gpgf8cz894s"; + sha256 = "0glnhnjmsnnh1vs73n9dglknfkhcgp03nkjbpz0phh1jlqrkrwm6"; }; + # The tests require all the providers, disable otherwise. + doCheck = providers == ["*"]; + checkInputs = [ pytest mock pytestcov coverage # rope is technically a dependency, but we don't add it by default since we # already have jedi, which is the preferred option rope ]; + checkPhase = '' HOME=$TEMPDIR pytest ''; - propagatedBuildInputs = [ - jedi pluggy mccabe pyflakes pycodestyle yapf pydocstyle future autopep8 - ] ++ lib.optional (isPy27) [ configparser ] - ++ lib.optional (pythonOlder "3.2") [ futures ]; + propagatedBuildInputs = [ jedi pluggy future ] + ++ stdenv.lib.optional (withProvider "autopep8") autopep8 + ++ stdenv.lib.optional (withProvider "mccabe") mccabe + ++ stdenv.lib.optional (withProvider "pycodestyle") pycodestyle + ++ stdenv.lib.optional (withProvider "pydocstyle") pydocstyle + ++ stdenv.lib.optional (withProvider "pyflakes") pyflakes + ++ stdenv.lib.optional (withProvider "rope") rope + ++ stdenv.lib.optional (withProvider "yapf") yapf + ++ stdenv.lib.optional isPy27 configparser + ++ stdenv.lib.optional (pythonOlder "3.2") futures; - meta = with lib; { + meta = with stdenv.lib; { homepage = https://github.com/palantir/python-language-server; description = "An implementation of the Language Server Protocol for Python"; license = licenses.mit; diff --git a/pkgs/development/python-modules/pytidylib/default.nix b/pkgs/development/python-modules/pytidylib/default.nix new file mode 100644 index 000000000000..4ece6fb41343 --- /dev/null +++ b/pkgs/development/python-modules/pytidylib/default.nix @@ -0,0 +1,34 @@ +{ stdenv, buildPythonPackage, fetchPypi, python, html-tidy }: + +buildPythonPackage rec { + pname = "pytidylib"; + version = "0.3.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "22b1c8d75970d8064ff999c2369e98af1d0685417eda4c829a5c9f56764b0af3"; + }; + + postPatch = '' + # Patch path to library + substituteInPlace tidylib/tidy.py \ + --replace "load_library(name)" \ + "load_library('${html-tidy}/lib/libtidy${stdenv.hostPlatform.extensions.sharedLibrary}')" + + # Test fails + substituteInPlace tests/test_docs.py \ + --replace " def test_large_document(self):" \ + $' @unittest.skip("")\n def test_large_document(self):' + ''; + + checkPhase = '' + ${python.interpreter} -m unittest discover + ''; + + meta = with stdenv.lib; { + description = "Python wrapper for HTML Tidy (tidylib) on Python 2 and 3"; + homepage = https://countergram.github.io/pytidylib/; + license = licenses.mit; + maintainers = with maintainers; [ layus ]; + }; +} diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix index f07d0208167c..6d19feed3fb7 100644 --- a/pkgs/development/python-modules/robotframework/default.nix +++ b/pkgs/development/python-modules/robotframework/default.nix @@ -1,13 +1,11 @@ -{ stdenv, fetchurl, buildPythonPackage, isPy3k }: +{ stdenv, fetchPypi, buildPythonPackage }: buildPythonPackage rec { - version = "3.0.4"; pname = "robotframework"; - disabled = isPy3k; - name = pname + "-" + version; + version = "3.0.4"; - src = fetchurl { - url = "mirror://pypi/r/robotframework/${name}.tar.gz"; + src = fetchPypi { + inherit pname version; sha256 = "ab94257cbd848dfca7148e092d233a12853cc7e840ce8231af9cbb5e7f51aa47"; }; diff --git a/pkgs/development/python-modules/robotsuite/default.nix b/pkgs/development/python-modules/robotsuite/default.nix index 9fcced49b925..59ef766adf11 100644 --- a/pkgs/development/python-modules/robotsuite/default.nix +++ b/pkgs/development/python-modules/robotsuite/default.nix @@ -1,4 +1,6 @@ -{ stdenv, buildPythonPackage, fetchPypi, unittest2, robotframework, lxml }: +{ stdenv, buildPythonPackage, fetchPypi +, unittest2, lxml, robotframework +}: buildPythonPackage rec { pname = "robotsuite"; @@ -12,6 +14,11 @@ buildPythonPackage rec { buildInputs = [ unittest2 ]; propagatedBuildInputs = [ robotframework lxml ]; + postPatch = '' + substituteInPlace setup.py \ + --replace robotframework-python3 robotframework + ''; + meta = with stdenv.lib; { description = "Python unittest test suite for Robot Framework"; homepage = https://github.com/collective/robotsuite/; diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix index c24592ef9650..393f8c2c1108 100644 --- a/pkgs/development/python-modules/scapy/default.nix +++ b/pkgs/development/python-modules/scapy/default.nix @@ -1,6 +1,14 @@ -{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k, pythonOlder -, matplotlib, pycrypto, ecdsa +{ buildPythonPackage, fetchFromGitHub, lib, isPyPy, isPy3k, pythonOlder +, pycrypto, ecdsa # TODO , enum34, mock +, withOptionalDeps ? true, tcpdump, ipython +, withCryptography ? true, cryptography +, withVoipSupport ? true, sox +, withPlottingSupport ? true, matplotlib +, withGraphicsSupport ? false, pyx, texlive, graphviz, imagemagick +, withManufDb ? false, wireshark +# 2D/3D graphics and graphs TODO: VPython +# TODO: nmap, numpy }: buildPythonPackage rec { @@ -19,15 +27,23 @@ buildPythonPackage rec { # TODO: Temporary workaround patches = [ ./fix-version-1.patch ./fix-version-2.patch ]; - propagatedBuildInputs = - [ matplotlib pycrypto ecdsa ] + postPatch = lib.optionalString withManufDb '' + substituteInPlace scapy/data.py --replace "/opt/wireshark" "${wireshark}" + ''; + + propagatedBuildInputs = [ pycrypto ecdsa ] + ++ lib.optional withOptionalDeps [ tcpdump ipython ] + ++ lib.optional withCryptography [ cryptography ] + ++ lib.optional withVoipSupport [ sox ] + ++ lib.optional withPlottingSupport [ matplotlib ] + ++ lib.optional withGraphicsSupport [ pyx texlive.combined.scheme-minimal graphviz imagemagick ] ++ lib.optional (isPy3k && pythonOlder "3.4") [ enum34 ] ++ lib.optional doCheck [ mock ]; # Tests fail with Python 3.6 (seems to be an upstream bug, I'll investigate) doCheck = if isPy3k then false else true; - meta = with stdenv.lib; { + meta = with lib; { description = "Powerful interactive network packet manipulation program"; homepage = https://scapy.net/; license = licenses.gpl2; diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix index 1661dd2cf3aa..cd4a6389a351 100644 --- a/pkgs/development/python-modules/selenium/default.nix +++ b/pkgs/development/python-modules/selenium/default.nix @@ -1,6 +1,6 @@ { lib , stdenv -, fetchurl +, fetchPypi , fetchFromGitHub , buildPythonPackage , geckodriver @@ -22,12 +22,11 @@ in buildPythonPackage rec { pname = "selenium"; - version = "3.6.0"; - name = pname + "-" + version; + version = "3.8.1"; - src = fetchurl { - url = "mirror://pypi/s/selenium/${name}.tar.gz"; - sha256 = "15qpvz0bdwjvpcj11fm0rw6r5inr66sqw89ww50l025sbhf04qwm"; + src = fetchPypi { + inherit pname version; + sha256 = "1lqm2md84g11g7lqi94xqb5lydm93vgmlznfhf27g6sy9ayjvgcs"; }; buildInputs = [xorg.libX11]; diff --git a/pkgs/development/python-modules/singledispatch/default.nix b/pkgs/development/python-modules/singledispatch/default.nix new file mode 100644 index 000000000000..e0b207735dfa --- /dev/null +++ b/pkgs/development/python-modules/singledispatch/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, six +}: + +buildPythonPackage rec { + pname = "singledispatch"; + version = "3.4.0.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c"; + }; + + propagatedBuildInputs = [ six ]; + + # pypi singledispatch tarbal does not contain tests + doCheck = false; + + meta = { + description = "This library brings functools.singledispatch from Python 3.4 to Python 2.6-3.3."; + homepage = https://docs.python.org/3/library/functools.html; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/sortedcontainers/default.nix b/pkgs/development/python-modules/sortedcontainers/default.nix new file mode 100644 index 000000000000..1252c676646d --- /dev/null +++ b/pkgs/development/python-modules/sortedcontainers/default.nix @@ -0,0 +1,24 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "sortedcontainers"; + version = "2.0.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "607294c6e291a270948420f7ffa1fb3ed47384a4c08db6d1e9c92d08a6981982"; + }; + + # pypi tarball does not come with tests + doCheck = false; + + meta = { + description = "Python Sorted Container Types: SortedList, SortedDict, and SortedSet"; + homepage = http://www.grantjenks.com/docs/sortedcontainers/; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix index 0d8085395736..5cd0e9266022 100644 --- a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix +++ b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix @@ -1,5 +1,4 @@ { stdenv, lib, fetchPypi, buildPythonPackage, isPy3k -, bleach_1_5_0 , numpy , werkzeug , protobuf @@ -14,7 +13,7 @@ buildPythonPackage rec { pname = "tensorflow-tensorboard"; - version = "1.7.0"; + version = "1.9.0"; format = "wheel"; src = fetchPypi ({ @@ -23,13 +22,13 @@ buildPythonPackage rec { format = "wheel"; } // (if isPy3k then { python = "py3"; - sha256 = "1aa42rl3fkpllqch09d311gk1j281qry6nn07ywgbs6j0kwr6isc"; + sha256 = "42a04637a636e16054b065907c81396b83a9702948ecd14218f19dc5cf85de98"; } else { python = "py2"; - sha256 = "1vcdkyvw22kpljmj4gxb8m1q54ry02iwvw54w8v8hmdigvc77a7k"; + sha256 = "97661706fbe857c372405e0f5bd7c3db2197b5e70cec88f6924b726fde65c2c1"; })); - propagatedBuildInputs = [ bleach_1_5_0 numpy werkzeug protobuf markdown grpcio ] ++ lib.optional (!isPy3k) futures; + propagatedBuildInputs = [ numpy werkzeug protobuf markdown grpcio ] ++ lib.optional (!isPy3k) futures; meta = with stdenv.lib; { description = "TensorFlow's Visualization Toolkit"; diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix index 42e35df7497a..b09da2d4cecf 100644 --- a/pkgs/development/python-modules/tensorflow/bin.nix +++ b/pkgs/development/python-modules/tensorflow/bin.nix @@ -10,6 +10,7 @@ , termcolor , protobuf , absl-py +, grpcio , mock , backports_weakref , enum34 @@ -38,38 +39,31 @@ let in buildPythonPackage rec { pname = "tensorflow"; - version = "1.7.1"; + version = "1.9.0"; format = "wheel"; src = let pyVerNoDot = lib.strings.stringAsChars (x: if x == "." then "" else x) "${python.majorVersion}"; - version = if stdenv.isDarwin then builtins.substring 0 1 pyVerNoDot else pyVerNoDot; + pyver = if stdenv.isDarwin then builtins.substring 0 1 pyVerNoDot else pyVerNoDot; platform = if stdenv.isDarwin then "mac" else "linux"; unit = if cudaSupport then "gpu" else "cpu"; - key = "${platform}_py_${version}_${unit}"; - dls = import ./tf1.7.1-hashes.nix; + key = "${platform}_py_${pyver}_${unit}"; + dls = import ./tf1.9.0-hashes.nix; in fetchurl dls.${key}; - propagatedBuildInputs = [ numpy six protobuf absl-py astor gast termcolor ] + propagatedBuildInputs = [ protobuf numpy termcolor grpcio six astor absl-py gast tensorflow-tensorboard ] ++ lib.optional (!isPy3k) mock - ++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ] - ++ lib.optional (pythonOlder "3.6") tensorflow-tensorboard; - - # tensorflow depends on tensorflow_tensorboard, which cannot be - # built at the moment (some of its dependencies do not build - # [htlm5lib9999999 (seven nines) -> tensorboard], and it depends on an old version of - # bleach) Hence we disable dependency checking for now. - installFlags = lib.optional isPy36 "--no-dependencies"; - + ++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ]; # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow # and the propageted input tensorflow-tensorboard which causes environment collisions. - # + # another possibility would be to have tensorboard only in the buildInputs # https://github.com/tensorflow/tensorflow/blob/v1.7.1/tensorflow/tools/pip_package/setup.py#L79 postInstall = '' rm $out/bin/tensorboard ''; + installFlags = "--no-dependencies"; # tensorflow wants setuptools 39, can't allow that. # Note that we need to run *after* the fixup phase because the # libraries are loaded at runtime. If we run in preFixup then # patchelf --shrink-rpath will remove the cuda libraries. diff --git a/pkgs/development/python-modules/tensorflow/prefetcher.sh b/pkgs/development/python-modules/tensorflow/prefetcher.sh index ba9aa0bdf356..6b98ece974eb 100644 --- a/pkgs/development/python-modules/tensorflow/prefetcher.sh +++ b/pkgs/development/python-modules/tensorflow/prefetcher.sh @@ -1,4 +1,4 @@ -version=1.7.1 +version=1.9.0 hashfile=tf${version}-hashes.nix rm -f $hashfile echo "{" >> $hashfile @@ -27,3 +27,4 @@ for sys in "linux" "mac"; do done done done +echo "}" >> $hashfile diff --git a/pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix b/pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix new file mode 100644 index 000000000000..504ed7b5b957 --- /dev/null +++ b/pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix @@ -0,0 +1,34 @@ +{ +linux_py_27_cpu = { + url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp27-none-linux_x86_64.whl"; + sha256 = "1dvmajv5ddgzrazdnxpfhk9dkj0lfiviw4jmvk00d4q5v68z6ihg"; +}; +linux_py_35_cpu = { + url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl"; + sha256 = "07ilrxbhz9p3xwqhl2p8c40y1gsq68x10f34pzayrvcg2i52bvpv"; +}; +linux_py_36_cpu = { + url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl"; + sha256 = "0x2l64ab7i8nr0dzvsryblhn869qyjb85xkhy69nwahqswb68hxl"; +}; +linux_py_27_gpu = { + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp27-none-linux_x86_64.whl"; + sha256 = "0q7i82jgy0mzn2mw8i1z0pvv7ssi6m7zqkkjg2i4zxpk8djg8k6z"; +}; +linux_py_35_gpu = { + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp35-cp35m-linux_x86_64.whl"; + sha256 = "0nhq2s8fanm095x1sc9h40dvqcv9bc2aj47crv3c2sajbj7dn43g"; +}; +linux_py_36_gpu = { + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp36-cp36m-linux_x86_64.whl"; + sha256 = "1m4b9cd8ghghqxaqrlzq7j9499ddidgr78bx0c20pgyrzg38jiz1"; +}; +mac_py_2_cpu = { + url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.9.0-py2-none-any.whl"; + sha256 = "1djj0xahzrmxhfc6kyjx1lkyfh7jhq3ix0gz9j3iq4smb3ca9z01"; +}; +mac_py_3_cpu = { + url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.9.0-py3-none-any.whl"; + sha256 = "0igffy7r0d8mhkn4pybp19jmc25alfpfl4k4fxh2s3rvgii8gk22"; +}; +} diff --git a/pkgs/development/python-modules/tokenserver/default.nix b/pkgs/development/python-modules/tokenserver/default.nix index 44fcb9b46ff9..a07da568dca4 100644 --- a/pkgs/development/python-modules/tokenserver/default.nix +++ b/pkgs/development/python-modules/tokenserver/default.nix @@ -1,32 +1,35 @@ -{ buildPythonPackage -, fetchgit -, testfixtures -, cornice -, mozsvc -, pybrowserid -, tokenlib -, pymysql -, umemcache -, hawkauthlib -, alembic -, pymysqlsa -, paste -, boto +{ lib, buildPythonPackage, fetchFromGitHub +, alembic, boto, cornice, hawkauthlib, mozsvc, paste, pybrowserid, pyfxa +, pymysql, pymysqlsa, sqlalchemy, testfixtures, tokenlib, umemcache +, mock, nose, unittest2, webtest }: buildPythonPackage rec { pname = "tokenserver"; - version = "1.2.27"; + version = "1.3.1"; - src = fetchgit { - url = https://github.com/mozilla-services/tokenserver.git; - rev = "refs/tags/${version}"; - sha256 = "0il3bgjld495g9gxvvrm56kpan5swaizzg216qz3zxmb6w9ly3fm"; + src = fetchFromGitHub { + owner = "mozilla-services"; + repo = pname; + rev = version; + sha256 = "04z0r8xzrmhvh04y8ggdz9gs8qa8lv3qr7kasf6lm63fixsfgrlp"; }; + propagatedBuildInputs = [ + alembic boto cornice hawkauthlib mozsvc paste pybrowserid pyfxa + pymysql pymysqlsa sqlalchemy testfixtures tokenlib umemcache + ]; + + checkInputs = [ + mock nose unittest2 webtest + ]; + + # Requires virtualenv, MySQL, ... doCheck = false; - checkInputs = [ testfixtures ]; - propagatedBuildInputs = [ cornice mozsvc pybrowserid tokenlib - pymysql umemcache hawkauthlib alembic pymysqlsa paste boto ]; + meta = with lib; { + description = "The Mozilla Token Server"; + homepage = https://github.com/mozilla-services/tokenserver; + license = licenses.mpl20; + }; } |