diff options
Diffstat (limited to 'pkgs/development/python-modules')
45 files changed, 876 insertions, 216 deletions
diff --git a/pkgs/development/python-modules/audio-metadata/default.nix b/pkgs/development/python-modules/audio-metadata/default.nix new file mode 100644 index 000000000000..633daab7d4e3 --- /dev/null +++ b/pkgs/development/python-modules/audio-metadata/default.nix @@ -0,0 +1,37 @@ +{ lib, buildPythonPackage, fetchPypi, pythonOlder +, attrs +, bidict +, bitstruct +, more-itertools +, pprintpp +}: + +buildPythonPackage rec { + pname = "audio-metadata"; + version = "0.3.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1jd0wzhh9as2qyiwggqmvsbsm5nlb73qnxix2mcar53cddvwrvj7"; + }; + + propagatedBuildInputs = [ + attrs + bidict + bitstruct + more-itertools + pprintpp + ]; + + # No tests + doCheck = false; + + disabled = pythonOlder "3.6"; + + meta = with lib; { + homepage = https://github.com/thebigmunch/audio-metadata; + description = "A library for reading and, in the future, writing metadata from audio files"; + license = licenses.mit; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix index e023c721b0e6..0544819570c5 100644 --- a/pkgs/development/python-modules/beancount/default.nix +++ b/pkgs/development/python-modules/beancount/default.nix @@ -4,14 +4,14 @@ , pytest, requests }: buildPythonPackage rec { - version = "2.1.3"; + version = "2.2.0"; pname = "beancount"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "4b7b0d3633c82ca88d3cb3d31ad2fd2e45a42401cfa94eaa1cb938ffece34f22"; + sha256 = "1j3fyyqnr5gq71rmkb9q3im8pqppa134zzhmmp4hk4b274g18w31"; }; # No tests in archive diff --git a/pkgs/development/python-modules/bidict/default.nix b/pkgs/development/python-modules/bidict/default.nix new file mode 100644 index 000000000000..ed99686ed27b --- /dev/null +++ b/pkgs/development/python-modules/bidict/default.nix @@ -0,0 +1,42 @@ +{ lib, buildPythonPackage, fetchPypi +, setuptools_scm +, sphinx +, hypothesis +, py +, pytest +, pytest-benchmark +, sortedcollections +, sortedcontainers +}: + +buildPythonPackage rec { + pname = "bidict"; + version = "0.17.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "1icj0fnfx47n6i33pj5gfrmd1rzpvah1jihhdhqiqx2cy9rs6x4c"; + }; + + nativeBuildInputs = [ setuptools_scm ]; + propagatedBuildInputs = [ sphinx ]; + + checkInputs = [ + hypothesis + py + pytest + pytest-benchmark + sortedcollections + sortedcontainers + ]; + checkPhase = '' + pytest tests + ''; + + meta = with lib; { + homepage = https://github.com/jab/bidict; + description = "Efficient, Pythonic bidirectional map data structures and related functionality"; + license = licenses.mpl20; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix new file mode 100644 index 000000000000..2bc4a5bbb616 --- /dev/null +++ b/pkgs/development/python-modules/bitstruct/default.nix @@ -0,0 +1,18 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "bitstruct"; + version = "6.0.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1znqgy2ikdqn6n6mv1ccfbl0q7x65bh3i9ph0yjl4rihwvxyg9fg"; + }; + + meta = with lib; { + homepage = https://github.com/eerimoq/bitstruct; + description = "Python bit pack/unpack package"; + license = licenses.mit; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix new file mode 100644 index 000000000000..5bd545db51cc --- /dev/null +++ b/pkgs/development/python-modules/braintree/default.nix @@ -0,0 +1,27 @@ +{ lib, + fetchPypi, + requests, + buildPythonPackage +}: + +buildPythonPackage rec { + pname = "braintree"; + version = "3.50.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "d1d7a6854b623f2c616451fa474113ac7fb8a2cbeb7dfad36dd3312113484030"; + }; + + propagatedBuildInputs = [ requests ]; + + # pypi release does not include tests + doCheck = false; + + meta = with lib; { + description = "Python library for integration with Braintree"; + homepage = https://github.com/braintree/braintree_python; + license = licenses.mit; + maintainers = [ maintainers.ivegotasthma ]; + }; +} diff --git a/pkgs/development/python-modules/bugwarrior/default.nix b/pkgs/development/python-modules/bugwarrior/default.nix index 844aebbbb965..b2b10671f2b9 100644 --- a/pkgs/development/python-modules/bugwarrior/default.nix +++ b/pkgs/development/python-modules/bugwarrior/default.nix @@ -1,7 +1,7 @@ { stdenv, buildPythonPackage, fetchPypi , mock, unittest2, nose , twiggy, requests, offtrac, bugzilla, taskw, dateutil, pytz, keyring, six -, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future15 }: +, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future }: buildPythonPackage rec { pname = "bugwarrior"; @@ -15,7 +15,7 @@ buildPythonPackage rec { buildInputs = [ mock unittest2 nose /* jira megaplan */ ]; propagatedBuildInputs = [ twiggy requests offtrac bugzilla taskw dateutil pytz keyring six - jinja2 pycurl dogpile_cache lockfile click pyxdg future15 + jinja2 pycurl dogpile_cache lockfile click pyxdg future ]; # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite. diff --git a/pkgs/development/python-modules/cachetools/1.nix b/pkgs/development/python-modules/cachetools/1.nix deleted file mode 100644 index 05f3afe758a6..000000000000 --- a/pkgs/development/python-modules/cachetools/1.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, buildPythonPackage, fetchPypi, isPyPy }: - -buildPythonPackage rec { - pname = "cachetools"; - version = "2.1.0"; - disabled = isPyPy; # a test fails - - src = fetchPypi { - inherit pname version; - sha256 = "90f1d559512fc073483fe573ef5ceb39bf6ad3d39edc98dc55178a2b2b176fa3"; - }; - - meta = with stdenv.lib; { - homepage = "https://github.com/tkem/cachetools"; - license = licenses.mit; - }; -} diff --git a/pkgs/development/python-modules/cfgv/default.nix b/pkgs/development/python-modules/cfgv/default.nix index 2212486978de..181d4e79b106 100644 --- a/pkgs/development/python-modules/cfgv/default.nix +++ b/pkgs/development/python-modules/cfgv/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "cfgv"; - version = "1.1.0"; + version = "1.4.0"; src = fetchPypi { inherit pname version; - sha256 = "1akm5xdbi5kckgnhhfj6qavjwakm44cwqzhfx2ycgh7mkym1qyfi"; + sha256 = "01mpw8kx0f2py2jwf0fv60k01p11gs0dbar5zq42k4z38xf0bn9r"; }; propagatedBuildInputs = [ six ]; diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix new file mode 100644 index 000000000000..673a570c61f0 --- /dev/null +++ b/pkgs/development/python-modules/click-default-group/default.nix @@ -0,0 +1,25 @@ +{ lib, buildPythonPackage, fetchFromGitHub, click, pytest }: + +buildPythonPackage rec { + pname = "click-default-group"; + version = "1.2"; + + # No tests in Pypi tarball + src = fetchFromGitHub { + owner = "click-contrib"; + repo = "click-default-group"; + rev = "v${version}"; + sha256 = "0lm2k4jvy4ilvv91niawklfnp5mp7wa8c1bicsqdfzrxmw7jliwp"; + }; + + propagatedBuildInputs = [ click ]; + + checkInputs = [ pytest ]; + + meta = with lib; { + homepage = https://github.com/click-contrib/click-default-group; + description = "Group to invoke a command without explicit subcommand name"; + license = licenses.bsd3; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix index 019ab4e6cdd8..81c38acfca37 100644 --- a/pkgs/development/python-modules/cmd2/default.nix +++ b/pkgs/development/python-modules/cmd2/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k -, pyperclip, six, pyparsing, vim, wcwidth, colorama +, pyperclip, six, pyparsing, vim, wcwidth, colorama, attrs , contextlib2 ? null, typing ? null, setuptools_scm , pytest, mock ? null, pytest-mock , which, glibcLocales @@ -36,6 +36,7 @@ buildPythonPackage rec { six pyparsing wcwidth + attrs ] ++ stdenv.lib.optionals (pythonOlder "3.5") [contextlib2 typing] ; diff --git a/pkgs/development/python-modules/django-compat/default.nix b/pkgs/development/python-modules/django-compat/default.nix index d575c1b674b0..32d85cfadd71 100644 --- a/pkgs/development/python-modules/django-compat/default.nix +++ b/pkgs/development/python-modules/django-compat/default.nix @@ -1,36 +1,31 @@ { stdenv, buildPythonPackage, fetchFromGitHub, python, - django, django_nose, six + django, six }: buildPythonPackage rec { pname = "django-compat"; - version = "1.0.14"; + version = "1.0.15"; # the pypi packages don't include everything required for the tests src = fetchFromGitHub { owner = "arteria"; repo = "django-compat"; rev = "v${version}"; - sha256 = "11g6ra6djkchqk44v8k7biaxd1v69qyyyask5l92vmrvb0qiwvm8"; + sha256 = "1pr6v38ahrsvxlgmcx69s4b5q5082f44gzi4h3c32sccdc4pwqxp"; }; checkPhase = '' runHook preCheck - # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the - # source directory - mkdir -p testbase/compat - pushd testbase - # note we're not copying the direct contents of compat/ (notably __init__.py) so python won't recognize this as a - # package, but the tests need to be in a specific path for the test templates to get picked up. - cp -r ../compat/tests compat/ - cp ../runtests.py . - ${python.interpreter} runtests.py compat/tests - popd + # to convince the tests to run against the installed package, not the source directory, we extract the + # tests directory from it then dispose of the actual source + mv compat/tests . + rm -r compat + substituteInPlace runtests.py --replace compat.tests tests + ${python.interpreter} runtests.py runHook postCheck ''; - checkInputs = [ django_nose ]; propagatedBuildInputs = [ django six ]; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/django-cors-headers/default.nix b/pkgs/development/python-modules/django-cors-headers/default.nix new file mode 100644 index 000000000000..21f5b841adb8 --- /dev/null +++ b/pkgs/development/python-modules/django-cors-headers/default.nix @@ -0,0 +1,27 @@ +{ lib, + fetchPypi, + django, + buildPythonPackage +}: + +buildPythonPackage rec { + pname = "django-cors-headers"; + version = "2.4.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1qfa9awsj3f0nwygb0vdh4ilcsfi6zinzng73cd5864x2fbyxhn4"; + }; + + propagatedBuildInputs = [ django ]; + + # pypi release does not include tests + doCheck = false; + + meta = with lib; { + description = "Django app for handling server Cross-Origin Resource Sharing (CORS) headers"; + homepage = https://github.com/OttoYiu/django-cors-headers; + license = licenses.mit; + maintainers = [ maintainers.ivegotasthma ]; + }; +} diff --git a/pkgs/development/python-modules/django-hijack-admin/default.nix b/pkgs/development/python-modules/django-hijack-admin/default.nix index e6cd5a3482fe..005d61acab9b 100644 --- a/pkgs/development/python-modules/django-hijack-admin/default.nix +++ b/pkgs/development/python-modules/django-hijack-admin/default.nix @@ -2,14 +2,14 @@ django_hijack, django_nose }: buildPythonPackage rec { pname = "django-hijack-admin"; - version = "2.1.5"; + version = "2.1.10"; # the pypi packages don't include everything required for the tests src = fetchFromGitHub { owner = "arteria"; repo = "django-hijack-admin"; rev = "v${version}"; - sha256 = "02j75blvkjiz5mv5wc4jxl27rgmjsrl6l67a3p8342jwazzsm6jg"; + sha256 = "0m98lchp2y43886n67j4s7miyd50pg2r5r966vjnxmd7nx7qkihf"; }; checkInputs = [ django_nose ]; @@ -17,13 +17,21 @@ buildPythonPackage rec { checkPhase = '' runHook preCheck + + # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the + # source directory + mkdir testbase + pushd testbase + mv ../runtests.py . ${python.interpreter} runtests.py hijack_admin + popd + runHook postCheck ''; meta = with stdenv.lib; { description = "Admin integration for django-hijack"; - homepage = https://github.com/arteria/django-hijack; + homepage = https://github.com/arteria/django-hijack-admin; license = licenses.mit; maintainers = with maintainers; [ lsix ]; }; diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix index bdf503cd8492..f41e7d146c97 100644 --- a/pkgs/development/python-modules/django-hijack/default.nix +++ b/pkgs/development/python-modules/django-hijack/default.nix @@ -3,15 +3,14 @@ }: buildPythonPackage rec { pname = "django-hijack"; - version = "2.1.9"; - name = pname + "-" + version; + version = "2.1.10"; # the pypi packages don't include everything required for the tests src = fetchFromGitHub { owner = "arteria"; repo = "django-hijack"; rev = "v${version}"; - sha256 = "109xi93xj37ycdsvainybhg89pcb5sawv6w80px4r6fjvaq4732c"; + sha256 = "01fwkjdzvw0yx2spwi7zc1yy64ndq1y72bfmk7kxnq5x803m2ak6"; }; checkInputs = [ django_nose ]; @@ -24,7 +23,7 @@ buildPythonPackage rec { # source directory mkdir testbase pushd testbase - cp ../runtests.py . + mv ../runtests.py . ${python.interpreter} runtests.py hijack popd diff --git a/pkgs/development/python-modules/django-rest-auth/default.nix b/pkgs/development/python-modules/django-rest-auth/default.nix new file mode 100644 index 000000000000..696376b3e4bd --- /dev/null +++ b/pkgs/development/python-modules/django-rest-auth/default.nix @@ -0,0 +1,29 @@ +{ lib, + fetchPypi, + django, + djangorestframework, + six, + buildPythonPackage +}: + +buildPythonPackage rec { + pname = "django-rest-auth"; + version = "0.9.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "ad155a0ed1061b32e3e46c9b25686e397644fd6acfd35d5c03bc6b9d2fc6c82a"; + }; + + propagatedBuildInputs = [ django djangorestframework six ]; + + # pypi release does not include tests + doCheck = false; + + meta = with lib; { + description = "Django app that makes registration and authentication easy"; + homepage = https://github.com/Tivix/django-rest-auth; + license = licenses.mit; + maintainers = [ maintainers.ivegotasthma ]; + }; +} diff --git a/pkgs/development/python-modules/django_reversion/default.nix b/pkgs/development/python-modules/django_reversion/default.nix index 18fbbe2da311..35879a7bfb49 100644 --- a/pkgs/development/python-modules/django_reversion/default.nix +++ b/pkgs/development/python-modules/django_reversion/default.nix @@ -13,6 +13,9 @@ buildPythonPackage rec { sha256 = "9b8a245917e1bae131d3210c9ca7efbc066e60f32efa436e391c9803c3f4b61b"; }; + # tests assume the availability of a mysql/postgresql database + doCheck = false; + propagatedBuildInputs = [ django ]; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/djangorestframework-jwt/default.nix b/pkgs/development/python-modules/djangorestframework-jwt/default.nix new file mode 100644 index 000000000000..f50fd3ff9b61 --- /dev/null +++ b/pkgs/development/python-modules/djangorestframework-jwt/default.nix @@ -0,0 +1,30 @@ +{ lib +, fetchPypi +, django +, pyjwt +, djangorestframework +, buildPythonPackage +}: + +buildPythonPackage rec { + pname = "djangorestframework-jwt"; + version = "1.11.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "19rng6v1sw14mbjp5cplnrgxjnhlj8faalfw02iihi9s5w1k7zjy"; + }; + + propagatedBuildInputs = [ pyjwt django djangorestframework ]; + + # ./runtests.py fails because the project must be tested against a django + # installation, there are missing database tables for User, that don't exist. + doCheck = false; + + meta = with lib; { + description = "JSON Web Token Authentication support for Django REST Framework"; + homepage = https://github.com/GetBlimp/django-rest-framework-jwt; + license = licenses.mit; + maintainers = [ maintainers.ivegotasthma ]; + }; +} diff --git a/pkgs/development/python-modules/dugong/default.nix b/pkgs/development/python-modules/dugong/default.nix index 20f4bc7e0c33..09faabb98cc6 100644 --- a/pkgs/development/python-modules/dugong/default.nix +++ b/pkgs/development/python-modules/dugong/default.nix @@ -2,12 +2,13 @@ buildPythonPackage rec { pname = "dugong"; - version = "3.5"; + version = "3.7.4"; disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3 src = fetchPypi { inherit pname version; - sha256 = "0y0rdxbiwm03zv6vpvapqilrird3h8ijz7xmb0j7ds5j4p6q3g24"; + extension = "tar.bz2"; + sha256 = "1fb9kwib6jsd09bxiz70av6g0blscygkx7xzaz1b7ibd28ms77zd"; }; } diff --git a/pkgs/development/python-modules/glances/default.nix b/pkgs/development/python-modules/glances/default.nix index f25723e7ec72..9670428a3e5f 100644 --- a/pkgs/development/python-modules/glances/default.nix +++ b/pkgs/development/python-modules/glances/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { name = "glances-${version}"; - version = "3.0.2"; + version = "3.1.0"; disabled = isPyPy; src = fetchFromGitHub { owner = "nicolargo"; repo = "glances"; rev = "v${version}"; - sha256 = "1jkjblfk4gbr00j7lny7ajiizzqnp0p1yhzfi14074gwk38z0q14"; + sha256 = "0zjpp017i8b8bijdaj85rya7rmdqh4g8vkb42q14q2sw6agxz3zi"; }; patches = lib.optional doCheck ./skip-failing-tests.patch; diff --git a/pkgs/development/python-modules/google-music-proto/default.nix b/pkgs/development/python-modules/google-music-proto/default.nix new file mode 100644 index 000000000000..b2196c8748ce --- /dev/null +++ b/pkgs/development/python-modules/google-music-proto/default.nix @@ -0,0 +1,37 @@ +{ lib, buildPythonPackage, fetchPypi, pythonOlder +, attrs +, audio-metadata +, marshmallow +, pendulum +, protobuf +}: + +buildPythonPackage rec { + pname = "google-music-proto"; + version = "2.2.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "008nap32hcrlnkkqkf462vwnm6xzrn6fj71lbryfmrakad7rz7bc"; + }; + + propagatedBuildInputs = [ + attrs + audio-metadata + marshmallow + pendulum + protobuf + ]; + + # No tests + doCheck = false; + + disabled = pythonOlder "3.6"; + + meta = with lib; { + homepage = https://github.com/thebigmunch/google-music-proto; + description = "Sans-I/O wrapper of Google Music API calls"; + license = licenses.mit; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/google-music-utils/default.nix b/pkgs/development/python-modules/google-music-utils/default.nix new file mode 100644 index 000000000000..d7fb8a917076 --- /dev/null +++ b/pkgs/development/python-modules/google-music-utils/default.nix @@ -0,0 +1,35 @@ +{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder +, audio-metadata, multidict, wrapt +, pytest +}: + +buildPythonPackage rec { + pname = "google-music-utils"; + version = "2.0.0"; + + # Pypi tarball doesn't contain tests + src = fetchFromGitHub { + owner = "thebigmunch"; + repo = "google-music-utils"; + rev = version; + sha256 = "0i5zcr1ypnxizi41s3lrplz9m9rmb56s5iihjx61kbybxcq2b6gk"; + }; + + propagatedBuildInputs = [ + audio-metadata multidict wrapt + ]; + + checkInputs = [ pytest ]; + checkPhase = '' + pytest + ''; + + disabled = pythonOlder "3.6"; + + meta = with lib; { + homepage = https://github.com/thebigmunch/google-music-utils; + description = "A set of utility functionality for google-music and related projects"; + license = licenses.mit; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/google-music/default.nix b/pkgs/development/python-modules/google-music/default.nix new file mode 100644 index 000000000000..b0fe0f8a2544 --- /dev/null +++ b/pkgs/development/python-modules/google-music/default.nix @@ -0,0 +1,39 @@ +{ lib, buildPythonPackage, fetchPypi, pythonOlder +, appdirs +, audio-metadata +, google-music-proto +, protobuf +, requests_oauthlib +, tenacity +}: + +buildPythonPackage rec { + pname = "google-music"; + version = "3.0.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "13i9nd62wqfg0f5r7ykr15q83397vdpw0js50fy5nbgs33sbf6b7"; + }; + + propagatedBuildInputs = [ + appdirs + audio-metadata + google-music-proto + protobuf + requests_oauthlib + tenacity + ]; + + # No tests + doCheck = false; + + disabled = pythonOlder "3.6"; + + meta = with lib; { + homepage = https://github.com/thebigmunch/google-music; + description = "A Google Music API wrapper"; + license = licenses.mit; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/grandalf/default.nix b/pkgs/development/python-modules/grandalf/default.nix new file mode 100644 index 000000000000..79413b26544f --- /dev/null +++ b/pkgs/development/python-modules/grandalf/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pyparsing +, future +, pytest +, pytestrunner +}: + +buildPythonPackage rec { + pname = "grandalf"; + version = "0.6"; + + # fetch from github to acquire tests + src = fetchFromGitHub { + owner = "bdcht"; + repo = "grandalf"; + rev = "v${version}"; + sha256 = "1f1l288sqna0bca7dwwvyw7wzg9b2613g6vc0g0vfngm7k75b2jg"; + }; + + propagatedBuildInputs = [ + pyparsing + future + ]; + + checkInputs = [ pytest pytestrunner ]; + + patches = [ ./no-setup-requires-pytestrunner.patch ]; + + checkPhase = '' + pytest tests + ''; + + meta = with lib; { + description = "A python package made for experimentations with graphs and drawing algorithms"; + homepage = https://github.com/bdcht/grandalf; + license = licenses.gpl2; + maintainers = with maintainers; [ cmcdragonkai ]; + }; +} diff --git a/pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch b/pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch new file mode 100644 index 000000000000..80e12e246ebb --- /dev/null +++ b/pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch @@ -0,0 +1,15 @@ +diff --git a/setup.py b/setup.py +index 0470622..d574ceb 100755 +--- a/setup.py ++++ b/setup.py +@@ -75,8 +75,8 @@ setup( + # your project is installed. For an analysis of "install_requires" vs pip's + # requirements files see: + # https://packaging.python.org/en/latest/requirements.html +- setup_requires=['pytest-runner',], +- tests_require=['pytest',], ++ setup_requires=[], ++ tests_require=['pytest','pytest-runner',], + + install_requires=['pyparsing','future'], + diff --git a/pkgs/development/python-modules/irc/default.nix b/pkgs/development/python-modules/irc/default.nix index 99f8d19b350b..672704249dc9 100644 --- a/pkgs/development/python-modules/irc/default.nix +++ b/pkgs/development/python-modules/irc/default.nix @@ -1,4 +1,4 @@ -{ buildPythonPackage, fetchPypi +{ buildPythonPackage, fetchPypi, isPy3k , six, jaraco_logging, jaraco_text, jaraco_stream, pytz, jaraco_itertools , setuptools_scm }: @@ -6,6 +6,8 @@ buildPythonPackage rec { pname = "irc"; version = "17.0"; + disabled = !isPy3k; + src = fetchPypi { inherit pname version; sha256 = "f9c5fcb72dd230e1387fd4a0114a1935605e0f59ac09dec962313baed74e1365"; diff --git a/pkgs/development/python-modules/jaraco_itertools/default.nix b/pkgs/development/python-modules/jaraco_itertools/default.nix index 22376b7e0cfc..249054581fab 100644 --- a/pkgs/development/python-modules/jaraco_itertools/default.nix +++ b/pkgs/development/python-modules/jaraco_itertools/default.nix @@ -1,14 +1,26 @@ -{ buildPythonPackage, fetchPypi, setuptools_scm -, inflect, more-itertools, six }: +{ lib, buildPythonPackage, fetchPypi, setuptools_scm +, inflect, more-itertools, six, pytest, pytest-flake8 }: buildPythonPackage rec { pname = "jaraco.itertools"; - version = "3.0.0"; + version = "4.0.0"; + src = fetchPypi { inherit pname version; - sha256 = "19d8557a25c08f7a7b8f1cfa456ebfd615bafa0f045f89bbda55f99661b0626d"; + sha256 = "1d09zpi593bhr56rwm41kzffr18wif98plgy6xdy0zrbdwfarrxl"; }; - doCheck = false; + buildInputs = [ setuptools_scm ]; propagatedBuildInputs = [ inflect more-itertools six ]; + checkInputs = [ pytest pytest-flake8 ]; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "Tools for working with iterables"; + homepage = https://github.com/jaraco/jaraco.itertools; + license = licenses.mit; + }; } diff --git a/pkgs/development/python-modules/jaraco_logging/default.nix b/pkgs/development/python-modules/jaraco_logging/default.nix index 2aeb0dc3fa40..68fba6bfb5fb 100644 --- a/pkgs/development/python-modules/jaraco_logging/default.nix +++ b/pkgs/development/python-modules/jaraco_logging/default.nix @@ -1,14 +1,26 @@ -{ buildPythonPackage, fetchPypi, setuptools_scm -, tempora, six }: +{ lib, buildPythonPackage, fetchPypi, setuptools_scm +, tempora, six, pytest, pytest-flake8 }: buildPythonPackage rec { pname = "jaraco.logging"; - version = "1.5.2"; + version = "2.0"; + src = fetchPypi { inherit pname version; - sha256 = "199pgwx9ziab3gxg6p0c24z8dp3bjpsvvshnmlph9zjsssq0xc93"; + sha256 = "1lb846j7qs1hgqwkyifv51nhl3f8jimbc4lk8yn9nkaynw0vyzcg"; }; - doCheck = false; + buildInputs = [ setuptools_scm ]; propagatedBuildInputs = [ tempora six ]; + checkInputs = [ pytest pytest-flake8 ]; + + checkPhase = '' + PYTHONPATH=".:$PYTHONPATH" pytest + ''; + + meta = with lib; { + description = "Support for Python logging facility"; + homepage = https://github.com/jaraco/jaraco.logging; + license = licenses.mit; + }; } diff --git a/pkgs/development/python-modules/jq/default.nix b/pkgs/development/python-modules/jq/default.nix new file mode 100644 index 000000000000..adcdd2b9d823 --- /dev/null +++ b/pkgs/development/python-modules/jq/default.nix @@ -0,0 +1,27 @@ +{ buildPythonPackage, fetchPypi, lib, cython, jq }: + +buildPythonPackage rec { + pname = "jq"; + version = "0.1.6"; + + srcs = fetchPypi { + inherit pname version; + sha256 = "34bdf9f9e49e522e1790afc03f3584c6b57329215ea0567fb2157867d6d6f602"; + }; + patches = [ ./jq-py-setup.patch ]; + + nativeBuildInputs = [ cython ]; + + preBuild = '' + cython jq.pyx + ''; + + buildInputs = [ jq ]; + + meta = { + description = "Python bindings for jq, the flexible JSON processor"; + homepage = "https://github.com/mwilliamson/jq.py"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ benley ]; + }; +} diff --git a/pkgs/development/python-modules/jq/jq-py-setup.patch b/pkgs/development/python-modules/jq/jq-py-setup.patch new file mode 100644 index 000000000000..7d7d825e9f18 --- /dev/null +++ b/pkgs/development/python-modules/jq/jq-py-setup.patch @@ -0,0 +1,130 @@ +From 3f369cf8b9f7134d0792f6b141d39b5342a8274f Mon Sep 17 00:00:00 2001 +From: Benjamin Staffin <benley@gmail.com> +Date: Mon, 14 Jan 2019 17:27:06 -0500 +Subject: [PATCH] Vastly simplify setup.py for distro compatibility + +--- + setup.py | 81 +------------------------------------------------------- + 1 file changed, 1 insertion(+), 80 deletions(-) + +diff --git a/setup.py b/setup.py +index 77933f2..2b71e25 100644 +--- a/setup.py ++++ b/setup.py +@@ -1,10 +1,6 @@ + #!/usr/bin/env python + + import os +-import platform +-import subprocess +-import tarfile +-import shutil + + try: + import sysconfig +@@ -14,88 +10,15 @@ except ImportError: + + from setuptools import setup + from distutils.extension import Extension +-from distutils.command.build_ext import build_ext +- +-try: +- from urllib import urlretrieve +-except ImportError: +- from urllib.request import urlretrieve +- +-def path_in_dir(relative_path): +- return os.path.abspath(os.path.join(os.path.dirname(__file__), relative_path)) + + def read(fname): + return open(os.path.join(os.path.dirname(__file__), fname)).read() + + +-jq_lib_tarball_path = path_in_dir("_jq-lib-1.5.tar.gz") +-jq_lib_dir = path_in_dir("jq-jq-1.5") +- +-oniguruma_lib_tarball_path = path_in_dir("_onig-5.9.6.tar.gz") +-oniguruma_lib_build_dir = path_in_dir("onig-5.9.6") +-oniguruma_lib_install_dir = path_in_dir("onig-install-5.9.6") +- +-class jq_build_ext(build_ext): +- def run(self): +- self._build_oniguruma() +- self._build_libjq() +- build_ext.run(self) +- +- def _build_oniguruma(self): +- self._build_lib( +- source_url="https://github.com/kkos/oniguruma/releases/download/v5.9.6/onig-5.9.6.tar.gz", +- tarball_path=oniguruma_lib_tarball_path, +- lib_dir=oniguruma_lib_build_dir, +- commands=[ +- ["./configure", "CFLAGS=-fPIC", "--prefix=" + oniguruma_lib_install_dir], +- ["make"], +- ["make", "install"], +- ]) +- +- +- def _build_libjq(self): +- self._build_lib( +- source_url="https://github.com/stedolan/jq/archive/jq-1.5.tar.gz", +- tarball_path=jq_lib_tarball_path, +- lib_dir=jq_lib_dir, +- commands=[ +- ["autoreconf", "-i"], +- ["./configure", "CFLAGS=-fPIC", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir], +- ["make"], +- ]) +- +- def _build_lib(self, source_url, tarball_path, lib_dir, commands): +- self._download_tarball(source_url, tarball_path) +- +- macosx_deployment_target = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET") +- if macosx_deployment_target: +- os.environ['MACOSX_DEPLOYMENT_TARGET'] = macosx_deployment_target +- +- def run_command(args): +- print("Executing: %s" % ' '.join(args)) +- subprocess.check_call(args, cwd=lib_dir) +- +- for command in commands: +- run_command(command) +- +- def _download_tarball(self, source_url, tarball_path): +- if os.path.exists(tarball_path): +- os.unlink(tarball_path) +- urlretrieve(source_url, tarball_path) +- +- if os.path.exists(jq_lib_dir): +- shutil.rmtree(jq_lib_dir) +- tarfile.open(tarball_path, "r:gz").extractall(path_in_dir(".")) +- +- + jq_extension = Extension( + "jq", + sources=["jq.c"], +- include_dirs=[jq_lib_dir], +- extra_objects=[ +- os.path.join(jq_lib_dir, ".libs/libjq.a"), +- os.path.join(oniguruma_lib_install_dir, "lib/libonig.a"), +- ], ++ libraries=["jq"], + ) + + setup( +@@ -107,7 +30,6 @@ setup( + url='http://github.com/mwilliamson/jq.py', + license='BSD 2-Clause', + ext_modules = [jq_extension], +- cmdclass={"build_ext": jq_build_ext}, + classifiers=[ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', +@@ -123,4 +45,3 @@ setup( + 'Programming Language :: Python :: 3.5', + ], + ) +- +-- +2.19.2 + diff --git a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix index 5e6d6ceab9b0..4697fb0c1133 100644 --- a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix +++ b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { pname = "jsonrpclib-pelix"; - version = "0.3.2"; + version = "0.4.0"; src = fetchPypi { inherit pname version; - sha256 = "14d288d1b3d3273cf96a729dd21a2470851c4962be8509f3dd62f0137ff90339"; + sha256 = "1pimyq95w99ik5av96j0n9i6n12mr9kk0y28jnrq0555d7hmii8r"; }; doCheck = false; # test_suite="tests" in setup.py but no tests in pypi. diff --git a/pkgs/development/python-modules/logzero/default.nix b/pkgs/development/python-modules/logzero/default.nix new file mode 100644 index 000000000000..098d9f3e06d8 --- /dev/null +++ b/pkgs/development/python-modules/logzero/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, pytest }: + +buildPythonPackage rec { + pname = "logzero"; + version = "1.5.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0hli2wgwxxackrk1ybmlpdd0rzms6blm11zzwlvrzykd8cp1xyil"; + }; + + checkInputs = [ pytest ]; + checkPhase = '' + pytest + ''; + + meta = with lib; { + homepage = https://github.com/metachris/logzero; + description = "Robust and effective logging for Python 2 and 3"; + license = licenses.mit; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/nanomsg-python/default.nix b/pkgs/development/python-modules/nanomsg-python/default.nix new file mode 100644 index 000000000000..b6e323ff9c69 --- /dev/null +++ b/pkgs/development/python-modules/nanomsg-python/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, nanomsg }: + +buildPythonPackage rec { + pname = "nanomsg-python"; + version = "1.0.20190114"; + + src = fetchFromGitHub { + owner = "tonysimpson"; + repo = "nanomsg-python"; + rev = "3acd9160f90f91034d4a43ce603aaa19fbaf1f2e"; + sha256 = "1qgybcpmm9xxrn39alcgdcpvwphgm1glkbnwx0ljpz4nd1jsnyrl"; + }; + + buildInputs = [ nanomsg ]; + + # Tests requires network connections + doCheck = false; + + meta = with stdenv.lib; { + description = "Bindings for nanomsg"; + homepage = https://github.com/tonysimpson/nanomsg-python; + license = licenses.mit; + maintainers = with maintainers; [ bgamari ]; + }; +} diff --git a/pkgs/development/python-modules/nanotime/default.nix b/pkgs/development/python-modules/nanotime/default.nix new file mode 100644 index 000000000000..8dd520a04e9a --- /dev/null +++ b/pkgs/development/python-modules/nanotime/default.nix @@ -0,0 +1,27 @@ +{ lib, buildPythonPackage, fetchPypi, nose }: + +buildPythonPackage rec { + pname = "nanotime"; + version = "0.5.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "c7cc231fc5f6db401b448d7ab51c96d0a4733f4b69fabe569a576f89ffdf966b"; + }; + + checkInputs = [ nose ]; + + checkPhase = '' + nosetests + ''; + + # tests currently fail + doCheck = false; + + meta = with lib; { + description = "Provides a time object that keeps time as the number of nanoseconds since the UNIX epoch"; + homepage = https://github.com/jbenet/nanotime/tree/master/python; + license = licenses.mit; + maintainers = with maintainers; [ cmcdragonkai ]; + }; +} diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix index 1b14657d5061..7d7f7da753e1 100644 --- a/pkgs/development/python-modules/nuitka/default.nix +++ b/pkgs/development/python-modules/nuitka/default.nix @@ -13,13 +13,13 @@ let # Therefore we create a separate env for it. scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]); in buildPythonPackage rec { - version = "0.6.0.6"; + version = "0.6.1"; pname = "Nuitka"; # Latest version is not yet on PyPi src = fetchurl { url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz"; - sha256 = "1i5p4ia4qcqmfb9k90g3ssbr090q555fdpc32sl4x6rgqfw5ddj4"; + sha256 = "0ncclbj9qdd88fs26mvgf217m7kgfcy1zgsyzi1j65b6z2wywl9a"; }; checkInputs = [ vmprof pyqt4 ]; diff --git a/pkgs/development/python-modules/pandas/0.17.1.nix b/pkgs/development/python-modules/pandas/0.17.1.nix deleted file mode 100644 index c481aa0dfea7..000000000000 --- a/pkgs/development/python-modules/pandas/0.17.1.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ buildPythonPackage -, fetchPypi -, stdenv -, pytest -, glibcLocales -, cython -, dateutil -, scipy -, numexpr -, pytz -, xlrd -, bottleneck -, sqlalchemy -, lxml -, html5lib -, beautifulsoup4 -, openpyxl -, tables -, xlwt -, libcxx ? null -}: - -let - inherit (stdenv.lib) optional optionalString; - inherit (stdenv) isDarwin; -in buildPythonPackage rec { - pname = "pandas"; - version = "0.17.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837"; - }; - - LC_ALL = "en_US.UTF-8"; - buildInputs = [ pytest glibcLocales ] ++ optional isDarwin libcxx; - propagatedBuildInputs = [ - cython - dateutil - scipy - numexpr - pytz - xlrd - bottleneck - sqlalchemy - lxml - html5lib - beautifulsoup4 - openpyxl - tables - xlwt - ]; - - doCheck = false; - - # For OSX, we need to add a dependency on libcxx, which provides - # `complex.h` and other libraries that pandas depends on to build. - postPatch = optionalString isDarwin '' - cpp_sdk="${libcxx}/include/c++/v1"; - echo "Adding $cpp_sdk to the setup.py common_include variable" - substituteInPlace setup.py \ - --replace "['pandas/src/klib', 'pandas/src']" \ - "['pandas/src/klib', 'pandas/src', '$cpp_sdk']" - ''; - - meta = { - # https://github.com/pandas-dev/pandas/issues/14866 - # pandas devs are no longer testing i686 so safer to assume it's broken - broken = stdenv.isi686; - homepage = http://pandas.pydata.org/; - description = "Python Data Analysis Library"; - license = stdenv.lib.licenses.bsd3; - maintainers = with stdenv.lib.maintainers; [ shlevy ]; - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/development/python-modules/pprintpp/default.nix b/pkgs/development/python-modules/pprintpp/default.nix new file mode 100644 index 000000000000..daf9d0062fb2 --- /dev/null +++ b/pkgs/development/python-modules/pprintpp/default.nix @@ -0,0 +1,30 @@ +{ lib, fetchpatch, buildPythonPackage, fetchPypi, python, nose, parameterized }: + +buildPythonPackage rec { + pname = "pprintpp"; + version = "0.4.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "00v4pkyiqc0y9qjnp3br58a4k5zwqdrjjxbcsv39vx67w84630pa"; + }; + + patches = [ + (fetchpatch { + url = "https://github.com/wolever/pprintpp/commit/873217674cc824b4c1cfdad4867c560c60e8d806.patch"; + sha256 = "0rqxzxawr83215s84mfzh1gnjwjm2xv399ywwcl4q7h395av5vb3"; + }) + ]; + + checkInputs = [ nose parameterized ]; + checkPhase = '' + ${python.interpreter} test.py + ''; + + meta = with lib; { + homepage = https://github.com/wolever/pprintpp; + description = "A drop-in replacement for pprint that's actually pretty"; + license = licenses.bsd2; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix index 0721c0d449c7..c5be26bd9b73 100644 --- a/pkgs/development/python-modules/pyaxmlparser/default.nix +++ b/pkgs/development/python-modules/pyaxmlparser/default.nix @@ -28,7 +28,8 @@ buildPythonPackage rec { meta = with stdenv.lib; { description = "Python3 Parser for Android XML file and get Application Name without using Androguard"; homepage = https://github.com/appknox/pyaxmlparser; - license = licenses.mit; + # Files from Androguard are licensed ASL 2.0 + license = with licenses; [ mit asl20 ]; maintainers = with maintainers; [ ma27 ]; }; } diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix index 2494407766c7..bda05a58e150 100644 --- a/pkgs/development/python-modules/pychromecast/default.nix +++ b/pkgs/development/python-modules/pychromecast/default.nix @@ -1,19 +1,20 @@ -{ lib, fetchurl, buildPythonPackage, requests, six, zeroconf, protobuf, casttube }: +{ lib, fetchPypi, buildPythonPackage, requests, zeroconf, protobuf, casttube, isPy3k }: buildPythonPackage rec { pname = "PyChromecast"; - version = "2.3.0"; - name = pname + "-" + version; + version = "2.4.0"; - src = fetchurl { - url = "mirror://pypi/p/pychromecast/${name}.tar.gz"; - sha256 = "f385168e34d2ef47f976c8e41bad2f58f5ca004634c0ccb1a12623d8beb2fa38"; + src = fetchPypi { + inherit pname version; + sha256 = "0q012ghssk2xhm17v28sc2lv62vk7wd5p7zzdbgxk6kywfx8yvm2"; }; - propagatedBuildInputs = [ requests six zeroconf protobuf casttube ]; + disabled = !isPy3k; + + propagatedBuildInputs = [ requests zeroconf protobuf casttube ]; meta = with lib; { - description = "Library for Python 2 and 3 to communicate with the Google Chromecast"; + description = "Library for Python 3.4+ to communicate with the Google Chromecast"; homepage = https://github.com/balloob/pychromecast; license = licenses.mit; maintainers = with maintainers; [ abbradar ]; diff --git a/pkgs/development/python-modules/pytest-benchmark/default.nix b/pkgs/development/python-modules/pytest-benchmark/default.nix index 0f3475f715d0..0a361627e8e9 100644 --- a/pkgs/development/python-modules/pytest-benchmark/default.nix +++ b/pkgs/development/python-modules/pytest-benchmark/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "pytest-benchmark"; - version = "3.1.1"; + version = "3.2.2"; src = fetchFromGitHub { owner = "ionelmc"; repo = pname; rev = "v${version}"; - sha256 = "1ch079dlc6c9ag74dh4dg6plkmh0h8kn78ari3fgadc75bald71m"; + sha256 = "1hslzzinpwc1zqhbpllqh3sllmiyk69pcycl7ahr0rz3micgwczj"; }; propagatedBuildInputs = [ pytest py-cpuinfo ] ++ lib.optional (pythonOlder "3.4") [ pathlib statistics ]; diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index dc928130cbb1..9412a750a9ab 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -2,59 +2,46 @@ , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools , atomicwrites, mock, writeText, pathlib2 }: +buildPythonPackage rec { + version = "3.9.3"; + pname = "pytest"; -let generic = { version, sha256 }: - buildPythonPackage rec { - pname = "pytest"; - inherit version; + preCheck = '' + # don't test bash builtins + rm testing/test_argcomplete.py + ''; - preCheck = '' - # don't test bash builtins - rm testing/test_argcomplete.py - ''; - - src = fetchPypi { - inherit pname version sha256; - }; - - checkInputs = [ hypothesis mock ]; - buildInputs = [ setuptools_scm ]; - propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites] - ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ] - ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ]; - - checkPhase = '' - runHook preCheck - $out/bin/py.test -x testing/ - runHook postCheck - ''; - - # Remove .pytest_cache when using py.test in a Nix build - setupHook = writeText "pytest-hook" '' - pytestcachePhase() { - find $out -name .pytest_cache -type d -exec rm -rf {} + - } - - preDistPhases+=" pytestcachePhase" - ''; - - meta = with stdenv.lib; { - homepage = https://docs.pytest.org; - description = "Framework for writing tests"; - maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; - license = licenses.mit; - platforms = platforms.unix; - }; - }; - -in { - pytest_39 = generic { - version = "3.9.3"; + src = fetchPypi { + inherit pname version; sha256 = "a9e5e8d7ab9d5b0747f37740276eb362e6a76275d76cebbb52c6049d93b475db"; }; - pytest_37 = generic { - version = "3.7.4"; - sha256 = "2d7c49e931316cc7d1638a3e5f54f5d7b4e5225972b3c9838f3584788d27f349"; + checkInputs = [ hypothesis mock ]; + buildInputs = [ setuptools_scm ]; + propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites] + ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ] + ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ]; + + checkPhase = '' + runHook preCheck + $out/bin/py.test -x testing/ + runHook postCheck + ''; + + # Remove .pytest_cache when using py.test in a Nix build + setupHook = writeText "pytest-hook" '' + pytestcachePhase() { + find $out -name .pytest_cache -type d -exec rm -rf {} + + } + + preDistPhases+=" pytestcachePhase" + ''; + + meta = with stdenv.lib; { + homepage = https://docs.pytest.org; + description = "Framework for writing tests"; + maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; + license = licenses.mit; + platforms = platforms.unix; }; } diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix index 24ab69f1a0bc..8c030ec8639b 100644 --- a/pkgs/development/python-modules/python-gitlab/default.nix +++ b/pkgs/development/python-modules/python-gitlab/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "python-gitlab"; - version = "1.6.0"; + version = "1.7.0"; src = fetchPypi { inherit pname version; - sha256 = "20ceb9232f9a412ce6554056a6b5039013d0755261d57b5c8ada7035773de795"; + sha256 = "17nh09c28vf2daamyq97bdzgr685lyh668haisqbbp5lkn9gh7j0"; }; propagatedBuildInputs = [ requests six ]; diff --git a/pkgs/development/python-modules/recommonmark/default.nix b/pkgs/development/python-modules/recommonmark/default.nix index 2078a04be063..f6965fd6cd93 100644 --- a/pkgs/development/python-modules/recommonmark/default.nix +++ b/pkgs/development/python-modules/recommonmark/default.nix @@ -1,26 +1,30 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , pytest -, sphinx -, CommonMark_54 +, CommonMark , docutils +, sphinx }: buildPythonPackage rec { pname = "recommonmark"; - version = "0.4.0"; + version = "0.5.0"; - src = fetchPypi { - inherit pname version; - sha256 = "6e29c723abcf5533842376d87c4589e62923ecb6002a8e059eb608345ddaff9d"; + # PyPI tarball is missing some test files: https://github.com/rtfd/recommonmark/pull/128 + src = fetchFromGitHub { + owner = "rtfd"; + repo = pname; + rev = version; + sha256 = "04bjqx2hczmg7rnj2rpsjk7h24diwk83s6fhgrxk00k40w2bpz5j"; }; - checkInputs = [ pytest sphinx ]; - propagatedBuildInputs = [ CommonMark_54 docutils ]; + checkInputs = [ pytest ]; + propagatedBuildInputs = [ CommonMark docutils sphinx ]; - # No tests in archive - doCheck = false; + checkPhase = '' + py.test + ''; meta = { description = "A docutils-compatibility bridge to CommonMark"; @@ -28,4 +32,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fridh ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/tenacity/default.nix b/pkgs/development/python-modules/tenacity/default.nix new file mode 100644 index 000000000000..596fa6b825fc --- /dev/null +++ b/pkgs/development/python-modules/tenacity/default.nix @@ -0,0 +1,34 @@ +{ lib, buildPythonPackage, fetchPypi, isPy27 +, pbr, six, futures, monotonic +, pytest, sphinx, tornado +}: + +buildPythonPackage rec { + pname = "tenacity"; + version = "5.0.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "1rjbj9wks7b7n75mbm01y0g2ngyai8yi05ck9gicmcdyix7vw42c"; + }; + + nativeBuildInputs = [ pbr ]; + propagatedBuildInputs = [ six ] + ++ lib.optionals isPy27 [ futures monotonic ]; + + checkInputs = [ pytest sphinx tornado ]; + checkPhase = (if isPy27 then '' + pytest --ignore='tenacity/tests/test_asyncio.py' + '' else '' + pytest + '') + '' + sphinx-build -a -E -W -b doctest doc/source doc/build + ''; + + meta = with lib; { + homepage = https://github.com/jd/tenacity; + description = "Retrying library for Python"; + license = licenses.asl20; + maintainers = with maintainers; [ jakewaksbaum ]; + }; +} diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix index 215f39da30b4..3e6109133bac 100644 --- a/pkgs/development/python-modules/trio/default.nix +++ b/pkgs/development/python-modules/trio/default.nix @@ -15,12 +15,12 @@ buildPythonPackage rec { pname = "trio"; - version = "0.9.0"; + version = "0.10.0"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; - sha256 = "6d905d950dfa1db3fad6b5ef5637c221947123fd2b0e112033fecfc582318c3b"; + sha256 = "1c1snnhjg8l87ygf5p9z2qjcq090mws5w7pr9aaiava0yqawq8yk"; }; checkInputs = [ pytest pyopenssl trustme jedi pylint ]; diff --git a/pkgs/development/python-modules/zm-py/default.nix b/pkgs/development/python-modules/zm-py/default.nix new file mode 100644 index 000000000000..d7f212f22844 --- /dev/null +++ b/pkgs/development/python-modules/zm-py/default.nix @@ -0,0 +1,29 @@ +{ lib, fetchPypi, buildPythonPackage, isPy3k +, pytest, requests }: + +buildPythonPackage rec { + pname = "zm-py"; + version = "0.3.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1hq83svprd21r74palhs3xq15g34135349y4lrgr7c76i3f37j2q"; + }; + + disabled = !isPy3k; + + propagatedBuildInputs = [ requests ]; + + checkInputs = [ pytest ]; + + checkPhase = '' + PYTHONPATH="./zoneminder:$PYTHONPATH" pytest + ''; + + meta = with lib; { + description = "A loose python wrapper around the ZoneMinder REST API"; + homepage = https://github.com/rohankapoorcom/zm-py; + license = licenses.asl20; + maintainers = with maintainers; [ peterhoeg ]; + }; +} |