1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 isPy27,
6 pytest,
7}:
8
9buildPythonPackage {
10 pname = "pypubsub";
11 version = "4.0.3";
12 format = "setuptools";
13 disabled = isPy27;
14
15 src = fetchFromGitHub {
16 owner = "schollii";
17 repo = "pypubsub";
18 rev = "v4.0.3";
19 sha256 = "02j74w28wzmdvxkk8i561ywjgizjifq3hgcl080yj0rvkd3wivlb";
20 };
21
22 nativeCheckInputs = [ pytest ];
23
24 checkPhase = ''
25 cd tests/suite
26 py.test
27 '';
28
29 meta = with lib; {
30 homepage = "https://github.com/schollii/pypubsub";
31 description = "Python 3 publish-subcribe library";
32 longDescription = ''
33 Provides a publish-subscribe API to facilitate event-based or
34 message-based architecture in a single-process application. It is pure
35 Python and works on Python 3.3+. It is centered on the notion of a topic;
36 senders publish messages of a given topic, and listeners subscribe to
37 messages of a given topic, all inside the same process. The package also
38 supports a variety of advanced features that facilitate debugging and
39 maintaining topics and messages in larger desktop- or server-based
40 applications.
41 '';
42 license = licenses.bsd2;
43 };
44}