Have you tried this on python3.12? Trying to get it running with the electrum plugin, but running into a class var error:
0.23 | E | p/plugin.Plugins | cannot initialize plugin joinstr: Error loading joinstr plugin: ValueError("mutable default
v0.1.0 (pre-alpha) joinstr electrum plugin: https://groups.google.com/g/bitcoindev/c/bpVjmp6PAlY
I have also updated docs and website. Try the plugin and share your feedback.

Have you tried this on python3.12? Trying to get it running with the electrum plugin, but running into a class var error:
0.23 | E | p/plugin.Plugins | cannot initialize plugin joinstr: Error loading joinstr plugin: ValueError("mutable default
What steps did you follow for trying the plugin?
I downloaded Electrum 4.5.5 tar.gz, installed it with python pip, and extracted the zip to electrum/plugins/joinstr
This one: https://gitlab.com/invincible-privacy/joinstr/-/tree/main/plugin/zip/v0.1.0?ref_type=heads
It shows up in the electrum plugins, but I get errors when enabling it.
I changed the relay class in nostr/relay.py to this and the error is gone... policy: RelayPolicy = field(default_factory=RelayPolicy)
Now it seems it's trying to open a relay with no info. I added a debug printout to the plugin's qt.py:
GET EVENTS RELAY: self.saved_relay=0
ADDING RELAY: url=0 self.message_pool=
URL IS: 0
It causes this error:
File "/.local/lib/python3.12/site-packages/websocket/_url.py", line 40, in parse_url
if ":" not in url:
^^^^^^^^^^^^^^
TypeError: argument of type 'int' is not iterable
Is there some sort of setup I need to do first?
Did you save a nostr relay in the plugin settings?
I wrote a tutorial for the joinstr plugin
https://uncensoredtech.substack.com/p/tutorial-electrum-plugin-for-joinstr