Skip to content

Remove plugin discovery overrides #3803

@bartfeenstra

Description

@bartfeenstra

Overrides are not concurrency safe because they are global and do not use locks (we don't really want to either). There are currently about 25 calls to override definitions.

If we use ResolvablePluginDiscovery: TypeAlias = PluginDiscovery[_PluginDefinitionT] | ResolvableDefinition[_PluginDefinition] | Callable[...], discoveries can not only be chained, but any overrides can be anything from a single definition to an iterable of discoveries.

Instead, allow definitions to be injected into service levels. Can ServiceLevel accept a plugin_manager arg so we have one single way of overriding any plugin type's definitions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    BC breakBreaks backwards compatibility with existing integrationsenhancementNew feature or requestpythonPull requests that update Python code

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions