wandb / client-ng

Experimental wandb CLI and Python API - See Experimental section below.
http://wandb.com
16 stars 7 forks source link

WB_3123: WANDB_PROJECT_OVERRIDE #149

Closed davidwallacejackson closed 4 years ago

davidwallacejackson commented 4 years ago

https://wandb.atlassian.net/browse/WB-3123

coveralls commented 4 years ago

Pull Request Test Coverage Report for Build 39ce4fc1-6742-4e23-93bd-b33a51130037


Changes Missing Coverage Covered Lines Changed/Added Lines %
wandb/sdk/wandb_settings.py 1 5 20.0%
<!-- Total: 1 5 20.0% -->
Files with Coverage Reduction New Missed Lines %
wandb/apis/internal_runqueue.py 1 25.0%
wandb/internal/internal_api.py 1 51.42%
wandb/internal/meta.py 1 72.59%
wandb/sdk/wandb_run.py 1 72.06%
wandb/util.py 1 62.2%
tests/test_datastore.py 2 97.83%
tests/test_util.py 2 97.44%
tests/utils/notebook_client.py 2 72.22%
wandb/cli/cli.py 2 59.8%
wandb/init.py 2 93.59%
<!-- Total: 114 -->
Totals Coverage Status
Change from base Build 4c0fef06-246f-487f-89be-9c84a2cdb154: 4.3%
Covered Lines: 12337
Relevant Lines: 19400

💛 - Coveralls
raubitsj commented 4 years ago

i would prefer not to do this, the design of cling is to handle overrides as a generic capability of the settings object:

There have been a few discussions, here is one: https://weightsandbiases.slack.com/archives/C0108SLEP6K/p1595285425144800

The idea of priority sources for settings is described at wandb/sdk/wandb_settings

Priority of settings:  See "source" variable.
...
source = (
    "org",
    "entity",
    "project",
    "system",
    "workspace",
    "env",
    "setup",
    "settings",
    "args",
)

settings should be set in that order, with the later sources overwriting earlier ones When the _OVERRIDE suffix is used, the first source that sets the setting will prevent all others from changing it.

(im still not convinced OVERRIDE was the right suffix, but that is what we are going with)