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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions