looper icon indicating copy to clipboard operation
looper copied to clipboard

Deprecating configuring through PEP

Open nsheff opened this issue 1 year ago • 3 comments

When configuring through a PEP, we get this warning:

This PEP configures looper through the project config. This approach is deprecated and will be removed in future versions. Please use a looper config file. For more information see looper.databio.org/en/latest/looper-config

Maybe it's time to do this.

Looper config short arg name

--looper-config is verbose and has no short arg name. yet, it seems to me to be a commonly used argument. It should have a short arg name.

The question is, what should it be? -c seems obvious, but that's in use for compute. Still, I'd rather use -c for --looper-config than for --compute.

It could be -l, but that's in use for --limit.

Or maybe it should take over the positional argument of the PEP. Yes, that's probably it.

This will break backwards compatibility, but it's probably time to do that. My thought is:

  • use position argument for looper config
  • use --pep to override the pep.
  • I guess this could be looper v2.0.0 since it breaks backwards compatibility in the CLI.

nsheff avatar Feb 15 '24 13:02 nsheff

pydantic-argparse does not support positional arguments:

https://pydantic-argparse.supimdos.com/background/

Opinionated Design pydantic-argparse is a very opinionated package by design. It aims for a simple API, and to be both full featured while limiting excessive choices. For example, there are no positional arguments in pydantic-argparse; only optional and required arguments. If your opinions do not align with these design choices, then you may not want to use the package.

Could we rename: --pep to override the pep. -c, --config for the looper config -g for compute?

donaldcampbelljr avatar Jun 21 '24 20:06 donaldcampbelljr

maybe: take out short form of compute and just use long form

donaldcampbelljr avatar Jun 24 '24 15:06 donaldcampbelljr

Ok, I've refactored this to be: --pep-config for the pep --config, -c for the looper config --compute for compute

I've removed config_file argument so that now looper is only aware of the looper config and the pep config

These changes are in the above PR which should only be merged to dev after 1.9.0 is released as our last backwards compatible release before 2.0

donaldcampbelljr avatar Jun 25 '24 20:06 donaldcampbelljr