alvr: 20.11.1 -> 20.12.1 (#374869)
[NixPkgs.git] / pkgs / development / python-modules / manifest-ml / default.nix
blobf5a4eb315d52390b8cc5794938c0e783d4c99e45
2   lib,
3   accelerate,
4   aiohttp,
5   buildPythonPackage,
6   fastapi,
7   fetchFromGitHub,
8   flask,
9   numpy,
10   pg8000,
11   pillow,
12   pydantic,
13   pytestCheckHook,
14   pythonOlder,
15   redis,
16   requests,
17   sentence-transformers,
18   setuptools,
19   sqlalchemy,
20   sqlitedict,
21   tenacity,
22   tiktoken,
23   torch,
24   transformers,
25   uvicorn,
26   xxhash,
29 buildPythonPackage rec {
30   pname = "manifest-ml";
31   version = "0.1.9";
32   pyproject = true;
34   disabled = pythonOlder "3.8";
36   src = fetchFromGitHub {
37     owner = "HazyResearch";
38     repo = "manifest";
39     tag = "v${version}";
40     hash = "sha256-6m1XZOXzflBYyq9+PinbrW+zqvNGFN/aRDHH1b2Me5E=";
41   };
43   __darwinAllowLocalNetworking = true;
45   pythonRelaxDeps = [ "pydantic" ];
47   build-system = [
48     setuptools
49   ];
51   dependencies = [
52     numpy
53     pydantic
54     redis
55     requests
56     aiohttp
57     sqlitedict
58     tenacity
59     tiktoken
60     xxhash
61   ];
63   optional-dependencies = {
64     api = [
65       accelerate
66       # deepspeed
67       # diffusers
68       flask
69       sentence-transformers
70       torch
71       transformers
72     ];
73     app = [
74       fastapi
75       uvicorn
76     ];
77     diffusers = [ pillow ];
78     gcp = [
79       pg8000
80       # cloud-sql-python-connector
81       sqlalchemy
82     ];
83   };
85   nativeCheckInputs = [
86     pytestCheckHook
87   ] ++ lib.flatten (lib.attrValues optional-dependencies);
89   preCheck = ''
90     export HOME=$TMPDIR
91   '';
93   pytestFlagsArray = [
94     # this file tries importing `deepspeed`, which is not yet packaged in nixpkgs
95     "--ignore=tests/test_huggingface_api.py"
96   ];
98   disabledTests = [
99     # Tests require DB access
100     "test_init"
101     "test_key_get_and_set"
102     "test_get"
103     # Tests require network access
104     "test_abatch_run"
105     "test_batch_run"
106     "test_retry_handling"
107     "test_run_chat"
108     "test_run"
109     "test_score_run"
110     # Test is time-senstive
111     "test_timing"
112   ];
114   pythonImportsCheck = [ "manifest" ];
116   meta = with lib; {
117     description = "Manifest for Prompting Foundation Models";
118     homepage = "https://github.com/HazyResearch/manifest";
119     changelog = "https://github.com/HazyResearch/manifest/releases/tag/v${version}";
120     license = licenses.asl20;
121     maintainers = with maintainers; [ natsukium ];
122   };