1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 click,
6 deprecation,
7 distro,
8 fetchFromGitHub,
9 grpcio,
10 hightime,
11 numpy,
12 poetry-core,
13 protobuf,
14 python-decouple,
15 requests,
16 sphinx-rtd-theme,
17 sphinx,
18 toml,
19 tzlocal,
20}:
21
22buildPythonPackage rec {
23 pname = "nidaqmx";
24 version = "1.2.0";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "ni";
29 repo = "nidaqmx-python";
30 tag = version;
31 hash = "sha256-uxf+1nmJ+YFS3zGu+0YP4zOdBlSCHPYC8euqZIGwb00=";
32 };
33
34 build-system = [ poetry-core ];
35
36 dependencies = [
37 click
38 deprecation
39 hightime
40 numpy
41 python-decouple
42 requests
43 tzlocal
44 ]
45 ++ lib.optionals stdenv.hostPlatform.isLinux [
46 distro
47 ];
48
49 optional-dependencies = {
50 docs = [
51 sphinx
52 sphinx-rtd-theme
53 toml
54 ];
55 grpc = [
56 grpcio
57 protobuf
58 ];
59 };
60
61 # Tests require hardware
62 doCheck = false;
63
64 pythonImportsCheck = [ "nidaqmx" ];
65
66 meta = {
67 changelog = "https://github.com/ni/nidaqmx-python/releases/tag/${src.tag}";
68 description = "API for interacting with the NI-DAQmx driver";
69 homepage = "https://github.com/ni/nidaqmx-python";
70 license = lib.licenses.mit;
71 maintainers = with lib.maintainers; [ fsagbuya ];
72 };
73}