Add python-pypubsub

Evgeny PisemskySun Jan 26 15:40:45+0300 2025

2a4b350

Add python-pypubsub

modules/cogd/packages/python-xyz.scm

3939
It is written in pure python, so it is relatively slow.")
4040
    (license license:expat)))
4141
42+
(define-public python-pypubsub
43+
  (package
44+
    (name "python-pypubsub")
45+
    (version "4.0.3")
46+
    (source
47+
     (origin
48+
       (method git-fetch)
49+
       (uri (git-reference
50+
             (url "https://github.com/schollii/pypubsub")
51+
             (commit (string-append "v" version))))
52+
       (file-name (git-file-name name version))
53+
       (sha256
54+
        (base32 "02j74w28wzmdvxkk8i561ywjgizjifq3hgcl080yj0rvkd3wivlb"))))
55+
    (build-system pyproject-build-system)
56+
    (arguments
57+
     (list
58+
      #:phases #~(modify-phases %standard-phases
59+
                   (replace 'check
60+
                     (lambda* (#:key tests? #:allow-other-keys)
61+
                       (when tests?
62+
                         (with-directory-excursion "tests/suite"
63+
                           (invoke "py.test"))))))))
64+
    (native-inputs (list python-pytest python-setuptools python-wheel))
65+
    (home-page "https://github.com/schollii/pypubsub")
66+
    (synopsis "Python publish-subcribe library")
67+
    (description
68+
     "This library provides a publish-subscribe API to facilitate
69+
event-based or message-based architecture in a single-process
70+
application.  It is centered on the notion of a topic - senders
71+
publish messages of a given topic, and listeners subscribe to messages
72+
of a given topic, all inside the same process.")
73+
    (license license:bsd-2)))
74+
4275
(define-public python-shxparser
4376
  (package
4477
    (name "python-shxparser")