1{
2 lib,
3 anyio,
4 buildPythonPackage,
5 dirty-equals,
6 distro,
7 fetchFromGitHub,
8 hatch-fancy-pypi-readme,
9 hatchling,
10 httpx,
11 nest-asyncio,
12 pydantic,
13 pytest-asyncio,
14 pytestCheckHook,
15 respx,
16 sniffio,
17 typing-extensions,
18}:
19
20buildPythonPackage rec {
21 pname = "groq";
22 version = "0.19.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "groq";
27 repo = "groq-python";
28 tag = "v${version}";
29 hash = "sha256-+1us/LPQEMeswxxHvydfTCod+RimUD2lKtlAZ3pDZOA=";
30 };
31
32 build-system = [
33 hatch-fancy-pypi-readme
34 hatchling
35 ];
36
37 dependencies = [
38 anyio
39 distro
40 httpx
41 pydantic
42 sniffio
43 typing-extensions
44 ];
45
46 nativeCheckInputs = [
47 dirty-equals
48 nest-asyncio
49 pytest-asyncio
50 pytestCheckHook
51 respx
52 ];
53
54 pythonImportsCheck = [ "groq" ];
55
56 disabledTests = [
57 # Tests require network access
58 "test_method"
59 "test_streaming"
60 "test_raw_response"
61 "test_copy_build_request"
62 ];
63
64 meta = {
65 description = "Library for the Groq API";
66 homepage = "https://github.com/groq/groq-python";
67 changelog = "https://github.com/groq/groq-python/blob/${src.tag}/CHANGELOG.md";
68 license = lib.licenses.asl20;
69 maintainers = with lib.maintainers; [ fab ];
70 };
71}