From 95c9de11de5de9c3a299613c59b4d4763121644c Mon Sep 17 00:00:00 2001 From: kamilbenkirane Date: Sun, 16 Nov 2025 22:45:09 +0100 Subject: [PATCH] refactor: remove redundant StrEnum type annotations from ParameterMapper Remove redundant `: StrEnum` type annotations from `name` attributes in ParameterMapper subclasses across text-generation providers. The base class `ParameterMapper` already declares `name: StrEnum` as an abstract attribute, making the explicit annotation in subclasses redundant. This change follows DRY (Don't Repeat Yourself) principles and Python typing best practices. Type checkers can correctly infer the type from: 1. The base class declaration (`ParameterMapper.name: StrEnum`) 2. The enum value's type (`Parameter.TEMPERATURE` is already `StrEnum`) Also removes unused `from enum import StrEnum` imports where no longer needed. Affected providers: - Anthropic - Cohere - Google - Mistral - OpenAI --- .../providers/anthropic/parameters.py | 5 ++--- .../providers/cohere/parameters.py | 9 ++++----- .../providers/google/parameters.py | 9 ++++----- .../providers/mistral/parameters.py | 3 +-- .../providers/openai/parameters.py | 11 +++++------ 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/packages/text-generation/src/celeste_text_generation/providers/anthropic/parameters.py b/packages/text-generation/src/celeste_text_generation/providers/anthropic/parameters.py index d23b2d7e..25bc1f7a 100644 --- a/packages/text-generation/src/celeste_text_generation/providers/anthropic/parameters.py +++ b/packages/text-generation/src/celeste_text_generation/providers/anthropic/parameters.py @@ -1,7 +1,6 @@ """Anthropic parameter mappers.""" import json -from enum import StrEnum from typing import Any, get_args, get_origin from pydantic import BaseModel, TypeAdapter @@ -15,7 +14,7 @@ class ThinkingBudgetMapper(ParameterMapper): """Map thinking_budget parameter to Anthropic thinking.budget_tokens.""" - name: StrEnum = TextGenerationParameter.THINKING_BUDGET + name = TextGenerationParameter.THINKING_BUDGET def map( self, @@ -64,7 +63,7 @@ def map( class OutputSchemaMapper(ParameterMapper): """Map output_schema parameter to Anthropic native structured outputs (output_format).""" - name: StrEnum = TextGenerationParameter.OUTPUT_SCHEMA + name = TextGenerationParameter.OUTPUT_SCHEMA def map( self, diff --git a/packages/text-generation/src/celeste_text_generation/providers/cohere/parameters.py b/packages/text-generation/src/celeste_text_generation/providers/cohere/parameters.py index e2221526..58b64885 100644 --- a/packages/text-generation/src/celeste_text_generation/providers/cohere/parameters.py +++ b/packages/text-generation/src/celeste_text_generation/providers/cohere/parameters.py @@ -1,7 +1,6 @@ """Cohere parameter mappers.""" import json -from enum import StrEnum from typing import Any, get_args, get_origin from pydantic import BaseModel, TypeAdapter @@ -15,7 +14,7 @@ class TemperatureMapper(ParameterMapper): """Map temperature parameter to Cohere temperature field.""" - name: StrEnum = Parameter.TEMPERATURE + name = Parameter.TEMPERATURE def map( self, @@ -35,7 +34,7 @@ def map( class MaxTokensMapper(ParameterMapper): """Map max_tokens parameter to Cohere max_tokens field.""" - name: StrEnum = Parameter.MAX_TOKENS + name = Parameter.MAX_TOKENS def map( self, @@ -55,7 +54,7 @@ def map( class ThinkingBudgetMapper(ParameterMapper): """Map thinking_budget parameter to Cohere thinking parameter.""" - name: StrEnum = TextGenerationParameter.THINKING_BUDGET + name = TextGenerationParameter.THINKING_BUDGET def map( self, @@ -91,7 +90,7 @@ def map( class OutputSchemaMapper(ParameterMapper): """Map output_schema parameter to Cohere response_format.""" - name: StrEnum = TextGenerationParameter.OUTPUT_SCHEMA + name = TextGenerationParameter.OUTPUT_SCHEMA def map( self, diff --git a/packages/text-generation/src/celeste_text_generation/providers/google/parameters.py b/packages/text-generation/src/celeste_text_generation/providers/google/parameters.py index 85fd30bb..8c71424a 100644 --- a/packages/text-generation/src/celeste_text_generation/providers/google/parameters.py +++ b/packages/text-generation/src/celeste_text_generation/providers/google/parameters.py @@ -1,6 +1,5 @@ """Google parameter mappers.""" -from enum import StrEnum from typing import Any, get_args, get_origin from pydantic import BaseModel, TypeAdapter @@ -15,7 +14,7 @@ class TemperatureMapper(ParameterMapper): """Map temperature parameter to Google generationConfig.""" - name: StrEnum = Parameter.TEMPERATURE + name = Parameter.TEMPERATURE def map( self, @@ -35,7 +34,7 @@ def map( class MaxTokensMapper(ParameterMapper): """Map max_tokens parameter to Google generationConfig.maxOutputTokens.""" - name: StrEnum = Parameter.MAX_TOKENS + name = Parameter.MAX_TOKENS def map( self, @@ -55,7 +54,7 @@ def map( class ThinkingBudgetMapper(ParameterMapper): """Map thinking_budget parameter to Google generationConfig.thinkingConfig.thinkingBudget.""" - name: StrEnum = TextGenerationParameter.THINKING_BUDGET + name = TextGenerationParameter.THINKING_BUDGET def map( self, @@ -77,7 +76,7 @@ def map( class OutputSchemaMapper(ParameterMapper): """Map output_schema parameter to Google generationConfig.responseSchema.""" - name: StrEnum = TextGenerationParameter.OUTPUT_SCHEMA + name = TextGenerationParameter.OUTPUT_SCHEMA def map( self, diff --git a/packages/text-generation/src/celeste_text_generation/providers/mistral/parameters.py b/packages/text-generation/src/celeste_text_generation/providers/mistral/parameters.py index 725f4fd4..e69b3fa2 100644 --- a/packages/text-generation/src/celeste_text_generation/providers/mistral/parameters.py +++ b/packages/text-generation/src/celeste_text_generation/providers/mistral/parameters.py @@ -1,6 +1,5 @@ """Mistral parameter mappers.""" -from enum import StrEnum from typing import Any, get_args, get_origin from pydantic import BaseModel, TypeAdapter @@ -92,7 +91,7 @@ def map( class OutputSchemaMapper(ParameterMapper): """Map output_schema parameter to Mistral response_format.""" - name: StrEnum = TextGenerationParameter.OUTPUT_SCHEMA + name = TextGenerationParameter.OUTPUT_SCHEMA def map( self, diff --git a/packages/text-generation/src/celeste_text_generation/providers/openai/parameters.py b/packages/text-generation/src/celeste_text_generation/providers/openai/parameters.py index 6ad6fa07..b7361a7a 100644 --- a/packages/text-generation/src/celeste_text_generation/providers/openai/parameters.py +++ b/packages/text-generation/src/celeste_text_generation/providers/openai/parameters.py @@ -1,7 +1,6 @@ """OpenAI parameter mappers.""" import json -from enum import StrEnum from typing import Any, get_args, get_origin from pydantic import BaseModel, TypeAdapter @@ -15,7 +14,7 @@ class OutputSchemaMapper(ParameterMapper): """Map output_schema parameter to OpenAI text.format.""" - name: StrEnum = TextGenerationParameter.OUTPUT_SCHEMA + name = TextGenerationParameter.OUTPUT_SCHEMA def map( self, @@ -146,7 +145,7 @@ def _get_schema_name(self, output_schema: Any) -> str: # noqa: ANN401 class TemperatureMapper(ParameterMapper): """Map temperature parameter to OpenAI temperature field.""" - name: StrEnum = Parameter.TEMPERATURE + name = Parameter.TEMPERATURE def map( self, @@ -166,7 +165,7 @@ def map( class MaxTokensMapper(ParameterMapper): """Map max_tokens parameter to OpenAI max_output_tokens field.""" - name: StrEnum = Parameter.MAX_TOKENS + name = Parameter.MAX_TOKENS def map( self, @@ -186,7 +185,7 @@ def map( class ThinkingBudgetMapper(ParameterMapper): """Map thinking_budget parameter to OpenAI reasoning.effort field.""" - name: StrEnum = TextGenerationParameter.THINKING_BUDGET + name = TextGenerationParameter.THINKING_BUDGET def map( self, @@ -206,7 +205,7 @@ def map( class VerbosityMapper(ParameterMapper): """Map verbosity parameter to OpenAI text.verbosity field.""" - name: StrEnum = TextGenerationParameter.VERBOSITY + name = TextGenerationParameter.VERBOSITY def map( self,