1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, can
6, cobs
7, libpcap
8, nunavut
9, numpy
10, pyserial
11}:
12
13buildPythonPackage rec {
14 pname = "pycyphal";
15 version = "1.15.2";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-KVX+DwcJp1sjpcG1Utl9me1LwWDZPof+O6hoUt1xlXA=";
23 };
24
25 propagatedBuildInputs = [
26 can
27 cobs
28 libpcap
29 numpy
30 nunavut
31 pyserial
32 ];
33
34 # Can't seem to run the tests on nix
35 doCheck = false;
36 pythonImportsCheck = [
37 "pycyphal"
38 ];
39
40 meta = with lib; {
41 description = "A full-featured implementation of the Cyphal protocol stack in Python";
42 longDescription = ''
43 Cyphal is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.).
44 '';
45 homepage = "https://opencyphal.org/";
46 license = licenses.mit;
47 maintainers = [ teams.ororatech ];
48 };
49}