Skip to content

support a global groundhog.toml config for hog {init, add} etc #101

@OwenPriceSkelly

Description

@OwenPriceSkelly

Consider the following PEP723 config snippet :

...
# [tool.hog.anvil]
# endpoint = "5aafb4c1-27b2-40d8-a038-a0277611868f"
# account = "cis250461"
# walltime = 300
#
# [tool.hog.anvil.gpu]
# account = "cis250461-gpu"
# qos = "gpu"
# partition = "gpu-debug"
# scheduler_options = "#SBATCH --gpus-per-node=1"
# worker_init = "module load conda"

As a groundhog user who wants to share their script with a colleague, it doesn't make as much sense to have account = "cis250461" tightly coupled to the source code as it does to have e.g. # scheduler_options = "#SBATCH --gpus-per-node=1".

Since some config values might be sensitive and/or user specific, we should allow them to specify a low-precedence default ~/.groundhog.toml like

[tool.hog.anvil]
endpoint = "5aafb4c1-27b2-40d8-a038-a0277611868f"
account = "cis250461"

[tool.hog.anvil.gpu]
account = "cis250461-gpu"

so that the script I share with my colleague only needs the default values that would actually be common to us, not every single option I passed to the executor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions