97e91a83f3
Ruff / Ruff (push) Has been cancelled
Test / Core Tests (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.10) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.11) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.12) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.13) (push) Has been cancelled
Test / Offline Coverage Tests (Python 3.9) (push) Has been cancelled
Test / Full Coverage (Python 3.11) (push) Has been cancelled
Test / Core Provider Tests (OpenAI) (push) Has been cancelled
Test / Core Provider Tests (Anthropic) (push) Has been cancelled
Test / Core Provider Tests (Google) (push) Has been cancelled
Test / Core Provider Tests (Other) (push) Has been cancelled
Test / Anthropic Tests (push) Has been cancelled
Test / Gemini Tests (push) Has been cancelled
Test / Google GenAI Tests (push) Has been cancelled
Test / Vertex AI Tests (push) Has been cancelled
Test / OpenAI Tests (push) Has been cancelled
Test / Writer Tests (push) Has been cancelled
Test / Auto Client Tests (push) Has been cancelled
ty / type-check (push) Has been cancelled
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""Provider manifest invariants."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from instructor import Provider
|
|
from instructor.v2.auto_client import _PROVIDER_BUILDERS, supported_providers
|
|
from instructor.v2.core.provider_specs import ALIAS_TO_PROVIDER, PROVIDER_SPECS
|
|
|
|
|
|
def test_supported_provider_aliases_come_from_manifest() -> None:
|
|
assert set(supported_providers) == set(ALIAS_TO_PROVIDER)
|
|
|
|
|
|
def test_supported_provider_aliases_have_auto_client_builders() -> None:
|
|
assert set(supported_providers) <= set(_PROVIDER_BUILDERS)
|
|
|
|
|
|
def test_compatibility_aliases_point_to_canonical_providers() -> None:
|
|
assert PROVIDER_SPECS[Provider.GENERATIVE_AI].canonical_provider is Provider.GENAI
|
|
assert PROVIDER_SPECS[Provider.AZURE_OPENAI].canonical_provider is Provider.OPENAI
|
|
assert PROVIDER_SPECS[Provider.OLLAMA].canonical_provider is Provider.OPENAI
|
|
|
|
|
|
def test_first_class_specs_are_self_canonical() -> None:
|
|
for spec in PROVIDER_SPECS.values():
|
|
if spec.provider in {
|
|
Provider.GENERATIVE_AI,
|
|
Provider.AZURE_OPENAI,
|
|
Provider.OLLAMA,
|
|
}:
|
|
continue
|
|
assert spec.canonical_provider is spec.provider
|