apache/beam · error · ValueError
f"No inline provider found for {name}"
Error message
f"No inline provider found for {name}" What it means
_InlineProviderNamespace.__getattr__ looks up a transform type among standard inline providers and returns its Python transform factory. If no InlineProvider exists for the requested attribute name (dash-normalized), a ValueError is raised.
Source
Thrown at sdks/python/apache_beam/yaml/yaml_provider.py:1738
hasher = hashlib.new(digest)
data = fileobj.read(1 << 20)
while data:
hasher.update(data)
data = fileobj.read(1 << 20)
return hasher
class _InlineProviderNamespace:
"""Gives fully qualified names to inline providers from standard_providers().
This is needed to upgrade InlineProvider to ExternalPythonProvider.
"""
def __getattr__(self, name):
typ = name.replace('_', '-')
for provider in standard_providers()[typ]:
if isinstance(provider, InlineProvider):
return provider._transform_factories[typ]
raise ValueError(f"No inline provider found for {name}")
standard_inline_providers = _InlineProviderNamespace()
View on GitHub (pinned to 12126d8942)
Solutions
- Check the attribute/transform type spelling (underscores are converted to dashes).
- List available inline providers via standard_providers() to find valid type names.
- Use an ExternalProvider spec in the YAML if the transform is not available inline.
- Upgrade apache_beam if the transform was added in a newer version.
Example fix
# before factory = apache_beam.yaml.standard_inline_providers.loggging # after factory = apache_beam.yaml.standard_inline_providers.logging
Defensive patterns
Strategy: type-guard
Validate before calling
from apache_beam.yaml.yaml_provider import standard_providers
if name not in standard_providers():
raise ValueError(f'{name} is not a standard provider') Type guard
def has_inline_provider(ns, name: str) -> bool:
return name.replace('_', '-') in ns._transform_factories Try / catch
try:
factory = standard_inline_providers.my_transform
except ValueError:
factory = None # fall back to external provider spec Prevention
- Verify transform type names against standard_providers()
- Remember underscores map to dashes
- Pin the Beam version and check release notes for provider availability
When it happens
Trigger: Accessing an attribute on standard_inline_providers (or the module-level namespace) such as apache_beam.yaml.standard_inline_providers.some_unknown_type where 'some-unknown-type' has no inline provider registered.
Common situations: Typos in transform type names, accessing a provider that only exists as an ExternalProvider (not inline), or referencing a transform not available in the installed Beam version.
Understand the failure class
Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.
Related errors
- '%s' object has no attribute '%s'
- element not accessible in this context
- timestamp not accessible in this context
- windows not accessible in this context
- f"Provider file {source_path} must be a list of Providers"
AI-assisted analysis of apache/beam@12126d8942 (2026-09-13).
Data as JSON: /api/errors/161a64692d50e674.
Report an issue: GitHub.