diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix index 20f8df8da482..e8b3eeda01ad 100644 --- a/pkgs/applications/misc/rtv/default.nix +++ b/pkgs/applications/misc/rtv/default.nix @@ -1,28 +1,47 @@ -{ stdenv, fetchFromGitHub, pkgs, lib, python, pythonPackages }: +{ stdenv, fetchFromGitHub, pkgs, pythonPackages }: -pythonPackages.buildPythonApplication rec { - version = "1.14.1"; +with pythonPackages; +buildPythonApplication rec { + version = "1.15.1"; name = "rtv-${version}"; src = fetchFromGitHub { owner = "michael-lazar"; repo = "rtv"; rev = "v${version}"; - sha256 = "03106sdsvj4zjjaqqg7qvm3n959plvy08a6n28ir1yf67kwzsx8a"; + sha256 = "037dhds1prxj7vsq15dr46wk3pfk3ixr0d60m3h796b6nbc1spya"; }; - propagatedBuildInputs = with pythonPackages; [ + checkPhase = '' + py.test + ''; + + buildInputs = [ + coverage + coveralls + docopt + mock + pylint + pytest + vcrpy + ]; + + propagatedBuildInputs = [ + backports_functools_lru_cache beautifulsoup4 + configparser + contextlib2 + decorator + kitchen mailcap-fix - tornado + mccabe requests2 six - praw - kitchen - praw - ] ++ lib.optional (!pythonPackages.isPy3k) futures; + tornado + pyyaml + ]; - meta = with lib; { + meta = with stdenv.lib; { homepage = https://github.com/michael-lazar/rtv; description = "Browse Reddit from your Terminal"; license = licenses.mit; diff --git a/pkgs/development/python-modules/coveralls/default.nix b/pkgs/development/python-modules/coveralls/default.nix new file mode 100644 index 000000000000..59f66f36d876 --- /dev/null +++ b/pkgs/development/python-modules/coveralls/default.nix @@ -0,0 +1,51 @@ +{ buildPythonPackage +, lib +, fetchPypi +, mock +, pytest_27 +, sh +, coverage +, docopt +, requests2 +, git +}: + +buildPythonPackage rec { + pname = "coveralls"; + name = "${pname}-python-${version}"; + version = "1.1"; + + # wanted by tests + src = fetchPypi { + inherit pname version; + sha256 = "0238hgdwbvriqxrj22zwh0rbxnhh9c6hh75i39ll631vq62h65il"; + }; + + buildInputs = [ + mock + sh + pytest_27 + git + ]; + + # FIXME: tests requires .git directory to be present + doCheck = false; + + checkPhase = '' + python setup.py test + ''; + + propagatedBuildInputs = [ + coverage + docopt + requests2 + ]; + + meta = { + description = "Show coverage stats online via coveralls.io"; + homepage = https://github.com/coveralls-clients/coveralls-python; + license = lib.licenses.mit; + }; +} + + diff --git a/pkgs/development/python-modules/httpbin/default.nix b/pkgs/development/python-modules/httpbin/default.nix new file mode 100644 index 000000000000..72917fdd771b --- /dev/null +++ b/pkgs/development/python-modules/httpbin/default.nix @@ -0,0 +1,27 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, flask +, markupsafe +, decorator +, itsdangerous +, six }: + +buildPythonPackage rec { + pname = "httpbin"; + version = "0.5.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "6b57f563900ecfe126015223a259463848daafbdc2687442317c0992773b9054"; + }; + + propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ]; + + meta = with stdenv.lib; { + homepage = https://github.com/kennethreitz/httpbin; + description = "HTTP Request & Response Service"; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/kitchen/default.nix b/pkgs/development/python-modules/kitchen/default.nix new file mode 100644 index 000000000000..895cdedcb6e8 --- /dev/null +++ b/pkgs/development/python-modules/kitchen/default.nix @@ -0,0 +1,17 @@ +{ stdenv, buildPythonPackage, fetchPypi }: +buildPythonPackage rec { + pname = "kitchen"; + version = "1.2.4"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0ggv3p4x8jvmmzhp0xm00h6pvh1g0gmycw71rjwagnrj8n23vxrq"; + }; + + meta = with stdenv.lib; { + description = "Kitchen contains a cornucopia of useful code"; + license = licenses.lgpl2; + maintainers = with maintainers; [ mornfall ]; + }; +} diff --git a/pkgs/development/python-modules/pytest-httpbin/default.nix b/pkgs/development/python-modules/pytest-httpbin/default.nix new file mode 100644 index 000000000000..a31c9ba35bbe --- /dev/null +++ b/pkgs/development/python-modules/pytest-httpbin/default.nix @@ -0,0 +1,36 @@ +{ buildPythonPackage +, lib +, fetchFromGitHub +, pytest +, flask +, decorator +, httpbin +, six +, requests2 +}: + +buildPythonPackage rec { + name = "pytest-httpbin-${version}"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "kevin1024"; + repo = "pytest-httpbin"; + rev = "v${version}"; + sha256 = "0j3n12jjy8cm0va8859wqra6abfyajrgh2qj8bhcngf3a72zl9ks"; + }; + + checkPhase = '' + py.test -k "not test_chunked_encoding" + ''; + + buildInputs = [ pytest ]; + propagatedBuildInputs = [ flask decorator httpbin six requests2 ]; + + meta = { + description = "Easily test your HTTP library against a local copy of httpbin.org"; + homepage = https://github.com/kevin1024/pytest-httpbin; + license = lib.licenses.mit; + }; +} + diff --git a/pkgs/development/python-modules/vcrpy/default.nix b/pkgs/development/python-modules/vcrpy/default.nix new file mode 100644 index 000000000000..c925649b8b2b --- /dev/null +++ b/pkgs/development/python-modules/vcrpy/default.nix @@ -0,0 +1,44 @@ +{ buildPythonPackage +, lib +, pkgs +, pyyaml +, mock +, contextlib2 +, wrapt +, pytest_27 +, httpbin +, pytest-httpbin +, yarl +}: + +buildPythonPackage rec { + version = "1.10.5"; + name = "vcrpy-${version}"; + + src = pkgs.fetchurl { + url = "mirror://pypi/v/vcrpy/vcrpy-${version}.tar.gz"; + sha256 = "12kncg6jyvj15mi8ca74514f2x1ih753nhyz769nwvh39r468167"; + }; + + buildInputs = [ + pyyaml + mock + contextlib2 + wrapt + pytest_27 + httpbin + pytest-httpbin + yarl + ]; + + checkPhase = '' + py.test --ignore=tests/integration -k "TestVCRConnection.testing_connect" + ''; + + meta = with lib; { + description = "Automatically mock your HTTP interactions to simplify and speed up testing"; + homepage = https://github.com/kevin1024/vcrpy; + license = licenses.mit; + }; +} + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 318a3af78cc5..389e11e1d25f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4388,6 +4388,8 @@ in { }; }; + coveralls = callPackage ../development/python-modules/coveralls { }; + coverage = buildPythonPackage rec { name = "coverage-4.0.1"; @@ -5191,6 +5193,8 @@ in { }; }; + pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { }; + pytestcache = buildPythonPackage rec { name = "pytest-cache-1.0"; src = pkgs.fetchurl { @@ -10229,6 +10233,8 @@ in { }; }; + vcrpy = callPackage ../development/python-modules/vcrpy { }; + venusian = buildPythonPackage rec { name = "venusian-1.0"; @@ -12717,23 +12723,7 @@ in { }; }); - httpbin = buildPythonPackage rec { - name = "httpbin-0.2.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/h/httpbin/${name}.tar.gz"; - sha256 = "6b57f563900ecfe126015223a259463848daafbdc2687442317c0992773b9054"; - }; - - propagatedBuildInputs = with self; [ flask markupsafe decorator itsdangerous six ]; - - meta = { - homepage = https://github.com/kennethreitz/httpbin; - description = "HTTP Request & Response Service"; - license = licenses.mit; - }; - - }; + httpbin = callPackage ../development/python-modules/httpbin { }; httplib2 = buildPythonPackage rec { name = "httplib2-0.9.2"; @@ -13589,17 +13579,7 @@ in { }; }; - kitchen = buildPythonPackage (rec { - name = "kitchen-1.1.1"; - disabled = isPy3k; - - meta.maintainers = with maintainers; [ mornfall ]; - - src = pkgs.fetchurl { - url = "mirror://pypi/k/kitchen/kitchen-1.1.1.tar.gz"; - sha256 = "0ki840hjk1q19w6icv0dj2jxb00966nwy9b1jib0dgdspj00yrr5"; - }; - }); + kitchen = callPackage ../development/python-modules/kitchen/default.nix { }; pylast = buildPythonPackage rec { name = "pylast-${version}";