fmtr.tools 1.1.7__tar.gz → 1.1.9__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.7 → fmtr_tools-1.1.9}/PKG-INFO +36 -36
  2. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/ai_tools/agentic_tools.py +11 -1
  3. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/constants.py +4 -1
  4. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/path_tools.py +67 -12
  5. fmtr_tools-1.1.9/fmtr/tools/version +1 -0
  6. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr.tools.egg-info/PKG-INFO +36 -36
  7. fmtr_tools-1.1.7/fmtr/tools/version +0 -1
  8. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/LICENSE +0 -0
  9. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/README.md +0 -0
  10. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/__init__.py +0 -0
  11. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/ai_tools/__init__.py +0 -0
  12. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  13. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/api_tools.py +0 -0
  14. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/async_tools.py +0 -0
  15. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/augmentation_tools.py +0 -0
  16. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/caching_tools.py +0 -0
  17. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/console_script_tools.py +0 -0
  18. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/dataclass_tools.py +0 -0
  20. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/datatype_tools.py +0 -0
  21. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/debugging_tools.py +0 -0
  22. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/docker_tools.py +0 -0
  23. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/environment_tools.py +0 -0
  24. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/function_tools.py +0 -0
  25. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/google_api_tools.py +0 -0
  26. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/hash_tools.py +0 -0
  27. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/hfh_tools.py +0 -0
  28. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/html_tools.py +0 -0
  29. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/import_tools.py +0 -0
  30. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/inspection_tools.py +0 -0
  31. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/interface_tools.py +0 -0
  32. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/iterator_tools.py +0 -0
  33. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/json_fix_tools.py +0 -0
  34. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/json_tools.py +0 -0
  35. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/logging_tools.py +0 -0
  36. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/merging_tools.py +0 -0
  37. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/metric_tools.py +0 -0
  38. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/name_tools.py +0 -0
  39. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/netrc_tools.py +0 -0
  40. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/openai_tools.py +0 -0
  41. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/parallel_tools.py +0 -0
  42. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/pdf_tools.py +0 -0
  43. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/platform_tools.py +0 -0
  44. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/process_tools.py +0 -0
  45. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/profiling_tools.py +0 -0
  46. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/random_tools.py +0 -0
  47. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/semantic_tools.py +0 -0
  48. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/settings_tools.py +0 -0
  49. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/spaces_tools.py +0 -0
  50. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/string_tools.py +0 -0
  51. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tabular_tools.py +0 -0
  52. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/__init__.py +0 -0
  53. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/conftest.py +0 -0
  54. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/helpers.py +0 -0
  55. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/test_datatype.py +0 -0
  56. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/test_environment.py +0 -0
  57. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/test_json.py +0 -0
  58. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/test_path.py +0 -0
  59. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tests/test_yaml.py +0 -0
  60. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tokenization_tools.py +0 -0
  61. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/tools.py +0 -0
  62. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/unicode_tools.py +0 -0
  63. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/version_tools.py +0 -0
  64. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr/tools/yaml_tools.py +0 -0
  65. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  66. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  67. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr.tools.egg-info/entry_points.txt +0 -0
  68. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr.tools.egg-info/requires.txt +35 -35
  69. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/fmtr.tools.egg-info/top_level.txt +0 -0
  70. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/setup.cfg +0 -0
  71. {fmtr_tools-1.1.7 → fmtr_tools-1.1.9}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.7
3
+ Version: 1.1.9
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: json_repair; extra == "test"
13
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
14
+ Requires-Dist: pytest-cov; extra == "test"
15
+ Requires-Dist: openai; extra == "test"
16
+ Requires-Dist: tabulate; extra == "test"
17
+ Requires-Dist: google-auth-httplib2; extra == "test"
18
+ Requires-Dist: openpyxl; extra == "test"
19
+ Requires-Dist: fastapi; extra == "test"
20
+ Requires-Dist: Unidecode; extra == "test"
21
+ Requires-Dist: flet[all]; extra == "test"
22
+ Requires-Dist: dask[bag]; extra == "test"
23
+ Requires-Dist: uvicorn[standard]; extra == "test"
12
24
  Requires-Dist: pydevd-pycharm; extra == "test"
13
- Requires-Dist: pyyaml; extra == "test"
14
- Requires-Dist: faker; extra == "test"
15
- Requires-Dist: pandas; extra == "test"
25
+ Requires-Dist: huggingface_hub; extra == "test"
16
26
  Requires-Dist: logfire; extra == "test"
27
+ Requires-Dist: pyyaml; extra == "test"
28
+ Requires-Dist: sre_yield; extra == "test"
17
29
  Requires-Dist: docker; extra == "test"
18
- Requires-Dist: diskcache; extra == "test"
19
- Requires-Dist: html2text; extra == "test"
20
- Requires-Dist: dask[bag]; extra == "test"
21
- Requires-Dist: transformers[sentencepiece]; extra == "test"
22
- Requires-Dist: tokenizers; extra == "test"
23
- Requires-Dist: pydantic-settings; extra == "test"
24
- Requires-Dist: deepmerge; extra == "test"
25
- Requires-Dist: pydantic; extra == "test"
26
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
27
- Requires-Dist: openai; extra == "test"
28
- Requires-Dist: contexttimer; extra == "test"
30
+ Requires-Dist: flet-webview; extra == "test"
29
31
  Requires-Dist: logfire[fastapi]; extra == "test"
30
- Requires-Dist: sre_yield; extra == "test"
31
- Requires-Dist: huggingface_hub; extra == "test"
32
32
  Requires-Dist: bokeh; extra == "test"
33
- Requires-Dist: Unidecode; extra == "test"
34
- Requires-Dist: flet-video; extra == "test"
35
- Requires-Dist: ollama; extra == "test"
33
+ Requires-Dist: pydantic; extra == "test"
34
+ Requires-Dist: pandas; extra == "test"
35
+ Requires-Dist: semver; extra == "test"
36
+ Requires-Dist: faker; extra == "test"
37
+ Requires-Dist: contexttimer; extra == "test"
38
+ Requires-Dist: pymupdf4llm; extra == "test"
39
+ Requires-Dist: pydantic-settings; extra == "test"
40
+ Requires-Dist: peft; extra == "test"
41
+ Requires-Dist: torchaudio; extra == "test"
36
42
  Requires-Dist: google-auth; extra == "test"
43
+ Requires-Dist: flet-video; extra == "test"
37
44
  Requires-Dist: tinynetrc; extra == "test"
38
- Requires-Dist: torchaudio; extra == "test"
45
+ Requires-Dist: torchvision; extra == "test"
39
46
  Requires-Dist: google-auth-oauthlib; extra == "test"
40
- Requires-Dist: openpyxl; extra == "test"
41
- Requires-Dist: tabulate; extra == "test"
42
- Requires-Dist: google-api-python-client; extra == "test"
43
- Requires-Dist: json_repair; extra == "test"
44
- Requires-Dist: google-auth-httplib2; extra == "test"
45
- Requires-Dist: uvicorn[standard]; extra == "test"
46
- Requires-Dist: flet-webview; extra == "test"
47
- Requires-Dist: flet[all]; extra == "test"
48
- Requires-Dist: pymupdf; extra == "test"
49
- Requires-Dist: fastapi; extra == "test"
50
- Requires-Dist: peft; extra == "test"
51
- Requires-Dist: pytest-cov; extra == "test"
52
- Requires-Dist: semver; extra == "test"
47
+ Requires-Dist: deepmerge; extra == "test"
53
48
  Requires-Dist: distributed; extra == "test"
49
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
50
+ Requires-Dist: ollama; extra == "test"
51
+ Requires-Dist: pymupdf; extra == "test"
52
+ Requires-Dist: html2text; extra == "test"
54
53
  Requires-Dist: sentence_transformers; extra == "test"
55
- Requires-Dist: torchvision; extra == "test"
56
- Requires-Dist: pymupdf4llm; extra == "test"
54
+ Requires-Dist: tokenizers; extra == "test"
55
+ Requires-Dist: google-api-python-client; extra == "test"
56
+ Requires-Dist: diskcache; extra == "test"
57
57
  Provides-Extra: yaml
58
58
  Requires-Dist: pyyaml; extra == "yaml"
59
59
  Provides-Extra: logging
@@ -1,12 +1,14 @@
1
+ from typing import List, Optional
2
+
1
3
  import pydantic_ai
2
4
  from pydantic_ai import RunContext
3
5
  from pydantic_ai.agent import AgentRunResult, Agent
4
6
  from pydantic_ai.models.openai import OpenAIModel
5
7
  from pydantic_ai.providers.openai import OpenAIProvider
6
- from typing import List, Optional
7
8
 
8
9
  from fmtr.tools import environment_tools as env
9
10
  from fmtr.tools.constants import Constants
11
+ from fmtr.tools.string_tools import truncate_mid
10
12
 
11
13
  pydantic_ai.Agent.instrument_all()
12
14
 
@@ -97,6 +99,14 @@ class Task:
97
99
 
98
100
  return []
99
101
 
102
+ def __repr__(self):
103
+ """
104
+
105
+ String representation of the object
106
+
107
+ """
108
+ return f'{self.__class__.__name__}({repr(truncate_mid(self.SYSTEM_PROMPT_STATIC, 100))})'
109
+
100
110
  if __name__ == '__main__':
101
111
  import asyncio
102
112
  from fmtr.tools import dm
@@ -29,6 +29,9 @@ class Constants:
29
29
  FMTR_AI_HOST_DEFAULT = 'ai.gex.fmtr.dev'
30
30
 
31
31
  FILENAME_CONFIG = 'settings.yaml'
32
- DIR_NAME_ARTIFACTS = 'artifacts'
32
+ DIR_NAME_REPO = 'repo'
33
+ DIR_NAME_DATA = 'data'
34
+ DIR_NAME_ARTIFACT = 'artifact'
35
+ DIR_NAME_SOURCE = 'source'
33
36
  FILENAME_VERSION = 'version'
34
37
  DIR_NAME_HF = 'hf'
@@ -145,6 +145,15 @@ class Path(type(Path())):
145
145
  """
146
146
  return self.mkdir(parents=True, exist_ok=True)
147
147
 
148
+ @property
149
+ def exist(self):
150
+ """
151
+
152
+ Exists as property
153
+
154
+ """
155
+ return super().exists()
156
+
148
157
 
149
158
  class PackagePaths:
150
159
  """
@@ -153,7 +162,10 @@ class PackagePaths:
153
162
 
154
163
  """
155
164
 
156
- def __init__(self, path=None, org_singleton=None, dir_name_artifacts=Constants.DIR_NAME_ARTIFACTS, filename_config=Constants.FILENAME_CONFIG, file_version=Constants.FILENAME_VERSION):
165
+ dev = Path('/') / 'opt' / 'dev'
166
+ data_global = dev / Constants.DIR_NAME_DATA
167
+
168
+ def __init__(self, path=None, org_singleton=None, dir_name_data=Constants.DIR_NAME_DATA, filename_config=Constants.FILENAME_CONFIG, file_version=Constants.FILENAME_VERSION):
157
169
 
158
170
  """
159
171
 
@@ -166,10 +178,19 @@ class PackagePaths:
166
178
 
167
179
  self.path = Path(path)
168
180
  self.org_singleton = org_singleton
169
- self.dir_name_artifacts = dir_name_artifacts
181
+ self.dir_name_data = dir_name_data
170
182
  self.filename_config = filename_config
171
183
  self.filename_version = file_version
172
184
 
185
+ @property
186
+ def is_dev(self) -> bool:
187
+ """
188
+
189
+ Is the package in the dev directory - as opposed to `site-packages` etc?
190
+
191
+ """
192
+ return self.path.is_relative_to(self.dev)
193
+
173
194
  @property
174
195
  def is_namespace(self) -> bool:
175
196
  """
@@ -188,6 +209,19 @@ class PackagePaths:
188
209
  """
189
210
  return self.path.stem
190
211
 
212
+ @property
213
+ def name_ns(self) -> str:
214
+ """
215
+
216
+ Name of namespace package.
217
+
218
+ """
219
+
220
+ if self.is_namespace:
221
+ return f'{self.org}.{self.name}'
222
+ else:
223
+ return self.name
224
+
191
225
  @property
192
226
  def org(self) -> str:
193
227
  """
@@ -222,20 +256,36 @@ class PackagePaths:
222
256
  return self.path / self.filename_version
223
257
 
224
258
  @property
225
- def artifacts(self) -> Path:
259
+ def data(self) -> Path:
226
260
  """
227
261
 
228
- Path of artifacts directory.
262
+ Path of project-specific data directory.
229
263
 
230
264
  """
231
265
 
232
- from fmtr.tools import env
233
- if env.IS_DEBUG:
234
- path = self.repo / self.dir_name_artifacts
235
- else:
236
- path = Path('/') / self.dir_name_artifacts
266
+ return self.dev / Constants.DIR_NAME_REPO / self.name_ns / self.dir_name_data
267
+
268
+ @property
269
+ def artifact(self) -> Path:
270
+ """
271
+
272
+ Path of project-specific artifact directory
273
+
274
+ """
275
+
276
+ return self.data / Constants.DIR_NAME_ARTIFACT
277
+
278
+ @property
279
+ def source(self) -> Path:
280
+ """
281
+
282
+ Path of project-specific source directory
283
+
284
+ """
285
+
286
+ return self.data / Constants.DIR_NAME_SOURCE
287
+
237
288
 
238
- return path
239
289
 
240
290
  @property
241
291
  def settings(self) -> Path:
@@ -244,7 +294,7 @@ class PackagePaths:
244
294
  Path of settings file.
245
295
 
246
296
  """
247
- return self.artifacts / self.filename_config
297
+ return self.data / self.filename_config
248
298
 
249
299
  @property
250
300
  def hf(self) -> Path:
@@ -253,7 +303,7 @@ class PackagePaths:
253
303
  Path of HuggingFace directory
254
304
 
255
305
  """
256
- return self.artifacts / Constants.DIR_NAME_HF
306
+ return self.artifact / Constants.DIR_NAME_HF
257
307
 
258
308
  def __repr__(self) -> str:
259
309
  """
@@ -262,3 +312,8 @@ class PackagePaths:
262
312
 
263
313
  """
264
314
  return f'{self.__class__.__name__}("{self.path}")'
315
+
316
+
317
+ if __name__ == "__main__":
318
+ paths = PackagePaths()
319
+ paths
@@ -0,0 +1 @@
1
+ 1.1.9
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.7
3
+ Version: 1.1.9
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: json_repair; extra == "test"
13
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
14
+ Requires-Dist: pytest-cov; extra == "test"
15
+ Requires-Dist: openai; extra == "test"
16
+ Requires-Dist: tabulate; extra == "test"
17
+ Requires-Dist: google-auth-httplib2; extra == "test"
18
+ Requires-Dist: openpyxl; extra == "test"
19
+ Requires-Dist: fastapi; extra == "test"
20
+ Requires-Dist: Unidecode; extra == "test"
21
+ Requires-Dist: flet[all]; extra == "test"
22
+ Requires-Dist: dask[bag]; extra == "test"
23
+ Requires-Dist: uvicorn[standard]; extra == "test"
12
24
  Requires-Dist: pydevd-pycharm; extra == "test"
13
- Requires-Dist: pyyaml; extra == "test"
14
- Requires-Dist: faker; extra == "test"
15
- Requires-Dist: pandas; extra == "test"
25
+ Requires-Dist: huggingface_hub; extra == "test"
16
26
  Requires-Dist: logfire; extra == "test"
27
+ Requires-Dist: pyyaml; extra == "test"
28
+ Requires-Dist: sre_yield; extra == "test"
17
29
  Requires-Dist: docker; extra == "test"
18
- Requires-Dist: diskcache; extra == "test"
19
- Requires-Dist: html2text; extra == "test"
20
- Requires-Dist: dask[bag]; extra == "test"
21
- Requires-Dist: transformers[sentencepiece]; extra == "test"
22
- Requires-Dist: tokenizers; extra == "test"
23
- Requires-Dist: pydantic-settings; extra == "test"
24
- Requires-Dist: deepmerge; extra == "test"
25
- Requires-Dist: pydantic; extra == "test"
26
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
27
- Requires-Dist: openai; extra == "test"
28
- Requires-Dist: contexttimer; extra == "test"
30
+ Requires-Dist: flet-webview; extra == "test"
29
31
  Requires-Dist: logfire[fastapi]; extra == "test"
30
- Requires-Dist: sre_yield; extra == "test"
31
- Requires-Dist: huggingface_hub; extra == "test"
32
32
  Requires-Dist: bokeh; extra == "test"
33
- Requires-Dist: Unidecode; extra == "test"
34
- Requires-Dist: flet-video; extra == "test"
35
- Requires-Dist: ollama; extra == "test"
33
+ Requires-Dist: pydantic; extra == "test"
34
+ Requires-Dist: pandas; extra == "test"
35
+ Requires-Dist: semver; extra == "test"
36
+ Requires-Dist: faker; extra == "test"
37
+ Requires-Dist: contexttimer; extra == "test"
38
+ Requires-Dist: pymupdf4llm; extra == "test"
39
+ Requires-Dist: pydantic-settings; extra == "test"
40
+ Requires-Dist: peft; extra == "test"
41
+ Requires-Dist: torchaudio; extra == "test"
36
42
  Requires-Dist: google-auth; extra == "test"
43
+ Requires-Dist: flet-video; extra == "test"
37
44
  Requires-Dist: tinynetrc; extra == "test"
38
- Requires-Dist: torchaudio; extra == "test"
45
+ Requires-Dist: torchvision; extra == "test"
39
46
  Requires-Dist: google-auth-oauthlib; extra == "test"
40
- Requires-Dist: openpyxl; extra == "test"
41
- Requires-Dist: tabulate; extra == "test"
42
- Requires-Dist: google-api-python-client; extra == "test"
43
- Requires-Dist: json_repair; extra == "test"
44
- Requires-Dist: google-auth-httplib2; extra == "test"
45
- Requires-Dist: uvicorn[standard]; extra == "test"
46
- Requires-Dist: flet-webview; extra == "test"
47
- Requires-Dist: flet[all]; extra == "test"
48
- Requires-Dist: pymupdf; extra == "test"
49
- Requires-Dist: fastapi; extra == "test"
50
- Requires-Dist: peft; extra == "test"
51
- Requires-Dist: pytest-cov; extra == "test"
52
- Requires-Dist: semver; extra == "test"
47
+ Requires-Dist: deepmerge; extra == "test"
53
48
  Requires-Dist: distributed; extra == "test"
49
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
50
+ Requires-Dist: ollama; extra == "test"
51
+ Requires-Dist: pymupdf; extra == "test"
52
+ Requires-Dist: html2text; extra == "test"
54
53
  Requires-Dist: sentence_transformers; extra == "test"
55
- Requires-Dist: torchvision; extra == "test"
56
- Requires-Dist: pymupdf4llm; extra == "test"
54
+ Requires-Dist: tokenizers; extra == "test"
55
+ Requires-Dist: google-api-python-client; extra == "test"
56
+ Requires-Dist: diskcache; 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.7
File without changes
File without changes
@@ -113,51 +113,51 @@ tabulate
113
113
  openpyxl
114
114
 
115
115
  [test]
116
+ json_repair
117
+ pydantic-ai[logfire,openai]
118
+ pytest-cov
119
+ openai
120
+ tabulate
121
+ google-auth-httplib2
122
+ openpyxl
123
+ fastapi
124
+ Unidecode
125
+ flet[all]
126
+ dask[bag]
127
+ uvicorn[standard]
116
128
  pydevd-pycharm
117
- pyyaml
118
- faker
119
- pandas
129
+ huggingface_hub
120
130
  logfire
131
+ pyyaml
132
+ sre_yield
121
133
  docker
122
- diskcache
123
- html2text
124
- dask[bag]
125
- transformers[sentencepiece]
126
- tokenizers
127
- pydantic-settings
128
- deepmerge
129
- pydantic
130
- pydantic-ai[logfire,openai]
131
- openai
132
- contexttimer
134
+ flet-webview
133
135
  logfire[fastapi]
134
- sre_yield
135
- huggingface_hub
136
136
  bokeh
137
- Unidecode
138
- flet-video
139
- ollama
137
+ pydantic
138
+ pandas
139
+ semver
140
+ faker
141
+ contexttimer
142
+ pymupdf4llm
143
+ pydantic-settings
144
+ peft
145
+ torchaudio
140
146
  google-auth
147
+ flet-video
141
148
  tinynetrc
142
- torchaudio
149
+ torchvision
143
150
  google-auth-oauthlib
144
- openpyxl
145
- tabulate
146
- google-api-python-client
147
- json_repair
148
- google-auth-httplib2
149
- uvicorn[standard]
150
- flet-webview
151
- flet[all]
152
- pymupdf
153
- fastapi
154
- peft
155
- pytest-cov
156
- semver
151
+ deepmerge
157
152
  distributed
153
+ transformers[sentencepiece]
154
+ ollama
155
+ pymupdf
156
+ html2text
158
157
  sentence_transformers
159
- torchvision
160
- pymupdf4llm
158
+ tokenizers
159
+ google-api-python-client
160
+ diskcache
161
161
 
162
162
  [tokenization]
163
163
  tokenizers
File without changes
File without changes