1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 python,
6 characteristic,
7 six,
8 twisted,
9}:
10
11buildPythonPackage {
12 pname = "tubes";
13 version = "0.2.1-unstable-2023-11-06";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "twisted";
18 repo = "tubes";
19 rev = "b74680b8e7bcfe64362865356bb9461b77bbd5c0";
20 hash = "sha256-E8brnt8CtTEEP1KQTsTsgnl54H4zRGp+1IuoI/Qf5NA=";
21 };
22
23 propagatedBuildInputs = [
24 characteristic
25 six
26 twisted
27 ];
28
29 checkPhase = ''
30 ${python.interpreter} -m twisted.trial -j $NIX_BUILD_CORES tubes
31 '';
32
33 pythonImportsCheck = [ "tubes" ];
34
35 meta = with lib; {
36 description = "Data-processing and flow-control engine for event-driven programs";
37 homepage = "https://github.com/twisted/tubes";
38 license = licenses.mit;
39 maintainers = with maintainers; [ exarkun ];
40 };
41}