1{
2 lib,
3 stdenv,
4 aenum,
5 aiohttp,
6 buildPythonPackage,
7 fetchPypi,
8 flatdict,
9 pycryptodome,
10 pycryptodomex,
11 pydash,
12 pyfakefs,
13 pytest-asyncio,
14 pytest-mock,
15 pytest-recording,
16 pytestCheckHook,
17 python-jose,
18 pythonOlder,
19 pyyaml,
20 xmltodict,
21 yarl,
22}:
23
24buildPythonPackage rec {
25 pname = "okta";
26 version = "2.9.6";
27 format = "setuptools";
28
29 disabled = pythonOlder "3.7";
30
31 src = fetchPypi {
32 inherit pname version;
33 hash = "sha256-WRWbS8bYUafnvnTKLHlV7YV5410E0jk2UYos2F20A7k=";
34 };
35
36 propagatedBuildInputs = [
37 aenum
38 aiohttp
39 flatdict
40 pycryptodome
41 pycryptodomex
42 pydash
43 python-jose
44 pyyaml
45 xmltodict
46 yarl
47 ];
48
49 checkInputs = [
50 pyfakefs
51 pytest-asyncio
52 pytest-mock
53 pytest-recording
54 pytestCheckHook
55 ];
56
57 pytestFlagsArray = [ "tests/" ];
58
59 disabledTests = [
60 "test_client_raise_exception"
61 # vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette
62 "test_get_org_contact_user"
63 "test_update_org_contact_user"
64 "test_get_role_subscription"
65 "test_subscribe_unsubscribe"
66 ];
67
68 pythonImportsCheck = [
69 "okta"
70 "okta.cache"
71 "okta.client"
72 "okta.exceptions"
73 "okta.http_client"
74 "okta.models"
75 "okta.request_executor"
76 ];
77
78 meta = with lib; {
79 description = "Python SDK for the Okta Management API";
80 homepage = "https://github.com/okta/okta-sdk-python";
81 changelog = "https://github.com/okta/okta-sdk-python/blob/v${version}/CHANGELOG.md";
82 license = licenses.asl20;
83 maintainers = with maintainers; [ jbgosselin ];
84 };
85}