Skip to content

Commit 14283be

Browse files
committed
merge main
2 parents 07ed63d + c30d2fb commit 14283be

File tree

4 files changed

+52
-6
lines changed

4 files changed

+52
-6
lines changed

.devcontainer/devcontainer.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "Python",
3+
"image": "mcr.microsoft.com/devcontainers/python:latest",
4+
"features": {
5+
"azure-cli": "latest",
6+
"git": "latest"
7+
},
8+
"customizations": {
9+
"vscode": {
10+
"settings": {
11+
"files.insertFinalNewline": true,
12+
"files.trimTrailingWhitespace": true
13+
},
14+
"extensions": [
15+
"ms-python.python"
16+
]
17+
}
18+
}
19+
}

docs/development.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Development
2+
3+
## VSCode Setup
4+
5+
To set up VSCode for development:
6+
7+
1. start the editor with the Python devcontainer
8+
9+
1. install the dependencies:
10+
11+
```bash
12+
# the _version.py file is generated and may need to be removed
13+
rm python-gpt-po/_version.py
14+
15+
python -m pip install -e .
16+
```
17+
18+
## Running the Tests
19+
20+
```bash
21+
python -m pytest
22+
```

python_gpt_po/models/enums.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,11 @@ class ModelProvider(Enum):
1111
ANTHROPIC = "anthropic"
1212
DEEPSEEK = "deepseek"
1313
AZURE_OPENAI = "azure_openai"
14+
15+
16+
ModelProviderList = [
17+
ModelProvider.OPENAI.value,
18+
ModelProvider.ANTHROPIC.value,
19+
ModelProvider.DEEPSEEK.value,
20+
ModelProvider.AZURE_OPENAI.value
21+
]

python_gpt_po/utils/cli.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import sys
1010
from typing import Dict, List, Optional
1111

12-
from ..models.enums import ModelProvider
12+
from ..models.enums import ModelProvider, ModelProviderList
1313
from .helpers import get_version
1414

1515

@@ -99,7 +99,7 @@ def parse_args() -> argparse.Namespace:
9999
# Provider settings
100100
provider_group.add_argument(
101101
"--provider",
102-
choices=["openai", "anthropic", "deepseek", "azure_openai"],
102+
choices=ModelProviderList,
103103
help="AI provider to use (default: first provider with available API key)"
104104
)
105105
provider_group.add_argument(
@@ -282,10 +282,7 @@ def auto_select_provider(api_keys: Dict[str, str]) -> Optional[ModelProvider]:
282282
Returns:
283283
Optional[ModelProvider]: The auto-selected provider or None if no keys available
284284
"""
285-
for provider_name in [ModelProvider.OPENAI.value,
286-
ModelProvider.ANTHROPIC.value,
287-
ModelProvider.DEEPSEEK.value,
288-
ModelProvider.AZURE_OPENAI.value]:
285+
for provider_name in ModelProviderList:
289286
if api_keys.get(provider_name):
290287
provider = ModelProvider(provider_name)
291288
logging.info("Auto-selected provider: %s (based on available API key)", provider_name)

0 commit comments

Comments
 (0)