The official Python library for the anthropic API
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Compact API signatures for model information. For examples, see Models API Reference.
def retrieve(
self,
model_id: str, # Required: Model identifier
**kwargs
) -> ModelInfoAsync: async def retrieve(...) -> ModelInfo
def list(
self,
*,
before_id: str = NOT_GIVEN,
after_id: str = NOT_GIVEN,
limit: int = NOT_GIVEN,
**kwargs
) -> SyncPage[ModelInfo]Async: async def list(...) -> AsyncPage[ModelInfo]
class ModelInfo(BaseModel):
id: str # Model identifier
type: Literal["model"]
display_name: str # Human-readable name
created_at: str # ISO 8601 timestamp# Claude 4.5 (Latest)
"claude-opus-4-5-20250929" # Most capable model
"claude-sonnet-4-5-20250929" # Balanced intelligence and speed
# Claude 3.5
"claude-3-5-sonnet-20241022" # Previous Sonnet version
"claude-3-5-sonnet-20240620" # Earlier Sonnet version
"claude-3-5-haiku-20241022" # Fast, cost-effective
# Claude 3
"claude-3-opus-20240229" # Powerful, intelligent
"claude-3-sonnet-20240229" # Balanced
"claude-3-haiku-20240307" # Fast and efficient
# Legacy (Claude 2)
"claude-2.1"
"claude-2.0"
"claude-instant-1.2"# Get specific model info
model = client.models.retrieve("claude-sonnet-4-5-20250929")
print(f"{model.display_name} created: {model.created_at}")
# List all models
for model in client.models.list():
print(f"{model.id}: {model.display_name}")
# Check if model exists
from anthropic import NotFoundError
def model_exists(model_id: str) -> bool:
try:
client.models.retrieve(model_id)
return True
except NotFoundError:
return FalseChoose based on requirements: