grasp_agents 0.4.6__tar.gz → 0.4.7__tar.gz

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.
Files changed (51) hide show
  1. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/PKG-INFO +1 -1
  2. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/pyproject.toml +1 -1
  3. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/cloud_llm.py +29 -23
  4. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/.gitignore +0 -0
  5. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/LICENSE.md +0 -0
  6. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/README.md +0 -0
  7. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/__init__.py +0 -0
  8. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/comm_processor.py +0 -0
  9. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/costs_dict.yaml +0 -0
  10. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/errors.py +0 -0
  11. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/generics_utils.py +0 -0
  12. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/grasp_logging.py +0 -0
  13. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/http_client.py +0 -0
  14. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/llm.py +0 -0
  15. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/llm_agent.py +0 -0
  16. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/llm_agent_memory.py +0 -0
  17. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/llm_policy_executor.py +0 -0
  18. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/memory.py +0 -0
  19. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/__init__.py +0 -0
  20. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/completion_chunk_converters.py +0 -0
  21. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/completion_converters.py +0 -0
  22. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/content_converters.py +0 -0
  23. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/converters.py +0 -0
  24. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/message_converters.py +0 -0
  25. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/openai_llm.py +0 -0
  26. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/openai/tool_converters.py +0 -0
  27. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/packet.py +0 -0
  28. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/packet_pool.py +0 -0
  29. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/printer.py +0 -0
  30. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/processor.py +0 -0
  31. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/prompt_builder.py +0 -0
  32. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/rate_limiting/__init__.py +0 -0
  33. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/rate_limiting/rate_limiter_chunked.py +0 -0
  34. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/rate_limiting/types.py +0 -0
  35. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/rate_limiting/utils.py +0 -0
  36. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/run_context.py +0 -0
  37. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/__init__.py +0 -0
  38. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/completion.py +0 -0
  39. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/completion_chunk.py +0 -0
  40. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/content.py +0 -0
  41. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/converters.py +0 -0
  42. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/events.py +0 -0
  43. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/io.py +0 -0
  44. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/message.py +0 -0
  45. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/typing/tool.py +0 -0
  46. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/usage_tracker.py +0 -0
  47. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/utils.py +0 -0
  48. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/workflow/__init__.py +0 -0
  49. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/workflow/looped_workflow.py +0 -0
  50. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/workflow/sequential_workflow.py +0 -0
  51. {grasp_agents-0.4.6 → grasp_agents-0.4.7}/src/grasp_agents/workflow/workflow_processor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: grasp_agents
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: Grasp Agents Library
5
5
  License-File: LICENSE.md
6
6
  Requires-Python: <4,>=3.11.4
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "grasp_agents"
3
- version = "0.4.6"
3
+ version = "0.4.7"
4
4
  description = "Grasp Agents Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11.4,<4"
@@ -42,26 +42,28 @@ class APIProvider(TypedDict):
42
42
  struct_outputs_support: NotRequired[tuple[str, ...]]
43
43
 
44
44
 
45
- API_PROVIDERS: dict[APIProviderName, APIProvider] = {
46
- "openai": APIProvider(
47
- name="openai",
48
- base_url="https://api.openai.com/v1",
49
- api_key=os.getenv("OPENAI_API_KEY"),
50
- struct_outputs_support=("*",),
51
- ),
52
- "openrouter": APIProvider(
53
- name="openrouter",
54
- base_url="https://openrouter.ai/api/v1",
55
- api_key=os.getenv("OPENROUTER_API_KEY"),
56
- struct_outputs_support=(),
57
- ),
58
- "google_ai_studio": APIProvider(
59
- name="google_ai_studio",
60
- base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
61
- api_key=os.getenv("GOOGLE_AI_STUDIO_API_KEY"),
62
- struct_outputs_support=("*",),
63
- ),
64
- }
45
+ def get_api_providers() -> dict[APIProviderName, APIProvider]:
46
+ """Returns a dictionary of available API providers."""
47
+ return {
48
+ "openai": APIProvider(
49
+ name="openai",
50
+ base_url="https://api.openai.com/v1",
51
+ api_key=os.getenv("OPENAI_API_KEY"),
52
+ struct_outputs_support=("*",),
53
+ ),
54
+ "openrouter": APIProvider(
55
+ name="openrouter",
56
+ base_url="https://openrouter.ai/api/v1",
57
+ api_key=os.getenv("OPENROUTER_API_KEY"),
58
+ struct_outputs_support=(),
59
+ ),
60
+ "google_ai_studio": APIProvider(
61
+ name="google_ai_studio",
62
+ base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
63
+ api_key=os.getenv("GOOGLE_AI_STUDIO_API_KEY"),
64
+ struct_outputs_support=("*",),
65
+ ),
66
+ }
65
67
 
66
68
 
67
69
  def retry_error_callback(retry_state: RetryCallState) -> Completion:
@@ -142,12 +144,16 @@ class CloudLLM(LLM[SettingsT_co, ConvertT_co], Generic[SettingsT_co, ConvertT_co
142
144
  if len(model_name_parts) == 2:
143
145
  api_provider_name, api_model_name = model_name_parts
144
146
  self._api_model_name: str = api_model_name
145
- if api_provider_name not in API_PROVIDERS:
147
+
148
+ api_providers = get_api_providers()
149
+
150
+ if api_provider_name not in api_providers:
146
151
  raise ValueError(
147
152
  f"API provider '{api_provider_name}' is not supported. "
148
- f"Supported providers are: {', '.join(API_PROVIDERS.keys())}"
153
+ f"Supported providers are: {', '.join(api_providers.keys())}"
149
154
  )
150
- _api_provider = API_PROVIDERS[api_provider_name]
155
+
156
+ _api_provider = api_providers[api_provider_name]
151
157
  elif api_provider is not None:
152
158
  self._api_model_name: str = model_name
153
159
  _api_provider = api_provider
File without changes
File without changes
File without changes