1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pydantic,
7 requests,
8 typing-extensions,
9 pandas,
10 tqdm,
11}:
12
13buildPythonPackage rec {
14 pname = "cmsdials";
15 version = "1.5.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "cms-DQM";
20 repo = "dials-py";
21 tag = "v${version}";
22 hash = "sha256-bYFADE6Fi0hQ0IaaeN3RhtPPQwWqhhRbNyGOUPLksp4=";
23 };
24
25 build-system = [ poetry-core ];
26
27 dependencies = [
28 pydantic
29 requests
30 typing-extensions
31 ];
32
33 optional-dependencies = {
34 pandas = [ pandas ];
35 tqdm = [ tqdm ];
36 };
37
38 pythonRelaxDeps = [
39 # pydantic = "<2, >=1"pydantic = "<2, >=1"
40 "pydantic"
41 # typing-extensions = "<4.6.0, >=3.6.6"
42 "typing-extensions"
43 ];
44
45 pythonImportsCheck = [ "cmsdials" ];
46
47 meta = with lib; {
48 description = "Python API client interface to CMS DIALS service";
49 homepage = "https://github.com/cms-DQM/dials-py";
50 license = licenses.gpl3Only;
51 maintainers = with maintainers; [ ShamrockLee ];
52 };
53}