nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 aiohttp,
5 aioresponses,
6 buildPythonPackage,
7 cryptography,
8 flask,
9 freezegun,
10 grpcio,
11 mock,
12 pyasn1-modules,
13 pyjwt,
14 pyopenssl,
15 pytest-asyncio,
16 pytest-localserver,
17 pytestCheckHook,
18 pyu2f,
19 requests,
20 responses,
21 rsa,
22 setuptools,
23}:
24
25buildPythonPackage rec {
26 pname = "google-auth";
27 version = "2.47.0";
28 pyproject = true;
29
30 src = fetchFromGitHub {
31 owner = "googleapis";
32 repo = "google-auth-library-python";
33 tag = "v${version}";
34 hash = "sha256-kgiqKeS8NTlz56yYKE8U/eKFQjHD6CJHOH5IKLgOeDk=";
35 };
36
37 build-system = [ setuptools ];
38
39 dependencies = [
40 pyasn1-modules
41 rsa
42 ];
43
44 optional-dependencies = {
45 aiohttp = [
46 aiohttp
47 requests
48 ];
49 enterprise_cert = [
50 cryptography
51 pyopenssl
52 ];
53 pyopenssl = [
54 cryptography
55 pyopenssl
56 ];
57 pyjwt = [
58 cryptography
59 pyjwt
60 ];
61 reauth = [ pyu2f ];
62 requests = [ requests ];
63 };
64
65 pythonRelaxDeps = [ "cachetools" ];
66
67 nativeCheckInputs = [
68 aioresponses
69 flask
70 freezegun
71 grpcio
72 mock
73 pytest-asyncio
74 pytest-localserver
75 pytestCheckHook
76 responses
77 ]
78 ++ lib.concatAttrValues optional-dependencies;
79
80 disabledTestPaths = [
81 "samples/"
82 "system_tests/"
83 # Requires a running aiohttp event loop
84 "tests_async/"
85
86 # cryptography 44 compat issue
87 "tests/transport/test__mtls_helper.py::TestDecryptPrivateKey::test_success"
88 ];
89
90 pythonImportsCheck = [
91 "google.auth"
92 "google.oauth2"
93 ];
94
95 __darwinAllowLocalNetworking = true;
96
97 meta = {
98 description = "Google Auth Python Library";
99 longDescription = ''
100 This library simplifies using Google's various server-to-server
101 authentication mechanisms to access Google APIs.
102 '';
103 homepage = "https://github.com/googleapis/google-auth-library-python";
104 changelog = "https://github.com/googleapis/google-auth-library-python/blob/${src.tag}/CHANGELOG.md";
105 license = lib.licenses.asl20;
106 maintainers = [ lib.maintainers.sarahec ];
107 };
108}