pepkit / looper

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

Looper config default filename: start with a dot? #405

Closed nsheff closed 10 months ago

nsheff commented 11 months ago

Right now, we made the default looper config named .looper.yaml. I'm wondering if having it start with a dot is a good idea.

Pros:

Cons:

What do others do? There's a mix; for example, git uses a .git folder, and .gitignore files. Also, there's .readthedocs.yaml. But many tools use files without a dot prefix, such as mkdocs (mkdocs.yaml), and poetry uses pyproject.toml.

Should we keep it as .looper.yaml or switch to looper.yaml ?

donaldcampbelljr commented 11 months ago

What about removing the dot but adjust it to be in capital case? LOOPER.yaml It would signal that this file is important.

nsheff commented 11 months ago

Ok, but I don't love all caps because I can't think of any other tools that use all caps... I guess there's the "README.md" and "LICENSE" but those seem somehow different...

nsheff commented 11 months ago

every tool I can think of that uses a configuration file uses lowercase.

khoroshevskyi commented 11 months ago

In my point of view, .looper.yaml is a file that is pointing to actual looper_config.yaml file. We were doing same with PEP, .pep.yaml. eg. .pep.yaml . So now, I pushed to dev same configuration, .looper.yaml is file that is pointing to actual config. Related to: #410 Additionally, same configuration was in looper==1.4.X What do you think about that?

khoroshevskyi commented 11 months ago

And how you can run it: if you have .looper.yaml (File that is pointing to actual looper_config), then you can do this: looper run if you have only looper config, then: looper run --looper-config {path_to_looper_config}

nsheff commented 11 months ago

No, this makes no sense to me.

The .looper.yaml file is the looper config file. It doesn't point to the looper config file. It is the looper config file. To me, there is no value whatsoever in separating these, and it adds a lot of confusion and extra overhead.

We were doing it that way with the PEP because the looper config file is not the same thing as the PEP config file.

nsheff commented 11 months ago

A lot of this was already discussed and decided a few months ago, please see #344 and #342

nsheff commented 10 months ago

I don't really see a compelling reason to change, so let's just leave it as .looper.yaml. for future reference, I think I have a slight preference for _looper.yaml, but maybe not enough to change the way it is.