Add CLI functionality
Add CLI functionality.
Prepare
- [ ] Evaluate, if CLI functionality should be added to pyDataverse or wrapped around in another project
- [ ] Research
- [x] https://www.youtube.com/watch?v=Hn-syMunNy8
- [ ] Click
- [ ] https://click.palletsprojects.com/en/7.x/
- [ ] colorama:
click.style() - [ ] progress bars:
with click.progressbar(files) as _files: - [ ] #176
- [ ] paged output:
click.echo_via_pager(str) - [ ] prompt:
user = click.prompt(f"Username") - [ ] testing:
runner = CliRunner(); runner.invoke(cli, ['<COMMAND>']) - [ ] autocompletion: https://python-prompt-toolkit.readthedocs.io/en/master/
Implementation
- [ ] Define requirements
- [ ]
- [ ]
- [ ] Write tests
- [ ] Write/Update code
- [ ] Write/Update Docs
- [ ] Write/Update Docstrings
- [ ] Run pytest
- [ ] Run tox
- [ ] Run pylint
- [ ] Run mypy
calls: e. g. pdv dataverse create metadata_dataset.json autnes
- dataverse
- delete
- create
- update
- publish
- dataset
- create
- delete
- destroy
- update
- publish
- get private url
- datafile
- upload file
- delete file
- update metadata
Review
- [ ] Code
- [ ]
- [ ]
- [ ]
- [ ] Tests
- [ ] Docs
Follow-Ups
- [ ]
- [ ]
- [ ]
- [ ]
As discussed during the 2024-02-14 meeting of the pyDataverse working group, we are closing old milestones in favor of a new project board at https://github.com/orgs/gdcc/projects/1 and removing issues (like this one) from those old milestones. Please feel free to join the working group! You can find us at https://py.gdcc.io and https://dataverse.zulipchat.com/#narrow/stream/377090-python
After a long journey, for hermes-hmc/hermes, we eventually removed the Click framework again to regain more flexibility. Not sure if this would be true for pyDataverse as well.