Summary
Add parameterized tests ensuring imports or construction of Python connectors with missing optional dependencies produce actionable errors naming the required install extra.
Current implementation facts
Python connectors rely on optional upstream packages and are installed through extras.
Problem
A missing SDK can currently surface as a generic ModuleNotFoundError without telling the user which Semantic Kernel extra to install. Even where messages exist, broad test coverage prevents them from drifting.
Scope
- Select representative connector modules using the established optional-import pattern.
- Simulate missing upstream packages.
- Assert the exception names the relevant install extra.
- Keep tests isolated from installed local extras.
Non-goals
- Do not eagerly import all connectors.
- Do not change dependency ranges.
Acceptance criteria
- Errors identify both the missing package and install extra.
- Tests require no provider credentials.
- Existing lazy-import behavior is preserved.
I searched Semantic Kernel issues and PRs for missing optional dependencies, connector import errors, and install-extra messages before filing this proposal.
Summary
Add parameterized tests ensuring imports or construction of Python connectors with missing optional dependencies produce actionable errors naming the required install extra.
Current implementation facts
Python connectors rely on optional upstream packages and are installed through extras.
Problem
A missing SDK can currently surface as a generic ModuleNotFoundError without telling the user which Semantic Kernel extra to install. Even where messages exist, broad test coverage prevents them from drifting.
Scope
Non-goals
Acceptance criteria
I searched Semantic Kernel issues and PRs for missing optional dependencies, connector import errors, and install-extra messages before filing this proposal.