Merge DeathReaper '256_excluded' branch on 'main' branch
### Image - [x] `image/pip` switch to `bookworm` or remove Debian version specification to get latest, risky? - [x] Adapt `image/{pip,poetry}` to install extra `pydiscourse`: - `pip install . silkaj[deathreaper]` - `poetry install --extras "deathreaper"` ### Packaging extra solution - [x] Use Poetry [`extra`](https://python-poetry.org/docs/pyproject/#extras) or dependency grouping (from Poetry v1.2) to separate `pydiscourse` not available in Debian. ```toml pydiscourse = { version = "^1.3.0", optional = true } [tool.poetry.extras] deathreaper = ["pydiscourse"] ``` - [x] When `pydiscourse` is not importable, do not add `excluded` command to the list: ```py # cli.py import contextlib with contextlib.suppress(ModuleNotFoundError): from silkaj.blockchain.wot import excluded_command wot_group.add_command(excluded_command) ``` ### Implementation sources - [x] Rebase `256_excluded` branch on `main` branch - [x] fix hooks, pytest new reports - [x] 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 nor in #430, but rebased and not thought through. - `blockchain excluded` was taken from BMA path `blockchain/excluded`. - [x] Say in help command that’s it’s DeathReaper ### Documentation - [x] Document how to install Deathreaper: `pipx install silkaj[deathreaper]`. Dedicated `doc/deathreaper.md` file: install, usage - [x] Add a line in readme about this feature ### Operation #### DeathReaper repo - [x] Use image from `main` channel/branch - [x] Use `wot exclusions` - Have to use `poetry` image since we need `git` to clone DuniterPy used from repo `main` branch - Switch back to `pip` image usage once DuniterPy is used from PyPI release: #483+ #### Silkaj repo - [x] Create MR to `main` branch: delete `256_excluded` branch - [x] Create image on `main` channel/branch - [x] 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.
issue