pepkit / looper

A job submitter for Portable Encapsulated Projects
http://looper.databio.org
BSD 2-Clause "Simplified" License
20 stars 7 forks source link

Deprecating configuring through PEP #455

Open nsheff opened 7 months ago

nsheff commented 7 months ago

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:

donaldcampbelljr commented 3 months ago

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 commented 3 months ago

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

donaldcampbelljr commented 3 months ago

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