1{ lib, buildPythonPackage, fetchPypi, isPy27
2, aiodns
3, aiohttp
4, flask
5, mock
6, msrest
7, pytest
8, pytest-asyncio
9, pytest-trio
10, pytestCheckHook
11, requests
12, six
13, trio
14, typing-extensions
15}:
16
17buildPythonPackage rec {
18 version = "1.17.0";
19 pname = "azure-core";
20 disabled = isPy27;
21
22 src = fetchPypi {
23 inherit pname version;
24 extension = "zip";
25 sha256 = "25407390dde142d3e41ecf78bb18cedda9b7f7a0af558d082dec711c4a334f46";
26 };
27
28 propagatedBuildInputs = [
29 requests
30 six
31 ];
32
33 checkInputs = [
34 aiodns
35 aiohttp
36 flask
37 mock
38 msrest
39 pytest
40 pytest-trio
41 pytest-asyncio
42 pytestCheckHook
43 trio
44 typing-extensions
45 ];
46
47 # test server needs to be available
48 preCheck = ''
49 export PYTHONPATH=tests/testserver_tests/coretestserver:$PYTHONPATH
50 '';
51
52 pytestFlagsArray = [ "tests/" ];
53 # disable tests which touch network
54 disabledTests = [ "aiohttp" "multipart_send" "response" "request" "timeout" ];
55 disabledTestPaths = [
56 # requires testing modules which aren't published, and likely to create cyclic dependencies
57 "tests/test_connection_string_parsing.py"
58 # wants network
59 "tests/async_tests/test_streaming_async.py"
60 "tests/test_streaming.py"
61 # testserver tests require being in a very specific working directory to make it work
62 "tests/testserver_tests/"
63 ];
64
65 meta = with lib; {
66 description = "Microsoft Azure Core Library for Python";
67 homepage = "https://github.com/Azure/azure-sdk-for-python";
68 license = licenses.mit;
69 maintainers = with maintainers; [ jonringer ];
70 };
71}