at 18.03-beta 1.8 kB view raw
1{ fetchPypi 2, lib 3, buildPythonPackage 4, python 5, isPy3k 6, appdirs 7, cached-property 8, defusedxml 9, isodate 10, lxml 11, pytz 12, requests_toolbelt 13, six 14# test dependencies 15, freezegun 16, mock 17, nose 18, pretend 19, pytest 20, pytestcov 21, requests-mock 22, testtools 23, tornado 24}: 25 26let 27 pname = "zeep"; 28 version = "2.5.0"; 29in buildPythonPackage { 30 name = "${pname}-${version}"; 31 32 src = fetchPypi { 33 inherit pname version; 34 sha256 = "4f9db52c7d269813fc6251da4cb050869158858aeea75a055b4550f19e52ac84"; 35 }; 36 37 propagatedBuildInputs = [ 38 appdirs 39 cached-property 40 defusedxml 41 isodate 42 lxml 43 pytz 44 requests_toolbelt 45 six 46 ]; 47 48 # testtools dependency not supported for py3k 49 doCheck = !isPy3k; 50 51 checkInputs = [ 52 tornado 53 ]; 54 55 buildInputs = if isPy3k then [] else [ 56 freezegun 57 mock 58 nose 59 pretend 60 pytest 61 pytestcov 62 requests-mock 63 ]; 64 65 patchPhase = '' 66 # remove overly strict bounds and lint requirements 67 sed -e "s/freezegun==.*'/freezegun'/" \ 68 -e "s/pytest-cov==.*'/pytest-cov'/" \ 69 -e "s/'isort.*//" \ 70 -e "s/'flake8.*//" \ 71 -i setup.py 72 73 # locale.preferredencoding() != 'utf-8' 74 sed -e "s/xsd', 'r')/xsd', 'r', encoding='utf-8')/" -i tests/*.py 75 76 # cache defaults to home directory, which doesn't exist 77 sed -e "s|SqliteCache()|SqliteCache(path='./zeeptest.db')|" \ 78 -i tests/test_transports.py 79 80 # requires xmlsec python module 81 rm tests/test_wsse_signature.py 82 ''; 83 84 checkPhase = '' 85 runHook preCheck 86 ${python.interpreter} -m pytest tests 87 runHook postCheck 88 ''; 89 90 meta = with lib; { 91 homepage = http://docs.python-zeep.org; 92 license = licenses.mit; 93 description = "A modern/fast Python SOAP client based on lxml / requests"; 94 maintainers = with maintainers; [ rvl ]; 95 }; 96}