fmtr.tools 1.1.3__tar.gz → 1.1.4__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.1.3 → fmtr_tools-1.1.4}/PKG-INFO +37 -37
  2. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/ai_tools/agentic_tools.py +50 -23
  3. fmtr_tools-1.1.4/fmtr/tools/version +1 -0
  4. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr.tools.egg-info/PKG-INFO +37 -37
  5. fmtr_tools-1.1.3/fmtr/tools/version +0 -1
  6. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/LICENSE +0 -0
  7. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/README.md +0 -0
  8. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/__init__.py +0 -0
  9. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/ai_tools/__init__.py +0 -0
  10. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  11. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/api_tools.py +0 -0
  12. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/async_tools.py +0 -0
  13. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/augmentation_tools.py +0 -0
  14. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/caching_tools.py +0 -0
  15. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/console_script_tools.py +0 -0
  16. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/constants.py +0 -0
  17. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/data_modelling_tools.py +0 -0
  18. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/dataclass_tools.py +0 -0
  19. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/datatype_tools.py +0 -0
  20. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/debugging_tools.py +0 -0
  21. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/docker_tools.py +0 -0
  22. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/environment_tools.py +0 -0
  23. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/function_tools.py +0 -0
  24. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/google_api_tools.py +0 -0
  25. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/hash_tools.py +0 -0
  26. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/hfh_tools.py +0 -0
  27. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/html_tools.py +0 -0
  28. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/import_tools.py +0 -0
  29. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/inspection_tools.py +0 -0
  30. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/interface_tools.py +0 -0
  31. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/iterator_tools.py +0 -0
  32. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/json_fix_tools.py +0 -0
  33. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/json_tools.py +0 -0
  34. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/logging_tools.py +0 -0
  35. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/merging_tools.py +0 -0
  36. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/metric_tools.py +0 -0
  37. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/name_tools.py +0 -0
  38. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/netrc_tools.py +0 -0
  39. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/openai_tools.py +0 -0
  40. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/parallel_tools.py +0 -0
  41. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/path_tools.py +0 -0
  42. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/pdf_tools.py +0 -0
  43. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/platform_tools.py +0 -0
  44. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/process_tools.py +0 -0
  45. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/profiling_tools.py +0 -0
  46. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/random_tools.py +0 -0
  47. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/semantic_tools.py +0 -0
  48. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/settings_tools.py +0 -0
  49. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/spaces_tools.py +0 -0
  50. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/string_tools.py +0 -0
  51. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tabular_tools.py +0 -0
  52. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/__init__.py +0 -0
  53. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/conftest.py +0 -0
  54. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/helpers.py +0 -0
  55. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/test_datatype.py +0 -0
  56. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/test_environment.py +0 -0
  57. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/test_json.py +0 -0
  58. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/test_path.py +0 -0
  59. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tests/test_yaml.py +0 -0
  60. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tokenization_tools.py +0 -0
  61. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/tools.py +0 -0
  62. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/unicode_tools.py +0 -0
  63. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/version_tools.py +0 -0
  64. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr/tools/yaml_tools.py +0 -0
  65. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  66. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  67. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr.tools.egg-info/entry_points.txt +0 -0
  68. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr.tools.egg-info/requires.txt +36 -36
  69. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/fmtr.tools.egg-info/top_level.txt +0 -0
  70. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/setup.cfg +0 -0
  71. {fmtr_tools-1.1.3 → fmtr_tools-1.1.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.3
3
+ Version: 1.1.4
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
@@ -9,51 +9,51 @@ License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Provides-Extra: test
12
- Requires-Dist: flet-webview; extra == "test"
13
- Requires-Dist: torchvision; extra == "test"
14
- Requires-Dist: pydevd-pycharm; extra == "test"
15
- Requires-Dist: pytest-cov; extra == "test"
16
- Requires-Dist: ollama; extra == "test"
17
- Requires-Dist: torchaudio; extra == "test"
12
+ Requires-Dist: tokenizers; extra == "test"
18
13
  Requires-Dist: faker; extra == "test"
19
- Requires-Dist: uvicorn[standard]; extra == "test"
20
- Requires-Dist: Unidecode; extra == "test"
21
- Requires-Dist: semver; extra == "test"
22
- Requires-Dist: openai; extra == "test"
23
- Requires-Dist: transformers[sentencepiece]; extra == "test"
24
- Requires-Dist: google-auth-httplib2; extra == "test"
25
- Requires-Dist: openpyxl; extra == "test"
26
- Requires-Dist: peft; extra == "test"
27
- Requires-Dist: docker; extra == "test"
28
- Requires-Dist: json_repair; extra == "test"
29
- Requires-Dist: dask[bag]; extra == "test"
30
- Requires-Dist: logfire[fastapi]; extra == "test"
31
- Requires-Dist: deepmerge; extra == "test"
32
- Requires-Dist: tinynetrc; extra == "test"
33
- Requires-Dist: sre_yield; extra == "test"
34
- Requires-Dist: tabulate; extra == "test"
35
- Requires-Dist: sentence_transformers; extra == "test"
36
- Requires-Dist: google-auth; extra == "test"
14
+ Requires-Dist: pydantic; extra == "test"
37
15
  Requires-Dist: logfire; extra == "test"
38
- Requires-Dist: html2text; extra == "test"
16
+ Requires-Dist: tabulate; extra == "test"
17
+ Requires-Dist: diskcache; extra == "test"
18
+ Requires-Dist: sre_yield; extra == "test"
19
+ Requires-Dist: distributed; extra == "test"
39
20
  Requires-Dist: bokeh; extra == "test"
40
- Requires-Dist: pydantic; extra == "test"
41
- Requires-Dist: contexttimer; extra == "test"
42
21
  Requires-Dist: flet[all]; extra == "test"
43
22
  Requires-Dist: fastapi; extra == "test"
44
- Requires-Dist: google-auth-oauthlib; extra == "test"
23
+ Requires-Dist: uvicorn[standard]; extra == "test"
24
+ Requires-Dist: google-auth; extra == "test"
25
+ Requires-Dist: logfire[fastapi]; extra == "test"
26
+ Requires-Dist: contexttimer; extra == "test"
27
+ Requires-Dist: pyyaml; extra == "test"
28
+ Requires-Dist: flet-webview; extra == "test"
29
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
30
+ Requires-Dist: sentence_transformers; extra == "test"
45
31
  Requires-Dist: pandas; extra == "test"
46
- Requires-Dist: huggingface_hub; extra == "test"
47
- Requires-Dist: pymupdf; extra == "test"
32
+ Requires-Dist: dask[bag]; extra == "test"
33
+ Requires-Dist: pydevd-pycharm; extra == "test"
34
+ Requires-Dist: openai; extra == "test"
35
+ Requires-Dist: peft; extra == "test"
36
+ Requires-Dist: tinynetrc; extra == "test"
37
+ Requires-Dist: semver; extra == "test"
38
+ Requires-Dist: pytest-cov; extra == "test"
39
+ Requires-Dist: pymupdf4llm; extra == "test"
40
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
48
41
  Requires-Dist: google-api-python-client; extra == "test"
42
+ Requires-Dist: html2text; extra == "test"
43
+ Requires-Dist: huggingface_hub; extra == "test"
44
+ Requires-Dist: torchaudio; extra == "test"
45
+ Requires-Dist: deepmerge; extra == "test"
46
+ Requires-Dist: torchvision; extra == "test"
47
+ Requires-Dist: google-auth-httplib2; extra == "test"
49
48
  Requires-Dist: pydantic-settings; extra == "test"
50
- Requires-Dist: diskcache; extra == "test"
51
- Requires-Dist: distributed; extra == "test"
52
- Requires-Dist: tokenizers; extra == "test"
49
+ Requires-Dist: google-auth-oauthlib; extra == "test"
50
+ Requires-Dist: openpyxl; extra == "test"
51
+ Requires-Dist: pymupdf; extra == "test"
52
+ Requires-Dist: Unidecode; extra == "test"
53
53
  Requires-Dist: flet-video; extra == "test"
54
- Requires-Dist: pyyaml; extra == "test"
55
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
56
- Requires-Dist: pymupdf4llm; extra == "test"
54
+ Requires-Dist: ollama; extra == "test"
55
+ Requires-Dist: docker; extra == "test"
56
+ Requires-Dist: json_repair; extra == "test"
57
57
  Provides-Extra: yaml
58
58
  Requires-Dist: pyyaml; extra == "yaml"
59
59
  Provides-Extra: logging
@@ -1,9 +1,9 @@
1
1
  import pydantic_ai
2
2
  from pydantic_ai import RunContext
3
3
  from pydantic_ai.agent import AgentRunResult, Agent
4
- from pydantic_ai.messages import ModelRequest, RetryPromptPart
5
4
  from pydantic_ai.models.openai import OpenAIModel
6
5
  from pydantic_ai.providers.openai import OpenAIProvider
6
+ from typing import List, Optional
7
7
 
8
8
  from fmtr.tools import environment_tools as env
9
9
  from fmtr.tools.constants import Constants
@@ -25,7 +25,7 @@ class Task:
25
25
 
26
26
  MODEL_ID = 'gpt-4o'
27
27
  MODEL_ID_FMTR = 'qwen2.5-coder:14b'
28
- SYSTEM_PROMPT = None
28
+ SYSTEM_PROMPT_STATIC = None
29
29
  DEPS_TYPE = str
30
30
  RESULT_TYPE = str
31
31
  RESULT_RETRIES = 5
@@ -41,7 +41,7 @@ class Task:
41
41
  self.agent = Agent(
42
42
  *args,
43
43
  model=self.model,
44
- system_prompt=self.SYSTEM_PROMPT or [],
44
+ system_prompt=self.SYSTEM_PROMPT_STATIC or [],
45
45
  deps_type=self.DEPS_TYPE,
46
46
  result_type=self.RESULT_TYPE,
47
47
  result_retries=self.RESULT_RETRIES,
@@ -49,58 +49,85 @@ class Task:
49
49
  )
50
50
 
51
51
  self.agent.output_validator(self.validate)
52
+ self.agent.system_prompt(self.add_system_prompt)
52
53
  self.history = []
53
54
 
54
- async def run(self, *args, **kwargs) -> AgentRunResult[RESULT_TYPE]:
55
+ @property
56
+ def sync_runner(self):
55
57
  """
56
58
 
57
- Run Agent storing history
59
+ Convenience/debug function to run without async.
58
60
 
59
61
  """
62
+ import asyncio
63
+ return asyncio.run
60
64
 
61
- result = await self.agent.run(*args, message_history=self.history, **kwargs)
65
+ async def run(self, *args, deps=None, **kwargs) -> AgentRunResult[RESULT_TYPE]:
66
+ """
67
+
68
+ Run Agent with deps-relative user prompt and while storing history
69
+
70
+ """
71
+ result = await self.agent.run(*args, user_prompt=self.get_prompt(deps), deps=deps, message_history=self.history, **kwargs)
62
72
  self.history = result.all_messages()
63
73
  return result
64
74
 
65
- async def revert(self, msg, deps):
75
+ async def validate(self, ctx: RunContext[DEPS_TYPE], output: RESULT_TYPE) -> RESULT_TYPE:
66
76
  """
67
77
 
68
- Post-hoc, user-initiated tool retry.
78
+ Dummy validator
69
79
 
70
80
  """
71
- msg_final = self.history.pop(-1)
72
- tool_return_part = msg_final.parts[0]
81
+ return output
73
82
 
74
- retry_prompt = RetryPromptPart(content=msg, tool_name=tool_return_part.tool_name, tool_call_id=tool_return_part.tool_call_id, timestamp=tool_return_part.timestamp, part_kind='retry-prompt')
75
- retry_request = ModelRequest(parts=[retry_prompt], instructions=msg_final.instructions, kind='request')
83
+ def get_prompt(self, deps: Optional[DEPS_TYPE]) -> Optional[str]:
84
+ """
76
85
 
77
- self.history.append(retry_request)
86
+ Dummy prompt generator
78
87
 
79
- result = await Task.run(self, deps=deps)
80
- return result
88
+ """
89
+ return None
81
90
 
82
- async def validate(self, ctx: RunContext[DEPS_TYPE], output: RESULT_TYPE) -> RESULT_TYPE:
91
+ def add_system_prompt(self, ctx: RunContext[DEPS_TYPE]) -> str | List[str]:
83
92
  """
84
93
 
85
- Dummy validator
94
+ Dummy system prompt append
86
95
 
87
96
  """
88
- return output
97
+
98
+ return []
89
99
 
90
100
  if __name__ == '__main__':
91
101
  import asyncio
92
102
  from fmtr.tools import dm
93
103
 
94
104
 
95
- class TestOutput(dm.BaseModel):
105
+ class TestOutput(dm.Base):
96
106
  text: str
97
107
 
98
108
 
109
+ class TestDeps(dm.Base):
110
+ lang: str
111
+ subject: str
112
+
113
+
99
114
  class TaskTest(Task):
100
- PROVIDER = Task.PROVIDER_FMTR
101
- MODEL_ID = 'qwen2.5-coder:14b'
115
+ # PROVIDER = Task.PROVIDER_FMTR
116
+ # MODEL_ID = 'qwen2.5-coder:14b'
102
117
  RESULT_TYPE = TestOutput
118
+ SYSTEM_PROMPT_STATIC = 'Tell the user jokes.'
119
+
120
+ def add_system_prompt(self, ctx: RunContext[TestDeps]) -> str:
121
+ return f'The jokes must be in the {ctx.deps.lang} language.'
122
+
123
+ def get_prompt(self, deps: Optional[TestDeps]) -> str:
124
+ return f'Tell me one about {deps.subject}.'
103
125
 
104
126
  task = TaskTest()
105
- result = asyncio.run(task.run('Hello! What is your name?'))
106
- result
127
+ deps = TestDeps(lang='English', subject='eggs')
128
+ result1 = task.sync_runner(task.run(deps=deps))
129
+ result1
130
+
131
+ deps = TestDeps(lang='German', subject='sausages')
132
+ result2 = task.sync_runner(task.run(deps=deps))
133
+ result2
@@ -0,0 +1 @@
1
+ 1.1.4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.3
3
+ Version: 1.1.4
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
@@ -9,51 +9,51 @@ License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Provides-Extra: test
12
- Requires-Dist: flet-webview; extra == "test"
13
- Requires-Dist: torchvision; extra == "test"
14
- Requires-Dist: pydevd-pycharm; extra == "test"
15
- Requires-Dist: pytest-cov; extra == "test"
16
- Requires-Dist: ollama; extra == "test"
17
- Requires-Dist: torchaudio; extra == "test"
12
+ Requires-Dist: tokenizers; extra == "test"
18
13
  Requires-Dist: faker; extra == "test"
19
- Requires-Dist: uvicorn[standard]; extra == "test"
20
- Requires-Dist: Unidecode; extra == "test"
21
- Requires-Dist: semver; extra == "test"
22
- Requires-Dist: openai; extra == "test"
23
- Requires-Dist: transformers[sentencepiece]; extra == "test"
24
- Requires-Dist: google-auth-httplib2; extra == "test"
25
- Requires-Dist: openpyxl; extra == "test"
26
- Requires-Dist: peft; extra == "test"
27
- Requires-Dist: docker; extra == "test"
28
- Requires-Dist: json_repair; extra == "test"
29
- Requires-Dist: dask[bag]; extra == "test"
30
- Requires-Dist: logfire[fastapi]; extra == "test"
31
- Requires-Dist: deepmerge; extra == "test"
32
- Requires-Dist: tinynetrc; extra == "test"
33
- Requires-Dist: sre_yield; extra == "test"
34
- Requires-Dist: tabulate; extra == "test"
35
- Requires-Dist: sentence_transformers; extra == "test"
36
- Requires-Dist: google-auth; extra == "test"
14
+ Requires-Dist: pydantic; extra == "test"
37
15
  Requires-Dist: logfire; extra == "test"
38
- Requires-Dist: html2text; extra == "test"
16
+ Requires-Dist: tabulate; extra == "test"
17
+ Requires-Dist: diskcache; extra == "test"
18
+ Requires-Dist: sre_yield; extra == "test"
19
+ Requires-Dist: distributed; extra == "test"
39
20
  Requires-Dist: bokeh; extra == "test"
40
- Requires-Dist: pydantic; extra == "test"
41
- Requires-Dist: contexttimer; extra == "test"
42
21
  Requires-Dist: flet[all]; extra == "test"
43
22
  Requires-Dist: fastapi; extra == "test"
44
- Requires-Dist: google-auth-oauthlib; extra == "test"
23
+ Requires-Dist: uvicorn[standard]; extra == "test"
24
+ Requires-Dist: google-auth; extra == "test"
25
+ Requires-Dist: logfire[fastapi]; extra == "test"
26
+ Requires-Dist: contexttimer; extra == "test"
27
+ Requires-Dist: pyyaml; extra == "test"
28
+ Requires-Dist: flet-webview; extra == "test"
29
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
30
+ Requires-Dist: sentence_transformers; extra == "test"
45
31
  Requires-Dist: pandas; extra == "test"
46
- Requires-Dist: huggingface_hub; extra == "test"
47
- Requires-Dist: pymupdf; extra == "test"
32
+ Requires-Dist: dask[bag]; extra == "test"
33
+ Requires-Dist: pydevd-pycharm; extra == "test"
34
+ Requires-Dist: openai; extra == "test"
35
+ Requires-Dist: peft; extra == "test"
36
+ Requires-Dist: tinynetrc; extra == "test"
37
+ Requires-Dist: semver; extra == "test"
38
+ Requires-Dist: pytest-cov; extra == "test"
39
+ Requires-Dist: pymupdf4llm; extra == "test"
40
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
48
41
  Requires-Dist: google-api-python-client; extra == "test"
42
+ Requires-Dist: html2text; extra == "test"
43
+ Requires-Dist: huggingface_hub; extra == "test"
44
+ Requires-Dist: torchaudio; extra == "test"
45
+ Requires-Dist: deepmerge; extra == "test"
46
+ Requires-Dist: torchvision; extra == "test"
47
+ Requires-Dist: google-auth-httplib2; extra == "test"
49
48
  Requires-Dist: pydantic-settings; extra == "test"
50
- Requires-Dist: diskcache; extra == "test"
51
- Requires-Dist: distributed; extra == "test"
52
- Requires-Dist: tokenizers; extra == "test"
49
+ Requires-Dist: google-auth-oauthlib; extra == "test"
50
+ Requires-Dist: openpyxl; extra == "test"
51
+ Requires-Dist: pymupdf; extra == "test"
52
+ Requires-Dist: Unidecode; extra == "test"
53
53
  Requires-Dist: flet-video; extra == "test"
54
- Requires-Dist: pyyaml; extra == "test"
55
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
56
- Requires-Dist: pymupdf4llm; extra == "test"
54
+ Requires-Dist: ollama; extra == "test"
55
+ Requires-Dist: docker; extra == "test"
56
+ Requires-Dist: json_repair; extra == "test"
57
57
  Provides-Extra: yaml
58
58
  Requires-Dist: pyyaml; extra == "yaml"
59
59
  Provides-Extra: logging
@@ -1 +0,0 @@
1
- 1.1.3
File without changes
File without changes
@@ -113,51 +113,51 @@ tabulate
113
113
  openpyxl
114
114
 
115
115
  [test]
116
- flet-webview
117
- torchvision
118
- pydevd-pycharm
119
- pytest-cov
120
- ollama
121
- torchaudio
116
+ tokenizers
122
117
  faker
123
- uvicorn[standard]
124
- Unidecode
125
- semver
126
- openai
127
- transformers[sentencepiece]
128
- google-auth-httplib2
129
- openpyxl
130
- peft
131
- docker
132
- json_repair
133
- dask[bag]
134
- logfire[fastapi]
135
- deepmerge
136
- tinynetrc
137
- sre_yield
138
- tabulate
139
- sentence_transformers
140
- google-auth
118
+ pydantic
141
119
  logfire
142
- html2text
120
+ tabulate
121
+ diskcache
122
+ sre_yield
123
+ distributed
143
124
  bokeh
144
- pydantic
145
- contexttimer
146
125
  flet[all]
147
126
  fastapi
148
- google-auth-oauthlib
127
+ uvicorn[standard]
128
+ google-auth
129
+ logfire[fastapi]
130
+ contexttimer
131
+ pyyaml
132
+ flet-webview
133
+ transformers[sentencepiece]
134
+ sentence_transformers
149
135
  pandas
150
- huggingface_hub
151
- pymupdf
136
+ dask[bag]
137
+ pydevd-pycharm
138
+ openai
139
+ peft
140
+ tinynetrc
141
+ semver
142
+ pytest-cov
143
+ pymupdf4llm
144
+ pydantic-ai[logfire,openai]
152
145
  google-api-python-client
146
+ html2text
147
+ huggingface_hub
148
+ torchaudio
149
+ deepmerge
150
+ torchvision
151
+ google-auth-httplib2
153
152
  pydantic-settings
154
- diskcache
155
- distributed
156
- tokenizers
153
+ google-auth-oauthlib
154
+ openpyxl
155
+ pymupdf
156
+ Unidecode
157
157
  flet-video
158
- pyyaml
159
- pydantic-ai[logfire,openai]
160
- pymupdf4llm
158
+ ollama
159
+ docker
160
+ json_repair
161
161
 
162
162
  [tokenization]
163
163
  tokenizers
File without changes
File without changes