1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5# install requirements
6, pycryptodome
7, yarl
8, flatdict
9, python-jose
10, aenum
11, aiohttp
12, pydash
13, xmltodict
14, pyyaml
15# test requirements
16, pytestCheckHook
17, pytest-recording
18, pytest-asyncio
19, pytest-mock
20, pyfakefs
21}:
22
23buildPythonPackage rec {
24 pname = "okta";
25 version = "2.8.0";
26
27 src = fetchPypi {
28 inherit pname version;
29 sha256 = "sha256-yIVJoKX9b9Y7Ydl28twHxgPbUa58LJ12Oz3tvpU7CAc=";
30 };
31
32 propagatedBuildInputs = [
33 pycryptodome
34 yarl
35 flatdict
36 python-jose
37 aenum
38 aiohttp
39 pydash
40 xmltodict
41 pyyaml
42 ];
43
44 checkInputs = [
45 pytestCheckHook
46 pytest-asyncio
47 pytest-mock
48 pytest-recording
49 pyfakefs
50 ];
51
52 pytestFlagsArray = [ "tests/" ];
53
54 disabledTests = [
55 "test_client_raise_exception"
56 ];
57
58 pythonImportsCheck = [
59 "okta"
60 "okta.cache"
61 "okta.client"
62 "okta.exceptions"
63 "okta.http_client"
64 "okta.models"
65 "okta.request_executor"
66 ];
67
68 meta = with lib; {
69 description = "Python SDK for the Okta Management API";
70 homepage = "https://github.com/okta/okta-sdk-python";
71 license = licenses.asl20;
72 maintainers = with maintainers; [ jbgosselin ];
73 };
74}