diff options
Diffstat (limited to 'pkgs/development/python-modules/pyuavcan')
-rw-r--r-- | pkgs/development/python-modules/pyuavcan/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/pyuavcan/default.nix b/pkgs/development/python-modules/pyuavcan/default.nix new file mode 100644 index 00000000000..0c78b305959 --- /dev/null +++ b/pkgs/development/python-modules/pyuavcan/default.nix @@ -0,0 +1,50 @@ +{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, numpy, nunavut +, pyserial , pytest, ruamel_yaml}: + + buildPythonPackage rec { + pname = "pyuavcan"; + version = "1.1.0.dev1"; + disabled = pythonOlder "3.7"; # only python>=3.7 is supported + + src = fetchFromGitHub { + owner = "UAVCAN"; + repo = pname; + rev = version; + sha256 = "0fmbmdnnh679zkllv5m6pkrasg7m9vjwabqnmz5m7flrgdh6h4qa"; + }; + + propagatedBuildInputs = [ + numpy + nunavut + pyserial + pytest + ruamel_yaml + ]; + + # allow for writable directory for darwin + preBuild = '' + export HOME=$TMPDIR + export PYTHONASYNCIODEBUG=1 + ''; + + # tests fail ATM. + doCheck = false; + + # check at least that import works, as tests fail + pythonImportsCheck = [ + "pyuavcan" + ]; + + meta = with lib; { + description = "A full-featured implementation of the UAVCAN protocol stack"; + longDescription = '' + It is intended for non-embedded, user-facing applications such as GUI + software, diagnostic tools, automation scripts, prototypes, and various + R&D cases. PyUAVCAN consists of a Python library (package) and a simple + CLI tool for basic diagnostics and shell script automation. + ''; + homepage = "https://pyuavcan.readthedocs.io"; + maintainers = with maintainers; [ wucke13 ]; + license = licenses.mit; + }; +} |