Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / w1thermsensor / default.nix
blob7aa81b158e2457abd0dad452f0d6842a515b4048
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , pkgs
5 , setuptools
6 , aiofiles
7 , click
8 , coverage
9 , tomli
10 , pytest
11 , pytest-mock
12 , pytest-asyncio
13 , pytestCheckHook
14 , pythonOlder
17 buildPythonPackage rec {
18   pname = "w1thermsensor";
19   version = "2.3.0";
20   pyproject = true;
22   disabled = pythonOlder "3.7";
24   src = fetchPypi {
25     inherit pname version;
26     hash = "sha256-n7wK4N1mzZtUxtYu17qyuI4UjJh/59UGD0dvkOgcInA=";
27   };
29   postPatch = ''
30     sed -i 's/3\.5\.\*/3.5/' setup.py
31   '';
33   nativeBuildInputs = [
34     setuptools
35   ];
37   propagatedBuildInputs = [
38     click
39   ];
41   passthru.optional-dependencies = {
42     async = [
43       aiofiles
44     ];
45   };
47   # Don't try to load the kernel module in tests.
48   env.W1THERMSENSOR_NO_KERNEL_MODULE = 1;
50   nativeCheckInputs = [
51     pytest-mock
52     pytest-asyncio
53     pytestCheckHook
54   ] ++ lib.optionals (pythonOlder "3.11") [
55     tomli
56   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
58   pythonImportsCheck = [
59     "w1thermsensor"
60   ];
62   meta = with lib; {
63     description = "Python interface to 1-Wire temperature sensors";
64     mainProgram = "w1thermsensor";
65     longDescription = ''
66       A Python package and CLI tool to work with w1 temperature sensors like
67       DS1822, DS18S20 & DS18B20 on the Raspberry Pi, Beagle Bone and other
68       devices.
69     '';
70     homepage = "https://github.com/timofurrer/w1thermsensor";
71     changelog = "https://github.com/timofurrer/w1thermsensor/blob/v${version}/CHANGELOG.rst";
72     license = licenses.mit;
73     maintainers = with maintainers; [ quentin ];
74     platforms = platforms.all;
75   };