Merge DeathReaper '256_excluded' branch on 'main' branch

Image

  • image/pip switch to bookworm or remove Debian version specification to get latest, risky?
  • Adapt image/{pip,poetry} to install extra pydiscourse:
    • pip install . silkaj[deathreaper]
    • poetry install --extras "deathreaper"

Packaging extra solution

  • Use Poetry extra or dependency grouping (from Poetry v1.2) to separate pydiscourse not available in Debian.
pydiscourse = { version = "^1.3.0", optional = true }

[tool.poetry.extras]
deathreaper = ["pydiscourse"]
  • When pydiscourse is not importable, do not add excluded command to the list:
# cli.py
import contextlib

with contextlib.suppress(ModuleNotFoundError):
    from silkaj.blockchain.wot import excluded_command
    wot_group.add_command(excluded_command)

Implementation sources

  • Rebase 256_excluded branch on main branch
    • fix hooks, pytest new reports
  • Move blockchain excluded command wot exclusions CLI command group and directories.
    • It’s a blockchain event, but it’s more wot related and better placed there. Since the command will be publicly available now via PyPI installation. Wasn’t planned in #330 (closed) nor in #430 (closed), but rebased and not thought through.
    • blockchain excluded was taken from BMA path blockchain/excluded.
  • Say in help command that’s it’s DeathReaper

Documentation

  • Document how to install Deathreaper: pipx install silkaj[deathreaper]. Dedicated doc/deathreaper.md file: install, usage
  • Add a line in readme about this feature

Operation

DeathReaper repo

Silkaj repo

  • Create MR to main branch: delete 256_excluded branch
  • Create image on main channel/branch
  • Test things still works fine

After

  • Delete 256_excluded images

Benefit: no need to maintain an other branch with new features coming from main branch when rebasing, such as pre-commit hooks checks.


Priority to be considered regarding Substrate migration. With Substrate, a better system could be setup. An web based email registration system, which would be listening to the blockchain/RPC or the Indexer and then send email. This would be a more efficient system, since now G1 members do not have forums accounts.

Edited by Moul