1{
2 aiohttp,
3 anyio,
4 buildPythonPackage,
5 fetchFromGitHub,
6 google-auth,
7 httpx,
8 lib,
9 packaging,
10 pkginfo,
11 pydantic,
12 pytestCheckHook,
13 requests,
14 setuptools,
15 tenacity,
16 twine,
17 typing-extensions,
18 websockets,
19}:
20
21buildPythonPackage rec {
22 pname = "google-genai";
23 version = "1.38.0";
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "googleapis";
28 repo = "python-genai";
29 tag = "v${version}";
30 hash = "sha256-gJaLEpNKHl6n1MvQDIUW7ynsHYH2eEPGsYso5jSysNg=";
31 };
32
33 build-system = [
34 packaging
35 pkginfo
36 setuptools
37 twine
38 ];
39
40 pythonRelaxDeps = [
41 "tenacity"
42 ];
43
44 dependencies = [
45 anyio
46 google-auth
47 httpx
48 pydantic
49 requests
50 tenacity
51 typing-extensions
52 websockets
53 ];
54
55 optional-dependencies = {
56 aiohttp = [ aiohttp ];
57 };
58
59 pythonImportsCheck = [ "google.genai" ];
60
61 nativeCheckInputs = [
62 pytestCheckHook
63 ];
64
65 # ValueError: GOOGLE_GENAI_REPLAYS_DIRECTORY environment variable is not set
66 doCheck = false;
67
68 meta = {
69 changelog = "https://github.com/googleapis/python-genai/blob/${src.tag}/CHANGELOG.md";
70 description = "Google Generative AI Python SDK";
71 homepage = "https://github.com/googleapis/python-genai";
72 license = lib.licenses.asl20;
73 maintainers = with lib.maintainers; [ dotlambda ];
74 };
75}