1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 google-api-core,
7 google-auth,
8 grpcio,
9 grpcio-status,
10 mock,
11 pytestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "google-cloud-core";
16 version = "2.4.3";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "googleapis";
21 repo = "python-cloud-core";
22 tag = "v${version}";
23 hash = "sha256-hYOtpHIHJVITrei6/0m1YteTog2WBWCUFCl/Zr6BLlc=";
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [
29 google-auth
30 google-api-core
31 ];
32
33 optional-dependencies = {
34 grpc = [
35 grpcio
36 grpcio-status
37 ];
38 };
39
40 nativeCheckInputs = [
41 mock
42 pytestCheckHook
43 ] ++ optional-dependencies.grpc;
44
45 # prevent google directory from shadowing google imports
46 preCheck = ''
47 rm -r google
48 '';
49
50 pythonImportsCheck = [ "google.cloud" ];
51
52 meta = with lib; {
53 description = "API Client library for Google Cloud: Core Helpers";
54 homepage = "https://github.com/googleapis/python-cloud-core";
55 changelog = "https://github.com/googleapis/python-cloud-core/blob/v${version}/CHANGELOG.md";
56 license = licenses.asl20;
57 maintainers = [ ];
58 };
59}