ngpt 3.1.0__py3-none-any.whl → 3.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ngpt/cli/main.py CHANGED
@@ -297,12 +297,12 @@ def main():
297
297
  elif len(matching_configs) > 1:
298
298
  print(f"Multiple configurations found for provider '{effective_provider}':")
299
299
  for i, idx in enumerate(matching_configs):
300
- print(f" [{i}] Index {idx}: {configs[idx].get('model', 'Unknown model')}")
300
+ print(f" Choice [{i+1}] Config #{idx}: {configs[idx].get('model', 'Unknown model')}")
301
301
 
302
302
  try:
303
303
  choice = input("Choose a configuration to remove (or press Enter to cancel): ")
304
- if choice and choice.isdigit() and 0 <= int(choice) < len(matching_configs):
305
- config_index = matching_configs[int(choice)]
304
+ if choice and choice.isdigit() and 1 <= int(choice) <= len(matching_configs):
305
+ config_index = matching_configs[int(choice)-1]
306
306
  else:
307
307
  print("Configuration removal cancelled.")
308
308
  return
ngpt/utils/config.py CHANGED
@@ -172,18 +172,19 @@ def load_config(custom_path: Optional[str] = None, config_index: int = 0, provid
172
172
  elif len(matching_configs) > 1:
173
173
  print(f"Warning: Multiple configurations found for provider '{provider}'.")
174
174
  for i, idx in enumerate(matching_configs):
175
- print(f" [{i}] Index {idx}: {configs[idx].get('model', 'Unknown model')}")
175
+ print(f" Choice [{i+1}] Config #{idx}: {configs[idx].get('model', 'Unknown model')}")
176
176
 
177
177
  try:
178
- choice = input("Choose a configuration (or press Enter for the first one): ")
179
- if choice and choice.isdigit() and 0 <= int(choice) < len(matching_configs):
180
- config_index = matching_configs[int(choice)]
178
+ choice = input("Enter choice number (or press Enter for the first one): ")
179
+ if choice and choice.isdigit() and 1 <= int(choice) <= len(matching_configs):
180
+ config_index = matching_configs[int(choice)-1]
181
+ print(f"Selected configuration #{config_index}.")
181
182
  else:
182
183
  config_index = matching_configs[0]
183
- print(f"Using first matching configuration (index {config_index}).")
184
+ print(f"Using first matching configuration (config #{config_index}).")
184
185
  except (ValueError, IndexError, KeyboardInterrupt):
185
186
  config_index = matching_configs[0]
186
- print(f"Using first matching configuration (index {config_index}).")
187
+ print(f"Using first matching configuration (config #{config_index}).")
187
188
  else:
188
189
  config_index = matching_configs[0]
189
190
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngpt
3
- Version: 3.1.0
3
+ Version: 3.1.1
4
4
  Summary: Swiss army knife for LLMs: powerful CLI, interactive chatbot, and flexible Python library. Works with OpenAI, Ollama, Groq, Claude, Gemini, and any OpenAI-compatible API.
5
5
  Project-URL: Homepage, https://github.com/nazdridoy/ngpt
6
6
  Project-URL: Repository, https://github.com/nazdridoy/ngpt
@@ -6,7 +6,7 @@ ngpt/cli/args.py,sha256=XQvofZs_WkbgUto3Dbx7Yw-AmPAQHh8kdHUe3uWy8w4,11382
6
6
  ngpt/cli/config_manager.py,sha256=NQQcWnjUppAAd0s0p9YAf8EyKS1ex5-0EB4DvKdB4dk,3662
7
7
  ngpt/cli/formatters.py,sha256=HBYGlx_7eoAKyzfy0Vq5L0yn8yVKjngqYBukMmXCcz0,9401
8
8
  ngpt/cli/interactive.py,sha256=Zep4yiGRFPVrJV1zp7xB5lXg7hVhXhbRlaVA4DgRBbQ,13241
9
- ngpt/cli/main.py,sha256=rIGbsr1wll4fJhAmPx8C9fCJYlhKijdHqal9e3NC2I8,28908
9
+ ngpt/cli/main.py,sha256=9um40RplKHSW5UHcUUO2cwMNqkGUhfQwikI1CHHFbnk,28926
10
10
  ngpt/cli/renderers.py,sha256=ovV0IexZyrjCk8LK5ZGVvf5K7wCLco4jRhDv_tp6Kvw,15184
11
11
  ngpt/cli/ui.py,sha256=m8qtd4cCSHBGHPUlHVdBEfun1G1Se4vLKTSgnS7QOKE,6775
12
12
  ngpt/cli/modes/__init__.py,sha256=R3aO662RIzWEOvr3moTrEI8Tpg0zDDyMGGh1-OxiRgM,285
@@ -18,10 +18,10 @@ ngpt/cli/modes/shell.py,sha256=QkprnOxMMTg2v5DIwcofDnnr3JPNfuk-YgSQaae5Xps,3311
18
18
  ngpt/cli/modes/text.py,sha256=vCwZnVxIbsTCLE8YVJIPwZsGgk7VRs8v-eeaVwCOZqI,4702
19
19
  ngpt/utils/__init__.py,sha256=E46suk2-QgYBI0Qrs6WXOajOUOebF3ETAFY7ah8DTWs,942
20
20
  ngpt/utils/cli_config.py,sha256=IlHnOEEGpLoGZInynM778wgpxLVcJ_STKWxg2Ypvir4,11196
21
- ngpt/utils/config.py,sha256=WYOk_b1eiYjo6hpV3pfXr2RjqhOnmKqwZwKid1T41I4,10363
21
+ ngpt/utils/config.py,sha256=wsArA4osnh8fKqOvtsPqqBxAz3DpdjtaWUFaRtnUdyc,10452
22
22
  ngpt/utils/log.py,sha256=f1jg2iFo35PAmsarH8FVL_62plq4VXH0Mu2QiP6RJGw,15934
23
- ngpt-3.1.0.dist-info/METADATA,sha256=irJUzUn2P7MRjh8E-Dz0oQPOZ3PqKk7MRMf0TMkNZbM,28992
24
- ngpt-3.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
- ngpt-3.1.0.dist-info/entry_points.txt,sha256=SqAAvLhMrsEpkIr4YFRdUeyuXQ9o0IBCeYgE6AVojoI,44
26
- ngpt-3.1.0.dist-info/licenses/LICENSE,sha256=mQkpWoADxbHqE0HRefYLJdm7OpdrXBr3vNv5bZ8w72M,1065
27
- ngpt-3.1.0.dist-info/RECORD,,
23
+ ngpt-3.1.1.dist-info/METADATA,sha256=YPavkwb6Jg4oblYwYtBX3XrDmvcQWVhQZO2d9r5yByI,28992
24
+ ngpt-3.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
+ ngpt-3.1.1.dist-info/entry_points.txt,sha256=SqAAvLhMrsEpkIr4YFRdUeyuXQ9o0IBCeYgE6AVojoI,44
26
+ ngpt-3.1.1.dist-info/licenses/LICENSE,sha256=mQkpWoADxbHqE0HRefYLJdm7OpdrXBr3vNv5bZ8w72M,1065
27
+ ngpt-3.1.1.dist-info/RECORD,,
File without changes