Fix weave import side-effects when enable_weave=False
#4265
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
wandb_init_hookand remote project creation even whenenable_weave=Falseelsebranch that imported weave and calledweave.init(..., settings={"disabled": True})PERMISSION_ERRORfor users not logged into W&B who have Weave disabledProblem
With wandb 0.23.0 + weave 0.52.17+, runs fail even when Weave is explicitly disabled. The root cause:
weavein both branches (enabled and disabled)import weavealone loads ~548 modules includingweave.trace.autopatchwandb_init_hookwhich attempts remote project creationPERMISSION_ERRORdespite havingenable_weave=FalseSolution
Simply remove the
elsebranch. Whenenable_weave=False, we don't import or interact with weave at all. Not importing a library is the ultimate way to disable it.if settings.enable_weave: import weave if self.config.project_name: weave.init(project_name=self.config.project_name) - else: - import weave - if self.config.project_name: - weave.init(project_name=..., settings={"disabled": True})Test plan
import weaveloads 548 modules with potential side-effectsenable_weave=False