fmtr.tools 1.3.31__tar.gz → 1.3.33__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 (95) hide show
  1. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/PKG-INFO +44 -44
  2. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/ai_tools/agentic_tools.py +8 -0
  3. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/function_tools.py +27 -9
  4. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/interface_tools/interface_tools.py +12 -4
  5. fmtr_tools-1.3.33/fmtr/tools/version +1 -0
  6. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr.tools.egg-info/PKG-INFO +44 -44
  7. fmtr_tools-1.3.31/fmtr/tools/version +0 -1
  8. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/LICENSE +0 -0
  9. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/README.md +0 -0
  10. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/__init__.py +0 -0
  11. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/ai_tools/__init__.py +0 -0
  12. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  13. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/api_tools.py +0 -0
  14. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/async_tools.py +0 -0
  15. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/augmentation_tools.py +0 -0
  16. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/caching_tools.py +0 -0
  17. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/constants.py +0 -0
  18. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/context_tools.py +0 -0
  19. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/data_modelling_tools.py +0 -0
  20. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/dataclass_tools.py +0 -0
  21. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/datatype_tools.py +0 -0
  22. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/debugging_tools.py +0 -0
  23. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/dns_tools/__init__.py +0 -0
  24. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/dns_tools/client.py +0 -0
  25. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/dns_tools/dm.py +0 -0
  26. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/dns_tools/proxy.py +0 -0
  27. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/dns_tools/server.py +0 -0
  28. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/docker_tools.py +0 -0
  29. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/entrypoints/__init__.py +0 -0
  30. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  31. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/entrypoints/ep_test.py +0 -0
  32. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
  33. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  34. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  35. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/environment_tools.py +0 -0
  36. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/google_api_tools.py +0 -0
  37. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/hash_tools.py +0 -0
  38. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/hfh_tools.py +0 -0
  39. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/html_tools.py +0 -0
  40. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/http_tools.py +0 -0
  41. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/import_tools.py +0 -0
  42. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/inherit_tools.py +0 -0
  43. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/inspection_tools.py +0 -0
  44. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/interface_tools/__init__.py +0 -0
  45. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/interface_tools/controls.py +0 -0
  46. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/iterator_tools.py +0 -0
  47. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/json_fix_tools.py +0 -0
  48. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/json_tools.py +0 -0
  49. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/logging_tools.py +0 -0
  50. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/merging_tools.py +0 -0
  51. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/metric_tools.py +0 -0
  52. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/name_tools.py +0 -0
  53. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/netrc_tools.py +0 -0
  54. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/openai_tools.py +0 -0
  55. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/packaging_tools.py +0 -0
  56. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/parallel_tools.py +0 -0
  57. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/path_tools/__init__.py +0 -0
  58. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  59. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/path_tools/path_tools.py +0 -0
  60. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  61. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/pattern_tools.py +0 -0
  62. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/pdf_tools.py +0 -0
  63. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/platform_tools.py +0 -0
  64. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/process_tools.py +0 -0
  65. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/profiling_tools.py +0 -0
  66. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/random_tools.py +0 -0
  67. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/semantic_tools.py +0 -0
  68. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/settings_tools.py +0 -0
  69. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/setup_tools/__init__.py +0 -0
  70. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  71. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/spaces_tools.py +0 -0
  72. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/string_tools.py +0 -0
  73. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tabular_tools.py +0 -0
  74. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/__init__.py +0 -0
  75. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/conftest.py +0 -0
  76. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/helpers.py +0 -0
  77. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/test_datatype.py +0 -0
  78. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/test_environment.py +0 -0
  79. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/test_json.py +0 -0
  80. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/test_path.py +0 -0
  81. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tests/test_yaml.py +0 -0
  82. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tokenization_tools.py +0 -0
  83. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/tools.py +0 -0
  84. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/unicode_tools.py +0 -0
  85. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/version_tools/__init__.py +0 -0
  86. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/version_tools/version_tools.py +0 -0
  87. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr/tools/yaml_tools.py +0 -0
  88. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  89. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  90. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr.tools.egg-info/entry_points.txt +0 -0
  91. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr.tools.egg-info/requires.txt +43 -43
  92. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/fmtr.tools.egg-info/top_level.txt +0 -0
  93. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/pyproject.toml +0 -0
  94. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/setup.cfg +0 -0
  95. {fmtr_tools-1.3.31 → fmtr_tools-1.3.33}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.31
3
+ Version: 1.3.33
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
@@ -126,61 +126,61 @@ Requires-Dist: logfire[httpx]; extra == "http"
126
126
  Provides-Extra: setup
127
127
  Requires-Dist: setuptools; extra == "setup"
128
128
  Provides-Extra: all
129
- Requires-Dist: fastapi; extra == "all"
130
- Requires-Dist: torchvision; extra == "all"
131
- Requires-Dist: docker; extra == "all"
132
- Requires-Dist: tokenizers; extra == "all"
133
- Requires-Dist: bokeh; extra == "all"
134
- Requires-Dist: distributed; extra == "all"
135
- Requires-Dist: contexttimer; extra == "all"
136
- Requires-Dist: logfire[fastapi]; extra == "all"
137
- Requires-Dist: openpyxl; extra == "all"
138
- Requires-Dist: google-auth; extra == "all"
139
- Requires-Dist: dask[bag]; extra == "all"
140
- Requires-Dist: appdirs; extra == "all"
141
- Requires-Dist: flet-video; extra == "all"
142
- Requires-Dist: yamlscript; extra == "all"
143
- Requires-Dist: sre_yield; extra == "all"
144
- Requires-Dist: pytest-cov; extra == "all"
129
+ Requires-Dist: tinynetrc; extra == "all"
145
130
  Requires-Dist: deepmerge; extra == "all"
146
- Requires-Dist: Unidecode; extra == "all"
147
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
131
+ Requires-Dist: pyyaml; extra == "all"
148
132
  Requires-Dist: flet-webview; extra == "all"
149
- Requires-Dist: uvicorn[standard]; extra == "all"
150
- Requires-Dist: faker; extra == "all"
151
- Requires-Dist: transformers[sentencepiece]; extra == "all"
152
- Requires-Dist: flet[all]; extra == "all"
153
- Requires-Dist: semver; extra == "all"
154
- Requires-Dist: sentence_transformers; extra == "all"
133
+ Requires-Dist: pydantic; extra == "all"
155
134
  Requires-Dist: google-api-python-client; extra == "all"
156
- Requires-Dist: pandas; extra == "all"
157
- Requires-Dist: openai; extra == "all"
158
- Requires-Dist: logfire; extra == "all"
159
- Requires-Dist: huggingface_hub; extra == "all"
160
- Requires-Dist: regex; extra == "all"
161
- Requires-Dist: pymupdf; extra == "all"
135
+ Requires-Dist: dnspython[doh]; extra == "all"
136
+ Requires-Dist: sentence_transformers; extra == "all"
162
137
  Requires-Dist: google-auth-httplib2; extra == "all"
163
- Requires-Dist: setuptools; extra == "all"
164
- Requires-Dist: google-auth-oauthlib; extra == "all"
165
- Requires-Dist: pydantic-settings; extra == "all"
166
- Requires-Dist: pyyaml; extra == "all"
167
- Requires-Dist: pydantic; extra == "all"
138
+ Requires-Dist: regex; extra == "all"
139
+ Requires-Dist: semver; extra == "all"
168
140
  Requires-Dist: httpx_retries; extra == "all"
141
+ Requires-Dist: flet-video; extra == "all"
142
+ Requires-Dist: distributed; extra == "all"
169
143
  Requires-Dist: html2text; extra == "all"
170
- Requires-Dist: ollama; extra == "all"
171
- Requires-Dist: dnspython[doh]; extra == "all"
172
- Requires-Dist: tinynetrc; extra == "all"
144
+ Requires-Dist: google-auth-oauthlib; extra == "all"
173
145
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
174
- Requires-Dist: filetype; extra == "all"
146
+ Requires-Dist: Unidecode; extra == "all"
147
+ Requires-Dist: dask[bag]; extra == "all"
148
+ Requires-Dist: pydantic-settings; extra == "all"
149
+ Requires-Dist: bokeh; extra == "all"
150
+ Requires-Dist: pytest-cov; extra == "all"
151
+ Requires-Dist: pymupdf; extra == "all"
152
+ Requires-Dist: tokenizers; extra == "all"
153
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
154
+ Requires-Dist: openpyxl; extra == "all"
155
+ Requires-Dist: google-auth; extra == "all"
156
+ Requires-Dist: openai; extra == "all"
175
157
  Requires-Dist: logfire[httpx]; extra == "all"
176
- Requires-Dist: cachetools; extra == "all"
158
+ Requires-Dist: torchaudio; extra == "all"
159
+ Requires-Dist: yamlscript; extra == "all"
160
+ Requires-Dist: logfire[fastapi]; extra == "all"
161
+ Requires-Dist: appdirs; extra == "all"
162
+ Requires-Dist: contexttimer; extra == "all"
163
+ Requires-Dist: ollama; extra == "all"
164
+ Requires-Dist: logfire; extra == "all"
165
+ Requires-Dist: json_repair; extra == "all"
177
166
  Requires-Dist: tabulate; extra == "all"
167
+ Requires-Dist: filetype; extra == "all"
168
+ Requires-Dist: setuptools; extra == "all"
169
+ Requires-Dist: uvicorn[standard]; extra == "all"
170
+ Requires-Dist: docker; extra == "all"
171
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
172
+ Requires-Dist: flet[all]; extra == "all"
173
+ Requires-Dist: httpx; extra == "all"
178
174
  Requires-Dist: peft; extra == "all"
179
175
  Requires-Dist: diskcache; extra == "all"
180
- Requires-Dist: httpx; extra == "all"
181
- Requires-Dist: json_repair; extra == "all"
182
- Requires-Dist: torchaudio; extra == "all"
176
+ Requires-Dist: torchvision; extra == "all"
177
+ Requires-Dist: huggingface_hub; extra == "all"
178
+ Requires-Dist: faker; extra == "all"
179
+ Requires-Dist: cachetools; extra == "all"
183
180
  Requires-Dist: pymupdf4llm; extra == "all"
181
+ Requires-Dist: sre_yield; extra == "all"
182
+ Requires-Dist: pandas; extra == "all"
183
+ Requires-Dist: fastapi; extra == "all"
184
184
  Dynamic: author
185
185
  Dynamic: author-email
186
186
  Dynamic: description
@@ -125,6 +125,14 @@ class Task:
125
125
 
126
126
  return []
127
127
 
128
+ def reset(self):
129
+ """
130
+
131
+ Reset the task by deleting its history.
132
+
133
+ """
134
+ self.history = []
135
+
128
136
  def __repr__(self):
129
137
  """
130
138
 
@@ -1,6 +1,6 @@
1
1
  import functools
2
2
  import inspect
3
- from typing import Tuple
3
+ from typing import Tuple, Callable, Self
4
4
 
5
5
  from fmtr.tools import context_tools
6
6
 
@@ -35,25 +35,43 @@ def split_args_kwargs(args_kwargs: dict) -> Tuple[list, dict]:
35
35
  return args, kwargs
36
36
 
37
37
 
38
- class BoundDecorator:
38
+ class MethodDecorator:
39
39
  """
40
40
 
41
41
  Bound method decorator with overridable start/stop and context manager
42
42
 
43
43
  """
44
44
 
45
- def __init__(self, func):
45
+ CONTEXT_KEY = 'context'
46
+
47
+ def __init__(self):
48
+ """
49
+
50
+ Initialise with decorator arguments
51
+
52
+ """
53
+ self.func = None
54
+
55
+ def __call__(self, func: Callable) -> Self:
56
+ """
57
+
58
+ If called, arguments were provided, so return the object with those applied.
59
+
60
+ """
46
61
  self.func = func
47
- self.context_null = context_tools.null()
48
62
  functools.update_wrapper(self, func)
63
+ return self
49
64
 
50
65
  def get_context(self, instance):
51
66
  """
52
67
 
53
- By default use a null context.
68
+ If the instance has a context attribute, use that - otherwise use a null context.
54
69
 
55
70
  """
56
- return self.context_null
71
+ context = getattr(instance, self.CONTEXT_KEY, None)
72
+ if context:
73
+ return context
74
+ return context_tools.null()
57
75
 
58
76
  def __get__(self, instance, owner):
59
77
  """
@@ -61,7 +79,7 @@ class BoundDecorator:
61
79
  Wrap at runtime, call start/stop within context.
62
80
 
63
81
  """
64
- if instance is None:
82
+ if instance is None: # Class method called.
65
83
  return self.func
66
84
 
67
85
  if inspect.iscoroutinefunction(self.func):
@@ -72,7 +90,7 @@ class BoundDecorator:
72
90
  self.stop(instance)
73
91
  return result
74
92
 
75
- return functools.update_wrapper(async_wrapper, self.func)
93
+ return async_wrapper
76
94
 
77
95
  else:
78
96
  def sync_wrapper(*args, **kwargs):
@@ -82,7 +100,7 @@ class BoundDecorator:
82
100
  self.stop(instance)
83
101
  return result
84
102
 
85
- return functools.update_wrapper(sync_wrapper, self.func)
103
+ return sync_wrapper
86
104
 
87
105
  def start(self, instance):
88
106
  pass
@@ -4,11 +4,11 @@ from flet.core.view import View
4
4
 
5
5
  from fmtr.tools import environment_tools
6
6
  from fmtr.tools.constants import Constants
7
- from fmtr.tools.function_tools import BoundDecorator
7
+ from fmtr.tools.function_tools import MethodDecorator
8
8
  from fmtr.tools.logging_tools import logger
9
9
 
10
10
 
11
- class update(BoundDecorator):
11
+ class update(MethodDecorator):
12
12
  """
13
13
 
14
14
  Update the page after the decorated function is called.
@@ -48,7 +48,7 @@ class progress(update):
48
48
 
49
49
  Make progress not visible and update.
50
50
 
51
- """
51
+ """
52
52
  instance.progress.visible = False
53
53
  super().stop(instance)
54
54
 
@@ -68,6 +68,15 @@ class Interface(ft.Column):
68
68
  APPVIEW = AppView.WEB_BROWSER
69
69
  PATH_ASSETS = None
70
70
  ROUTE_ROOT = '/'
71
+ SCROLL = ft.ScrollMode.AUTO
72
+
73
+ def __init__(self, *args, **kwargs):
74
+ """
75
+
76
+ Instantiate and apply interface config
77
+
78
+ """
79
+ super().__init__(*args, **kwargs, scroll=self.SCROLL)
71
80
 
72
81
  @classmethod
73
82
  def render(cls, page: ft.Page):
@@ -80,7 +89,6 @@ class Interface(ft.Column):
80
89
  page.theme = cls.get_theme()
81
90
  page.views.clear()
82
91
  page.views.append(cls())
83
-
84
92
  page.on_route_change = cls.route
85
93
  page.on_view_pop = cls.pop
86
94
 
@@ -0,0 +1 @@
1
+ 1.3.33
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.31
3
+ Version: 1.3.33
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
@@ -126,61 +126,61 @@ Requires-Dist: logfire[httpx]; extra == "http"
126
126
  Provides-Extra: setup
127
127
  Requires-Dist: setuptools; extra == "setup"
128
128
  Provides-Extra: all
129
- Requires-Dist: fastapi; extra == "all"
130
- Requires-Dist: torchvision; extra == "all"
131
- Requires-Dist: docker; extra == "all"
132
- Requires-Dist: tokenizers; extra == "all"
133
- Requires-Dist: bokeh; extra == "all"
134
- Requires-Dist: distributed; extra == "all"
135
- Requires-Dist: contexttimer; extra == "all"
136
- Requires-Dist: logfire[fastapi]; extra == "all"
137
- Requires-Dist: openpyxl; extra == "all"
138
- Requires-Dist: google-auth; extra == "all"
139
- Requires-Dist: dask[bag]; extra == "all"
140
- Requires-Dist: appdirs; extra == "all"
141
- Requires-Dist: flet-video; extra == "all"
142
- Requires-Dist: yamlscript; extra == "all"
143
- Requires-Dist: sre_yield; extra == "all"
144
- Requires-Dist: pytest-cov; extra == "all"
129
+ Requires-Dist: tinynetrc; extra == "all"
145
130
  Requires-Dist: deepmerge; extra == "all"
146
- Requires-Dist: Unidecode; extra == "all"
147
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
131
+ Requires-Dist: pyyaml; extra == "all"
148
132
  Requires-Dist: flet-webview; extra == "all"
149
- Requires-Dist: uvicorn[standard]; extra == "all"
150
- Requires-Dist: faker; extra == "all"
151
- Requires-Dist: transformers[sentencepiece]; extra == "all"
152
- Requires-Dist: flet[all]; extra == "all"
153
- Requires-Dist: semver; extra == "all"
154
- Requires-Dist: sentence_transformers; extra == "all"
133
+ Requires-Dist: pydantic; extra == "all"
155
134
  Requires-Dist: google-api-python-client; extra == "all"
156
- Requires-Dist: pandas; extra == "all"
157
- Requires-Dist: openai; extra == "all"
158
- Requires-Dist: logfire; extra == "all"
159
- Requires-Dist: huggingface_hub; extra == "all"
160
- Requires-Dist: regex; extra == "all"
161
- Requires-Dist: pymupdf; extra == "all"
135
+ Requires-Dist: dnspython[doh]; extra == "all"
136
+ Requires-Dist: sentence_transformers; extra == "all"
162
137
  Requires-Dist: google-auth-httplib2; extra == "all"
163
- Requires-Dist: setuptools; extra == "all"
164
- Requires-Dist: google-auth-oauthlib; extra == "all"
165
- Requires-Dist: pydantic-settings; extra == "all"
166
- Requires-Dist: pyyaml; extra == "all"
167
- Requires-Dist: pydantic; extra == "all"
138
+ Requires-Dist: regex; extra == "all"
139
+ Requires-Dist: semver; extra == "all"
168
140
  Requires-Dist: httpx_retries; extra == "all"
141
+ Requires-Dist: flet-video; extra == "all"
142
+ Requires-Dist: distributed; extra == "all"
169
143
  Requires-Dist: html2text; extra == "all"
170
- Requires-Dist: ollama; extra == "all"
171
- Requires-Dist: dnspython[doh]; extra == "all"
172
- Requires-Dist: tinynetrc; extra == "all"
144
+ Requires-Dist: google-auth-oauthlib; extra == "all"
173
145
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
174
- Requires-Dist: filetype; extra == "all"
146
+ Requires-Dist: Unidecode; extra == "all"
147
+ Requires-Dist: dask[bag]; extra == "all"
148
+ Requires-Dist: pydantic-settings; extra == "all"
149
+ Requires-Dist: bokeh; extra == "all"
150
+ Requires-Dist: pytest-cov; extra == "all"
151
+ Requires-Dist: pymupdf; extra == "all"
152
+ Requires-Dist: tokenizers; extra == "all"
153
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
154
+ Requires-Dist: openpyxl; extra == "all"
155
+ Requires-Dist: google-auth; extra == "all"
156
+ Requires-Dist: openai; extra == "all"
175
157
  Requires-Dist: logfire[httpx]; extra == "all"
176
- Requires-Dist: cachetools; extra == "all"
158
+ Requires-Dist: torchaudio; extra == "all"
159
+ Requires-Dist: yamlscript; extra == "all"
160
+ Requires-Dist: logfire[fastapi]; extra == "all"
161
+ Requires-Dist: appdirs; extra == "all"
162
+ Requires-Dist: contexttimer; extra == "all"
163
+ Requires-Dist: ollama; extra == "all"
164
+ Requires-Dist: logfire; extra == "all"
165
+ Requires-Dist: json_repair; extra == "all"
177
166
  Requires-Dist: tabulate; extra == "all"
167
+ Requires-Dist: filetype; extra == "all"
168
+ Requires-Dist: setuptools; extra == "all"
169
+ Requires-Dist: uvicorn[standard]; extra == "all"
170
+ Requires-Dist: docker; extra == "all"
171
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
172
+ Requires-Dist: flet[all]; extra == "all"
173
+ Requires-Dist: httpx; extra == "all"
178
174
  Requires-Dist: peft; extra == "all"
179
175
  Requires-Dist: diskcache; extra == "all"
180
- Requires-Dist: httpx; extra == "all"
181
- Requires-Dist: json_repair; extra == "all"
182
- Requires-Dist: torchaudio; extra == "all"
176
+ Requires-Dist: torchvision; extra == "all"
177
+ Requires-Dist: huggingface_hub; extra == "all"
178
+ Requires-Dist: faker; extra == "all"
179
+ Requires-Dist: cachetools; extra == "all"
183
180
  Requires-Dist: pymupdf4llm; extra == "all"
181
+ Requires-Dist: sre_yield; extra == "all"
182
+ Requires-Dist: pandas; extra == "all"
183
+ Requires-Dist: fastapi; extra == "all"
184
184
  Dynamic: author
185
185
  Dynamic: author-email
186
186
  Dynamic: description
@@ -1 +0,0 @@
1
- 1.3.31
File without changes
File without changes
@@ -14,61 +14,61 @@ pydantic-ai[logfire,openai]
14
14
  ollama
15
15
 
16
16
  [all]
17
- fastapi
18
- torchvision
19
- docker
20
- tokenizers
21
- bokeh
22
- distributed
23
- contexttimer
24
- logfire[fastapi]
25
- openpyxl
26
- google-auth
27
- dask[bag]
28
- appdirs
29
- flet-video
30
- yamlscript
31
- sre_yield
32
- pytest-cov
17
+ tinynetrc
33
18
  deepmerge
34
- Unidecode
35
- pydantic-ai[logfire,openai]
19
+ pyyaml
36
20
  flet-webview
37
- uvicorn[standard]
38
- faker
39
- transformers[sentencepiece]
40
- flet[all]
41
- semver
42
- sentence_transformers
21
+ pydantic
43
22
  google-api-python-client
44
- pandas
45
- openai
46
- logfire
47
- huggingface_hub
48
- regex
49
- pymupdf
23
+ dnspython[doh]
24
+ sentence_transformers
50
25
  google-auth-httplib2
51
- setuptools
52
- google-auth-oauthlib
53
- pydantic-settings
54
- pyyaml
55
- pydantic
26
+ regex
27
+ semver
56
28
  httpx_retries
29
+ flet-video
30
+ distributed
57
31
  html2text
58
- ollama
59
- dnspython[doh]
60
- tinynetrc
32
+ google-auth-oauthlib
61
33
  pydevd-pycharm~=251.25410.159
62
- filetype
34
+ Unidecode
35
+ dask[bag]
36
+ pydantic-settings
37
+ bokeh
38
+ pytest-cov
39
+ pymupdf
40
+ tokenizers
41
+ transformers[sentencepiece]
42
+ openpyxl
43
+ google-auth
44
+ openai
63
45
  logfire[httpx]
64
- cachetools
46
+ torchaudio
47
+ yamlscript
48
+ logfire[fastapi]
49
+ appdirs
50
+ contexttimer
51
+ ollama
52
+ logfire
53
+ json_repair
65
54
  tabulate
55
+ filetype
56
+ setuptools
57
+ uvicorn[standard]
58
+ docker
59
+ pydantic-ai[logfire,openai]
60
+ flet[all]
61
+ httpx
66
62
  peft
67
63
  diskcache
68
- httpx
69
- json_repair
70
- torchaudio
64
+ torchvision
65
+ huggingface_hub
66
+ faker
67
+ cachetools
71
68
  pymupdf4llm
69
+ sre_yield
70
+ pandas
71
+ fastapi
72
72
 
73
73
  [api]
74
74
  fastapi
File without changes
File without changes
File without changes