1{ lib
2, fetchFromGitHub
3, buildPythonPackage
4, cython
5, git
6, pkgconfig
7, pytest-runner
8, setuptools-scm
9, future
10, numpy
11, pyusb
12, mock
13, pytestCheckHook
14, zipp
15}:
16
17## Usage
18# In NixOS, add the package to services.udev.packages for non-root plugdev
19# users to get device access permission:
20# services.udev.packages = [ pkgs.python3Packages.seabreeze ];
21
22buildPythonPackage rec {
23 pname = "seabreeze";
24 version = "1.3.0";
25
26 src = fetchFromGitHub {
27 owner = "ap--";
28 repo = "python-seabreeze";
29 rev = "v${version}";
30 sha256 = "1hm9aalpb9sdp8s7ckn75xvyiacp5678pv9maybm5nz0z2h29ibq";
31 leaveDotGit = true;
32 };
33
34 nativeBuildInputs = [
35 cython
36 git
37 pkgconfig
38 pytest-runner
39 setuptools-scm
40 ];
41
42 propagatedBuildInputs = [
43 future
44 numpy
45 pyusb
46 ];
47
48 postInstall = ''
49 mkdir -p $out/etc/udev/rules.d
50 cp os_support/10-oceanoptics.rules $out/etc/udev/rules.d/10-oceanoptics.rules
51 '';
52
53 # few backends enabled, but still some tests
54 checkInputs = [
55 pytestCheckHook
56 mock
57 zipp
58 ];
59
60 setupPyBuildFlags = [ "--without-cseabreeze" ];
61
62 meta = with lib; {
63 homepage = "https://github.com/ap--/python-seabreeze";
64 description = "A python library to access Ocean Optics spectrometers";
65 maintainers = [];
66 license = licenses.mit;
67 };
68}