fmtr.tools 1.0.53__tar.gz → 1.0.54__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.

Potentially problematic release.


This version of fmtr.tools might be problematic. Click here for more details.

Files changed (71) hide show
  1. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/PKG-INFO +1 -1
  2. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/ai_tools/agentic_tools.py +24 -16
  3. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/config.py +3 -0
  4. fmtr.tools-1.0.54/fmtr/tools/version +1 -0
  5. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr.tools.egg-info/PKG-INFO +1 -1
  6. fmtr.tools-1.0.53/fmtr/tools/version +0 -1
  7. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/LICENSE +0 -0
  8. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/README.md +0 -0
  9. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/__init__.py +0 -0
  10. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/ai_tools/__init__.py +0 -0
  11. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  12. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/api_tools.py +0 -0
  13. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/async_tools.py +0 -0
  14. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/augmentation_tools.py +0 -0
  15. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/caching_tools.py +0 -0
  16. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/config_tools.py +0 -0
  17. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/console_script_tools.py +0 -0
  18. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/dataclass_tools.py +0 -0
  20. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/datatype_tools.py +0 -0
  21. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/debugging_tools.py +0 -0
  22. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/docker_tools.py +0 -0
  23. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/environment_tools.py +0 -0
  24. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/function_tools.py +0 -0
  25. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/google_api_tools.py +0 -0
  26. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/hash_tools.py +0 -0
  27. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/hfh_tools.py +0 -0
  28. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/html_tools.py +0 -0
  29. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/import_tools.py +0 -0
  30. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/inspection_tools.py +0 -0
  31. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/interface_tools.py +0 -0
  32. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/iterator_tools.py +0 -0
  33. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/json_fix_tools.py +0 -0
  34. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/json_tools.py +0 -0
  35. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/logging_tools.py +0 -0
  36. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/merging_tools.py +0 -0
  37. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/metric_tools.py +0 -0
  38. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/name_tools.py +0 -0
  39. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/netrc_tools.py +0 -0
  40. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/openai_tools.py +0 -0
  41. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/parallel_tools.py +0 -0
  42. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/path_tools.py +0 -0
  43. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/pdf_tools.py +0 -0
  44. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/platform_tools.py +0 -0
  45. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/process_tools.py +0 -0
  46. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/profiling_tools.py +0 -0
  47. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/random_tools.py +0 -0
  48. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/semantic_tools.py +0 -0
  49. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/spaces_tools.py +0 -0
  50. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/string_tools.py +0 -0
  51. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tabular_tools.py +0 -0
  52. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/__init__.py +0 -0
  53. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/conftest.py +0 -0
  54. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/helpers.py +0 -0
  55. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/test_datatype.py +0 -0
  56. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/test_environment.py +0 -0
  57. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/test_json.py +0 -0
  58. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/test_path.py +0 -0
  59. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tests/test_yaml.py +0 -0
  60. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tokenization_tools.py +0 -0
  61. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/tools.py +0 -0
  62. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/unicode_tools.py +0 -0
  63. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/version_tools.py +0 -0
  64. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr/tools/yaml_tools.py +0 -0
  65. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  66. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  67. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr.tools.egg-info/entry_points.txt +0 -0
  68. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr.tools.egg-info/requires.txt +0 -0
  69. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/fmtr.tools.egg-info/top_level.txt +0 -0
  70. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/setup.cfg +0 -0
  71. {fmtr.tools-1.0.53 → fmtr.tools-1.0.54}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.53
3
+ Version: 1.0.54
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -1,7 +1,7 @@
1
1
  import pydantic_ai
2
- from pydantic_ai import RunContext, ModelRetry
3
- from pydantic_ai.agent import AgentRunResult
4
- from pydantic_ai.messages import ModelRequest, SystemPromptPart, ToolCallPart, RetryPromptPart, ModelResponse, ToolReturnPart, UserPromptPart
2
+ from pydantic_ai import RunContext
3
+ from pydantic_ai.agent import AgentRunResult, Agent
4
+ from pydantic_ai.messages import ModelRequest, RetryPromptPart
5
5
  from pydantic_ai.models.openai import OpenAIModel
6
6
  from pydantic_ai.providers.openai import OpenAIProvider
7
7
 
@@ -10,16 +10,6 @@ from fmtr.tools.config import ToolsConfig
10
10
 
11
11
  pydantic_ai.Agent.instrument_all()
12
12
 
13
- class Agent(pydantic_ai.Agent):
14
- """
15
-
16
- Agent stub
17
-
18
- TODO base class is marked `@final`, so is it safe to subclass?
19
-
20
- """
21
-
22
-
23
13
  class Task:
24
14
  """
25
15
 
@@ -28,10 +18,15 @@ class Task:
28
18
  """
29
19
 
30
20
  PROVIDER = OpenAIProvider(api_key=env.get(ToolsConfig.FMTR_OPENAI_API_KEY_KEY))
21
+
22
+ API_HOST_FMTR = env.get(ToolsConfig.FMTR_AI_HOST_KEY, ToolsConfig.FMTR_AI_HOST_DEFAULT)
23
+ API_URL_FMTR = f'https://{API_HOST_FMTR}/v1'
24
+ PROVIDER_FMTR = OpenAIProvider(base_url=API_URL_FMTR)
25
+
31
26
  MODEL_ID = 'gpt-4o'
32
27
  SYSTEM_PROMPT = None
33
- DEPS_TYPE = type(None)
34
- RESULT_TYPE = type(None)
28
+ DEPS_TYPE = str
29
+ RESULT_TYPE = str
35
30
  RESULT_RETRIES = 5
36
31
 
37
32
  def __init__(self, *args, **kwargs):
@@ -45,7 +40,7 @@ class Task:
45
40
  self.agent = Agent(
46
41
  *args,
47
42
  model=self.model,
48
- system_prompt=self.SYSTEM_PROMPT,
43
+ system_prompt=self.SYSTEM_PROMPT or [],
49
44
  deps_type=self.DEPS_TYPE,
50
45
  result_type=self.RESULT_TYPE,
51
46
  result_retries=self.RESULT_RETRIES,
@@ -90,3 +85,16 @@ class Task:
90
85
 
91
86
  """
92
87
  return output
88
+
89
+
90
+ class TaskTest(Task):
91
+ PROVIDER = Task.PROVIDER_FMTR
92
+ MODEL_ID = 'mixtral:8x7b'
93
+
94
+
95
+ if __name__ == '__main__':
96
+ import asyncio
97
+
98
+ task = TaskTest()
99
+ result = asyncio.run(task.run('Hello! What is your name?'))
100
+ result
@@ -26,3 +26,6 @@ class ToolsConfig(ConfigClass):
26
26
  FMTR_REMOTE_DEBUG_ENABLED_KEY = 'FMTR_REMOTE_DEBUG_ENABLED'
27
27
 
28
28
  FMTR_OPENAI_API_KEY_KEY = 'FMTR_OPENAI_API_KEY'
29
+
30
+ FMTR_AI_HOST_KEY = 'FMTR_URL_HOST'
31
+ FMTR_AI_HOST_DEFAULT = 'ai.gex.fmtr.dev'
@@ -0,0 +1 @@
1
+ 1.0.54
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.53
3
+ Version: 1.0.54
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -1 +0,0 @@
1
- 1.0.53
File without changes
File without changes
File without changes
File without changes