1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 bluepy,
7 pytestCheckHook,
8}:
9
10buildPythonPackage rec {
11 pname = "btlewrap";
12 version = "0.1.1";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "ChristianKuehnel";
17 repo = "btlewrap";
18 tag = "v${version}";
19 hash = "sha256-cjPj+Uw/L9kq/BbxlnOCJtaBcnf9VOJKN2NJ3cmKe6U=";
20 };
21
22 build-system = [ setuptools ];
23
24 optional-dependencies = {
25 bluepy = [ bluepy ];
26 };
27
28 nativeCheckInputs = [ pytestCheckHook ];
29
30 disabledTestPaths = [
31 # Require optional dependencies or hardware
32 "test/unit_tests/test_bluepy.py"
33 "test/unit_tests/test_pygatt.py"
34 "test/integration_tests/"
35 "test/unit_tests/test_available_backends.py"
36 ];
37
38 pythonImportsCheck = [ "btlewrap" ];
39
40 meta = {
41 description = "Wrapper around different bluetooth low energy backends";
42 homepage = "https://github.com/ChristianKuehnel/btlewrap";
43 changelog = "https://github.com/ChristianKuehnel/btlewrap/releases/tag/v${version}";
44 license = lib.licenses.mit;
45 maintainers = [ lib.maintainers.jamiemagee ];
46 };
47}