silkaj issueshttps://git.duniter.org/clients/python/silkaj/-/issues2023-08-16T21:12:04+02:00https://git.duniter.org/clients/python/silkaj/-/issues/478Implement authentication on money history command2023-08-16T21:12:04+02:00MoulImplement authentication on money history commandConvenient with account authentication.
- Can be done together with #350 refactoring
- [ ] Implement authentication on `money history` command
- [ ] Write tests
- [ ] Document usage also for `balance` commandConvenient with account authentication.
- Can be done together with #350 refactoring
- [ ] Implement authentication on `money history` command
- [ ] Write tests
- [ ] Document usage also for `balance` commandBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/471Rename transfer’s comment to reference2023-06-30T16:20:34+02:00MoulRename transfer’s comment to referenceBanks are using this term: _Payment reference_.
This is more what we are aiming for.
- [ ] Rename CLI option: `silkaj money transfer -c/--comment` −> `-ref/--reference`. `-r` is already used by `--recipient`
- [ ] Rename UI fields of `t...Banks are using this term: _Payment reference_.
This is more what we are aiming for.
- [ ] Rename CLI option: `silkaj money transfer -c/--comment` −> `-ref/--reference`. `-r` is already used by `--recipient`
- [ ] Rename UI fields of `transfer` and `history` commands
- [ ] Adapt run time code and tests. Keep it named `comment` when using DuniterPy document, that’s the interface we won’t change.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/467Consider trogon: turn Click CLI app into a powerful terminal app2023-06-04T19:45:25+02:00MoulConsider trogon: turn Click CLI app into a powerful terminal app- https://github.com/Textualize/trogon- https://github.com/Textualize/trogonBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/440Set console interface with Textual console/TUI framework2024-01-17T15:02:33+01:00MoulSet console interface with Textual console/TUI framework- Maintain both CLI and Console interfaces using same backend
## Prerequisites
- Read documentation, tutorials, get familiar with the framework, try PoC
## Implementation
- [ ] Install `textual` and [`textual-dev`](https://github.com/...- Maintain both CLI and Console interfaces using same backend
## Prerequisites
- Read documentation, tutorials, get familiar with the framework, try PoC
## Implementation
- [ ] Install `textual` and [`textual-dev`](https://github.com/Textualize/textual-dev)
- [ ] Find a way to have substrate client passed for the CLI and Console interfaces
- [ ] Sketch the views
- [ ] Implement the interfaces
- [ ] Write tests
### Design views of the interface
- https://excalidraw.com/ ([YunoHost package of excalidraw](https://github.com/YunoHost-Apps/excalidraw_ynh))
### Testing
- [Testing How-to](https://textual.textualize.io/guide/testing/)
- [pytest-asyncio](https://pypi.org/project/pytest-asyncio/)
- [pytest-textual-snapshot](https://github.com/Textualize/pytest-textual-snapshot)
## Launcher
- [ ] Create launcher, like for Vim, Neovim, Emacs, Ranger, so it can be started from GNOME Shell for instance
## Later
- Ploting: https://github.com/Textualize/textual-plotext
---
### About Textual
- [Repository](https://github.com/Textualize/textual)
- [Website](https://textual.textualize.io/)
- [Repology](https://repology.org/badge/vertical-allrepos/python:textual.svg)
- [Textual: The Definitive Guide](https://dev.to/wiseai/textual-the-definitive-guide-part-1-1i0p)
- [CSS in the Terminal with Python and Textual](https://www.willmcgugan.com/blog/tech/post/css-in-the-terminal-with-python-and-textual/)
- [Crash course on Fedora Magazine](https://fedoramagazine.org/crash-course-on-using-textual/)
### Videos
- [A Look At – and Inside – Textual](https://www.youtube.com/watch?v=1kTWxamIJ_k)
- [Terminal magic with Rich and Textual - Talk Python Live Stream](https://www.youtube.com/watch?v=laWyjfzur28)
- [CSS within the terminal with Python and Textual](https://www.youtube.com/watch?v=bXgIj2cXaZ4)
- [Will McGugan](https://www.youtube.com/c/WillMcGugan/videos)0.20.0https://git.duniter.org/clients/python/silkaj/-/issues/439Consider Typer CLI framework2023-06-23T19:09:05+02:00MoulConsider Typer CLI frameworkTyper is based on Click:
- [Typer — Probably The Simplest To Use Python Command-Line Interface Library](https://towardsdatascience.com/typer-probably-the-simplest-to-use-python-command-line-interface-library-17abf1a5fd3e)
- https://pypi....Typer is based on Click:
- [Typer — Probably The Simplest To Use Python Command-Line Interface Library](https://towardsdatascience.com/typer-probably-the-simplest-to-use-python-command-line-interface-library-17abf1a5fd3e)
- https://pypi.org/project/typer/
- https://github.com/tiangolo/typer
- https://typer.tiangolo.com/
- [Repology](https://repology.org/badge/vertical-allrepos/python:typer.svg)Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/399Use click.CliRunner instead of check_output for testing2023-06-05T10:03:08+02:00matograineUse click.CliRunner instead of check_output for testingsee this [message](https://git.duniter.org/clients/python/silkaj/-/merge_requests/179#note_27418).
Tests using `check_output()` result in not passing on some local installations (here on Debian10).
They could use `click.CliRunner` inste...see this [message](https://git.duniter.org/clients/python/silkaj/-/merge_requests/179#note_27418).
Tests using `check_output()` result in not passing on some local installations (here on Debian10).
They could use `click.CliRunner` instead.
This only concerns `tests/test_end_to_end.py` file.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/359Take advantage of the CLI Guidelines2021-05-20T18:52:04+02:00MoulTake advantage of the CLI Guidelines- [Command Line Interface Guidelines Website](https://clig.dev/)
- [GH](https://github.com/cli-guidelines/cli-guidelines)- [Command Line Interface Guidelines Website](https://clig.dev/)
- [GH](https://github.com/cli-guidelines/cli-guidelines)Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/349authfile command: use general instead of specific option to specify the auth ...2022-03-29T11:16:49+02:00Moulauthfile command: use general instead of specific option to specify the auth file path?The advantage is using a common system: `click` context.
The downside is that it doesn't get obvious, since it's not longer suggested in the command specific help.
The help of the command could specify that.The advantage is using a common system: `click` context.
The downside is that it doesn't get obvious, since it's not longer suggested in the command specific help.
The help of the command could specify that.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/324change "lookup" command to "check" command and display more info2021-04-07T16:11:02+02:00matograinechange "lookup" command to "check" command and display more infoA "check" function would be useful, instead of "id", to display more info :
`check <pubkey>` gives :
* identity is it is a member account
* identity status (pool/BC)
* \<pubkey>:\<checksum>
* "virgin" wallet (with or without in/out txs)...A "check" function would be useful, instead of "id", to display more info :
`check <pubkey>` gives :
* identity is it is a member account
* identity status (pool/BC)
* \<pubkey>:\<checksum>
* "virgin" wallet (with or without in/out txs)
`check <pubkey>:<checksum>` gives :
* \<pubkey> if right checksum ; WRONG PUBKEY if not
* identity is it is a member account
* identity status (pool/BC)
* "virgin" wallet (with or without in/out txs)
`check <identity>` gives:
* \<pubkey> if existing identity // NON-EXISTING IDENTITY if not
* identity status (pool/BC)
* \<pubkey>:\<checksum>
* "virgin" wallet (with or without in/out txs)
For now, no Duniter client gives the pubkey + checksum, although it is a useful information.
Maybe the checksum should be displayed separately. This should be discussed.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/316Clarify exit status code2021-04-07T16:11:31+02:00MoulClarify exit status codeWhen there is a CLI error in Click arguments, the exit status code is set to `2`.
When we are reporting a CLI issue with `message_exit()` we returns `1`.
Following sources are not agree on `1` and `2`:
- https://tldp.org/LDP/abs/html/ex...When there is a CLI error in Click arguments, the exit status code is set to `2`.
When we are reporting a CLI issue with `message_exit()` we returns `1`.
Following sources are not agree on `1` and `2`:
- https://tldp.org/LDP/abs/html/exitcodes.html
- https://jazz.net/help-dev/clm/topic/com.ibm.team.scm.doc/topics/r_scm_cli_retcodes.html
See `tests/test_tx.py:test_tx_passed_amount_cli()`Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/303Mutually exclusion options tests on tx are not properly defined2021-04-07T15:56:02+02:00MoulMutually exclusion options tests on tx are not properly definedThe tests checking the CLI `tx` on mutually exclusion options (`amount(s)(UD)/allSources`) is not properly done. On !108, when we changed the options’ name from `amount(UD)` to `amounts(UD)`, we were not able see a broken feature (mutual...The tests checking the CLI `tx` on mutually exclusion options (`amount(s)(UD)/allSources`) is not properly done. On !108, when we changed the options’ name from `amount(UD)` to `amounts(UD)`, we were not able see a broken feature (mutual exclusions)
The feature is tested by checking that it is failing on the missing `--output/recipients` option. And, it looks like this is the first error to occur much before the mutual exclusion check.
To test this propely, we would need to pass `-r` option as well, then we should find a way to check/bypass the Scrypt authentication inputs.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/283Common code between verify and blocks2023-10-21T09:01:48+02:00MoulCommon code between verify and blocks> Following #262
### Tasks
- [ ] common function to gather a range of blocks specifying `from_`, and `to`.
- [ ] common test on this function gathering blocks on a range by chunks
- [ ] two modes for `blocks` explorer:
- current: spec...> Following #262
### Tasks
- [ ] common function to gather a range of blocks specifying `from_`, and `to`.
- [ ] common test on this function gathering blocks on a range by chunks
- [ ] two modes for `blocks` explorer:
- current: specify number of blocks from head, 0 default to current window
- [ ] Same as verify: a range of blocks: blocks number `from` an `to`.
- [ ] How to specify/filter the two modes: `--range`, `--from-head`/`--head` (this one would be the default).
This could be a method into a class that would inherit the `@click.command` decorator. Would that work?
---
### Later
- [ ] command `blocks` with sub-commands `explorer`, `verify`, …: is this possible with Click?Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/258Implement CSV, JSON, YAML, XML, SQL output formats2021-04-22T12:04:16+02:00matograineImplement CSV, JSON, YAML, XML, SQL output formatsCreate `--format=<format>` options, to get the result as script-readable into following formats:
- [ ] `csv`
- [ ] `json`
- [ ] `yaml`
- [ ] `xml`
- [ ] `sql`
### Commands
- [ ] `history`
- [ ] `wot`
- …Create `--format=<format>` options, to get the result as script-readable into following formats:
- [ ] `csv`
- [ ] `json`
- [ ] `yaml`
- [ ] `xml`
- [ ] `sql`
### Commands
- [ ] `history`
- [ ] `wot`
- …Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/230Non interactive / quiet mode2021-04-07T16:15:16+02:00FredNon interactive / quiet modeIn order to use silkaj in an automatic bash environement, it would be nice to have a "non interactive / quiet" mode for silkaj verbosity. Just sending ok or error levels.
In that mode, Parameters would be set as cmd line sysargs or envir...In order to use silkaj in an automatic bash environement, it would be nice to have a "non interactive / quiet" mode for silkaj verbosity. Just sending ok or error levels.
In that mode, Parameters would be set as cmd line sysargs or environement variables export...
Would be a nice feature for G1sms easier interaction ;)Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/187Certification confirmation tests broken since Click.confirm() and async usage2022-06-26T22:35:56+02:00MoulCertification confirmation tests broken since Click.confirm() and async usage- Since `click.confirm()` usage in e7b6e26.
- [x] Should be fixable with https://click.palletsprojects.com/en/7.x/testing/#input-streams
- Since asynchronism usage in 583c3d4:
- [x] #225: Install [pytest-asyncio](https://pypi.org/pro...- Since `click.confirm()` usage in e7b6e26.
- [x] Should be fixable with https://click.palletsprojects.com/en/7.x/testing/#input-streams
- Since asynchronism usage in 583c3d4:
- [x] #225: Install [pytest-asyncio](https://pypi.org/project/pytest-asyncio/)
- [ ] Unfortunately, Click does not handle async. And the return `Result` object does not contains values but only defaults one. It does return like a coroutine instead of the `Result` object.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/183Possible improvements thanks to Click2023-06-28T17:35:33+02:00MoulPossible improvements thanks to ClickFollows #77:
- [ ] #173: Rename `--auth-seed/--seed` to `--auth-seedhex/--seedhex` in order to allow possible `--seed` authentication later on?
- [ ] add examples like in pipenv/poetry.
- [ ] Use [Context default](https://click.palletsp...Follows #77:
- [ ] #173: Rename `--auth-seed/--seed` to `--auth-seedhex/--seedhex` in order to allow possible `--seed` authentication later on?
- [ ] add examples like in pipenv/poetry.
- [ ] Use [Context default](https://click.palletsprojects.com/en/7.x/commands/#context-defaults) for Ğ1 and ĞTest endpoints?
- [ ] Use `@pass_obj` decorator instead of `@pass_context`
- [ ] [Promt and confirmation](https://click.palletsprojects.com/en/7.x/prompts/) (auth, tx/cert confirmation, license)
- [ ] Use [`echo()`](https://click.palletsprojects.com/en/7.x/utils/#printing-to-stdout) rather than `print()` to make it work on Windows and to be able to print `ANSI` colours later on.
- [ ] [Pager support](https://click.palletsprojects.com/en/7.x/utils/#pager-support):
- [ ] blocks
- [x] tx history
- [ ] [Screen clearing](https://click.palletsprojects.com/en/7.x/utils/#screen-clearing)
- [ ] [Editor](https://click.palletsprojects.com/en/7.x/utils/#launching-editors) for configuration #79
- [ ] [Application folder](https://click.palletsprojects.com/en/7.x/utils/#finding-application-folders): for configuration storage and authfiles
- [ ] [Launch app](https://click.palletsprojects.com/en/7.x/utils/#launching-applications): could replace `webbrowser`
- [ ] [Progress bar](https://click.palletsprojects.com/en/7.x/utils/#showing-progress-bars): `history`, `net`, `blocks`, and `verify` (#262) commands
- [ ] [auth-file/conf file](https://click.palletsprojects.com/en/7.x/arguments/#file-path-arguments) reading/writting
- [ ] `license` cmd: language and display mean choice as argument/option
- [ ] `balance`: cumulate auth-file and pubkeys passed as arguments? How to handle conflict (same resulting pubkey), not handled as currently passing twice same pubkey as argument?
- [ ] Add [aliases](https://click.palletsprojects.com/en/7.x/advanced/#command-aliases)
- [ ] [Password prompt](https://click.palletsprojects.com/en/7.x/options/#password-prompts): take care that we shouldn’t be able to pass the value with `--password`.
## Done
- [x] #154: [terminal size](https://click.palletsprojects.com/en/7.x/api/#click.get_terminal_size)
- [x] #469+
- [x] #419+Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/166Document shell completion set up2024-03-27T23:28:41+01:00Jonas SmedegaardDocument shell completion set upHi,
Would be nice if silkaj registered with bash to offer TAB-completion of its various command-line options and arguments.
This seems helpful: https://stackoverflow.com/questions/52282173/extending-bash-completion-with-python-clickHi,
Would be nice if silkaj registered with bash to offer TAB-completion of its various command-line options and arguments.
This seems helpful: https://stackoverflow.com/questions/52282173/extending-bash-completion-with-python-click0.12.0MoulMoulhttps://git.duniter.org/clients/python/silkaj/-/issues/164Add continuous mode for blocks commands2022-10-27T16:24:08+02:00MoulAdd continuous mode for blocks commands- ~~`diffi`: `--no-daemon`: already continuous. Add ability to request just once~~
- `blocks`: `--daemon/-d`: make it continuous. Make it updatable from WS2P.- ~~`diffi`: `--no-daemon`: already continuous. Add ability to request just once~~
- `blocks`: `--daemon/-d`: make it continuous. Make it updatable from WS2P.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/16Add options to force connections to use version 4 or 6 of IP protocol2019-08-01T14:07:09+02:00MoulAdd options to force connections to use version 4 or 6 of IP protocolAdd options to force connections to use version 4 or 6 of IP protocol.
Options could be `-4` and `-6` and/or `--ip4` and `--ip6`.
That could permit to bypass #14 for now.Add options to force connections to use version 4 or 6 of IP protocol.
Options could be `-4` and `-6` and/or `--ip4` and `--ip6`.
That could permit to bypass #14 for now.Backlog