scalableminds / webknossos-libs

Python API and CLI tools for working with WEBKNOSSOS datasets, annotations and server interactions. Includes converter to OME-Zarr.
https://docs.webknossos.org/webknossos-py/index.html
23 stars 12 forks source link

Consider interactive mode #41

Open philippotto opened 5 years ago

philippotto commented 5 years ago

Wild idea (not sure whether worth the effort):

We could provide an interactive mode (cuber -i?) which would guide the user through his/her task. Similar to npm init, cuber could ask the user what should be done, what the input format and other arguments are etc.

I think this would increase the usability by a great margin. However, implemention and maintenance effort contrast this obviously. Maybe worth a thought. If we end up with another frontend, it's probably not worth it. Open for discussion...

normanrz commented 5 years ago

I think this could be useful for one-off conversions. I believe most of the time, the users will run the cuber as part of batch processing.

philippotto commented 5 years ago

Even for finding the right command for batch processing this could be useful. At the end of the interactive mode, there could be some output, such as:

According to your input, the following command will be executed (copy the command for future reuse):
python -m wkcuber \
  --layer_name color \
  --scale 11.24,11.24,25 \
  --name great_dataset \
  data/source/color data/target

Execution will start in 5 seconds...
jstriebel commented 2 years ago

Sound's like something I'd love to try in the next hackathon :pick:

normanrz commented 2 years ago

Tbh I think people are more interested in using the library interface in their scripts/notebooks than the CLI. Is there a way to have code-completion/intellisense in jupyter notebooks? That could be very cool.

jstriebel commented 2 years ago

Jupyter(lab) already has autocompletion on tab-press, and there's https://github.com/jupyter-lsp/jupyterlab-lsp