1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5}:
6
7buildPythonPackage rec {
8 pname = "cobs";
9 version = "1.2.1";
10
11 disabled = pythonOlder "3.6";
12
13 src = fetchPypi {
14 inherit pname version;
15 hash = "sha256-Kvf4eRzeGufGuTb10MNf4p/rEN4l95wVsK8NZyl4PMA=";
16 };
17
18 checkPhase = ''
19 runHook preCheck
20
21 python -m cobs.cobs.test
22 python -m cobs.cobsr.test
23
24 runHook postCheck
25 '';
26
27 pythonImportsCheck = [
28 "cobs"
29 "cobs.cobs"
30 "cobs.cobsr"
31 ];
32
33 meta = with lib; {
34 description = "Python functions for encoding and decoding COBS";
35 longDescription = ''
36 COBS is a method of encoding a packet of bytes into a form that contains no bytes with value zero (0x00). The input packet of bytes can contain bytes in the full range of 0x00 to 0xFF. The COBS encoded packet is guaranteed to generate packets with bytes only in the range 0x01 to 0xFF. Thus, in a communication protocol, packet boundaries can be reliably delimited with 0x00 bytes.
37 '';
38 homepage = "https://github.com/cmcqueen/cobs-python/";
39 license = licenses.mit;
40 maintainers = [ teams.ororatech ];
41 };
42}