fmtr.tools 1.3.62__tar.gz → 1.3.63__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 (100) hide show
  1. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/PKG-INFO +47 -47
  2. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/string_tools.py +21 -5
  3. fmtr_tools-1.3.63/fmtr/tools/version +1 -0
  4. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr.tools.egg-info/PKG-INFO +47 -47
  5. fmtr_tools-1.3.62/fmtr/tools/version +0 -1
  6. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/LICENSE +0 -0
  7. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/README.md +0 -0
  8. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/__init__.py +0 -0
  9. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/ai_tools/__init__.py +0 -0
  10. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  11. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  12. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/api_tools.py +0 -0
  13. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/async_tools.py +0 -0
  14. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/augmentation_tools.py +0 -0
  15. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/caching_tools.py +0 -0
  16. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/constants.py +0 -0
  17. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/context_tools.py +0 -0
  18. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/database_tools/__init__.py +0 -0
  20. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/database_tools/document.py +0 -0
  21. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/dataclass_tools.py +0 -0
  22. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/datatype_tools.py +0 -0
  23. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/datetime_tools.py +0 -0
  24. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/debugging_tools.py +0 -0
  25. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/dns_tools/__init__.py +0 -0
  26. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/dns_tools/client.py +0 -0
  27. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/dns_tools/dm.py +0 -0
  28. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/dns_tools/proxy.py +0 -0
  29. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/dns_tools/server.py +0 -0
  30. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/docker_tools/__init__.py +0 -0
  31. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/entrypoints/__init__.py +0 -0
  32. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  33. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/entrypoints/ep_test.py +0 -0
  34. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
  35. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  36. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  37. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/environment_tools.py +0 -0
  38. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/function_tools.py +0 -0
  39. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/google_api_tools.py +0 -0
  40. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/hash_tools.py +0 -0
  41. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/hfh_tools.py +0 -0
  42. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/html_tools.py +0 -0
  43. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/http_tools.py +0 -0
  44. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/import_tools.py +0 -0
  45. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/inherit_tools.py +0 -0
  46. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/inspection_tools.py +0 -0
  47. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/interface_tools/__init__.py +0 -0
  48. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/interface_tools/context.py +0 -0
  49. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/interface_tools/controls.py +0 -0
  50. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/interface_tools/interface_tools.py +0 -0
  51. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/iterator_tools.py +0 -0
  52. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/json_fix_tools.py +0 -0
  53. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/json_tools.py +0 -0
  54. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/logging_tools.py +0 -0
  55. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/merging_tools.py +0 -0
  56. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/metric_tools.py +0 -0
  57. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/name_tools.py +0 -0
  58. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/netrc_tools.py +0 -0
  59. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/openai_tools.py +0 -0
  60. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/packaging_tools.py +0 -0
  61. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/parallel_tools.py +0 -0
  62. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/path_tools/__init__.py +0 -0
  63. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  64. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/path_tools/path_tools.py +0 -0
  65. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  66. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/pattern_tools.py +0 -0
  67. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/pdf_tools.py +0 -0
  68. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/platform_tools.py +0 -0
  69. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/process_tools.py +0 -0
  70. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/profiling_tools.py +0 -0
  71. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/random_tools.py +0 -0
  72. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/semantic_tools.py +0 -0
  73. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/settings_tools.py +0 -0
  74. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/setup_tools/__init__.py +0 -0
  75. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  76. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/spaces_tools.py +0 -0
  77. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tabular_tools.py +0 -0
  78. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/__init__.py +0 -0
  79. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/conftest.py +0 -0
  80. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/helpers.py +0 -0
  81. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/test_datatype.py +0 -0
  82. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/test_environment.py +0 -0
  83. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/test_json.py +0 -0
  84. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/test_path.py +0 -0
  85. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tests/test_yaml.py +0 -0
  86. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tokenization_tools.py +0 -0
  87. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/tools.py +0 -0
  88. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/unicode_tools.py +0 -0
  89. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/version_tools/__init__.py +0 -0
  90. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/version_tools/version_tools.py +0 -0
  91. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/webhook_tools.py +0 -0
  92. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr/tools/yaml_tools.py +0 -0
  93. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  94. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  95. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr.tools.egg-info/entry_points.txt +0 -0
  96. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr.tools.egg-info/requires.txt +46 -46
  97. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/fmtr.tools.egg-info/top_level.txt +0 -0
  98. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/pyproject.toml +0 -0
  99. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/setup.cfg +0 -0
  100. {fmtr_tools-1.3.62 → fmtr_tools-1.3.63}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.62
3
+ Version: 1.3.63
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
@@ -154,68 +154,68 @@ Provides-Extra: db-document
154
154
  Requires-Dist: beanie[odm]; extra == "db-document"
155
155
  Requires-Dist: motor; extra == "db-document"
156
156
  Provides-Extra: all
157
- Requires-Dist: setuptools; extra == "all"
158
- Requires-Dist: google-auth; extra == "all"
157
+ Requires-Dist: huggingface_hub; extra == "all"
158
+ Requires-Dist: sre_yield; extra == "all"
159
+ Requires-Dist: torchaudio; extra == "all"
159
160
  Requires-Dist: google-auth-oauthlib; extra == "all"
160
- Requires-Dist: cachetools; extra == "all"
161
- Requires-Dist: uvicorn[standard]; extra == "all"
162
- Requires-Dist: pydantic; extra == "all"
163
- Requires-Dist: openai; extra == "all"
164
- Requires-Dist: ollama; extra == "all"
165
- Requires-Dist: json_repair; extra == "all"
166
- Requires-Dist: sentence_transformers; extra == "all"
167
161
  Requires-Dist: tabulate; extra == "all"
168
- Requires-Dist: sre_yield; extra == "all"
169
- Requires-Dist: google-api-python-client; extra == "all"
170
- Requires-Dist: pyyaml; extra == "all"
171
- Requires-Dist: regex; extra == "all"
172
- Requires-Dist: httpx_retries; extra == "all"
173
- Requires-Dist: flet-video; extra == "all"
174
- Requires-Dist: pandas; extra == "all"
175
- Requires-Dist: openpyxl; extra == "all"
162
+ Requires-Dist: logfire[fastapi]; extra == "all"
176
163
  Requires-Dist: google-auth-httplib2; extra == "all"
177
- Requires-Dist: semver; extra == "all"
178
- Requires-Dist: yamlscript; extra == "all"
179
- Requires-Dist: dask[bag]; extra == "all"
180
- Requires-Dist: peft; extra == "all"
181
- Requires-Dist: html2text; extra == "all"
182
- Requires-Dist: transformers[sentencepiece]; extra == "all"
183
- Requires-Dist: tinynetrc; extra == "all"
164
+ Requires-Dist: torchvision; extra == "all"
165
+ Requires-Dist: pyyaml; extra == "all"
166
+ Requires-Dist: openai; extra == "all"
184
167
  Requires-Dist: flet[all]; extra == "all"
168
+ Requires-Dist: pymupdf4llm; extra == "all"
185
169
  Requires-Dist: appdirs; extra == "all"
186
- Requires-Dist: deepmerge; extra == "all"
187
- Requires-Dist: httpx; extra == "all"
188
- Requires-Dist: huggingface_hub; extra == "all"
189
- Requires-Dist: pymupdf; extra == "all"
190
- Requires-Dist: pytest-cov; extra == "all"
191
- Requires-Dist: beanie[odm]; extra == "all"
170
+ Requires-Dist: uvicorn[standard]; extra == "all"
171
+ Requires-Dist: semver; extra == "all"
192
172
  Requires-Dist: logfire[httpx]; extra == "all"
193
- Requires-Dist: deepdiff; extra == "all"
194
- Requires-Dist: bokeh; extra == "all"
173
+ Requires-Dist: tokenizers; extra == "all"
174
+ Requires-Dist: cachetools; extra == "all"
175
+ Requires-Dist: pydantic-settings; extra == "all"
195
176
  Requires-Dist: pycountry; extra == "all"
196
- Requires-Dist: dnspython[doh]; extra == "all"
197
- Requires-Dist: faker; extra == "all"
177
+ Requires-Dist: pytest-cov; extra == "all"
178
+ Requires-Dist: deepmerge; extra == "all"
179
+ Requires-Dist: regex; extra == "all"
180
+ Requires-Dist: json_repair; extra == "all"
181
+ Requires-Dist: Unidecode; extra == "all"
198
182
  Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
183
+ Requires-Dist: pymupdf; extra == "all"
184
+ Requires-Dist: playwright; extra == "all"
185
+ Requires-Dist: tinynetrc; extra == "all"
199
186
  Requires-Dist: odfpy; extra == "all"
200
- Requires-Dist: pydantic-settings; extra == "all"
187
+ Requires-Dist: ollama; extra == "all"
201
188
  Requires-Dist: pydantic-extra-types; extra == "all"
202
- Requires-Dist: torchaudio; extra == "all"
203
- Requires-Dist: motor; extra == "all"
204
- Requires-Dist: torchvision; extra == "all"
189
+ Requires-Dist: peft; extra == "all"
190
+ Requires-Dist: distributed; extra == "all"
191
+ Requires-Dist: diskcache; extra == "all"
192
+ Requires-Dist: google-api-python-client; extra == "all"
205
193
  Requires-Dist: filetype; extra == "all"
206
- Requires-Dist: python-on-whales; extra == "all"
207
- Requires-Dist: pymupdf4llm; extra == "all"
194
+ Requires-Dist: flet-video; extra == "all"
195
+ Requires-Dist: bokeh; extra == "all"
196
+ Requires-Dist: google-auth; extra == "all"
208
197
  Requires-Dist: logfire; extra == "all"
198
+ Requires-Dist: beanie[odm]; extra == "all"
199
+ Requires-Dist: openpyxl; extra == "all"
200
+ Requires-Dist: setuptools; extra == "all"
201
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
202
+ Requires-Dist: httpx; extra == "all"
209
203
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
210
- Requires-Dist: logfire[fastapi]; extra == "all"
204
+ Requires-Dist: yamlscript; extra == "all"
205
+ Requires-Dist: faker; extra == "all"
211
206
  Requires-Dist: contexttimer; extra == "all"
207
+ Requires-Dist: pandas; extra == "all"
212
208
  Requires-Dist: fastapi; extra == "all"
209
+ Requires-Dist: motor; extra == "all"
210
+ Requires-Dist: dask[bag]; extra == "all"
211
+ Requires-Dist: dnspython[doh]; extra == "all"
212
+ Requires-Dist: sentence_transformers; extra == "all"
213
+ Requires-Dist: deepdiff; extra == "all"
214
+ Requires-Dist: python-on-whales; extra == "all"
215
+ Requires-Dist: httpx_retries; extra == "all"
213
216
  Requires-Dist: flet-webview; extra == "all"
214
- Requires-Dist: playwright; extra == "all"
215
- Requires-Dist: Unidecode; extra == "all"
216
- Requires-Dist: distributed; extra == "all"
217
- Requires-Dist: diskcache; extra == "all"
218
- Requires-Dist: tokenizers; extra == "all"
217
+ Requires-Dist: pydantic; extra == "all"
218
+ Requires-Dist: html2text; extra == "all"
219
219
  Dynamic: author
220
220
  Dynamic: author-email
221
221
  Dynamic: description
@@ -1,11 +1,11 @@
1
- from collections import namedtuple
2
- from string import Formatter
3
-
4
1
  import re
5
2
  from dataclasses import dataclass
6
3
  from textwrap import dedent
7
4
  from typing import List
8
5
 
6
+ from collections import namedtuple
7
+ from string import Formatter
8
+
9
9
  from fmtr.tools.datatype_tools import is_none
10
10
 
11
11
  ELLIPSIS = '…'
@@ -151,14 +151,14 @@ def truncate_mid(text, length=None, sep=ELLIPSIS, return_type=str):
151
151
  )
152
152
 
153
153
 
154
- def flatten(raw):
154
+ def flatten(raw, sep=' '):
155
155
  """
156
156
 
157
157
  Flatten a multiline string to a single line
158
158
 
159
159
  """
160
160
  lines = raw.splitlines()
161
- text = ' '.join(lines)
161
+ text = sep.join(lines)
162
162
  text = text.strip()
163
163
  return text
164
164
 
@@ -175,6 +175,22 @@ def join(strings, sep=' '):
175
175
  return text
176
176
 
177
177
 
178
+ def join_natural(items, sep=', ', conj='and'):
179
+ """
180
+
181
+ Natural language list
182
+
183
+ """
184
+
185
+ if not items:
186
+ return ""
187
+ if len(items) == 1:
188
+ return items[0]
189
+ firsts, last = items[:-1], items[-1]
190
+ firsts_str = join(firsts, sep=sep)
191
+ text = f"{firsts_str} {conj} {last}"
192
+ return text
193
+
178
194
  class Mask:
179
195
  """
180
196
 
@@ -0,0 +1 @@
1
+ 1.3.63
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.62
3
+ Version: 1.3.63
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
@@ -154,68 +154,68 @@ Provides-Extra: db-document
154
154
  Requires-Dist: beanie[odm]; extra == "db-document"
155
155
  Requires-Dist: motor; extra == "db-document"
156
156
  Provides-Extra: all
157
- Requires-Dist: setuptools; extra == "all"
158
- Requires-Dist: google-auth; extra == "all"
157
+ Requires-Dist: huggingface_hub; extra == "all"
158
+ Requires-Dist: sre_yield; extra == "all"
159
+ Requires-Dist: torchaudio; extra == "all"
159
160
  Requires-Dist: google-auth-oauthlib; extra == "all"
160
- Requires-Dist: cachetools; extra == "all"
161
- Requires-Dist: uvicorn[standard]; extra == "all"
162
- Requires-Dist: pydantic; extra == "all"
163
- Requires-Dist: openai; extra == "all"
164
- Requires-Dist: ollama; extra == "all"
165
- Requires-Dist: json_repair; extra == "all"
166
- Requires-Dist: sentence_transformers; extra == "all"
167
161
  Requires-Dist: tabulate; extra == "all"
168
- Requires-Dist: sre_yield; extra == "all"
169
- Requires-Dist: google-api-python-client; extra == "all"
170
- Requires-Dist: pyyaml; extra == "all"
171
- Requires-Dist: regex; extra == "all"
172
- Requires-Dist: httpx_retries; extra == "all"
173
- Requires-Dist: flet-video; extra == "all"
174
- Requires-Dist: pandas; extra == "all"
175
- Requires-Dist: openpyxl; extra == "all"
162
+ Requires-Dist: logfire[fastapi]; extra == "all"
176
163
  Requires-Dist: google-auth-httplib2; extra == "all"
177
- Requires-Dist: semver; extra == "all"
178
- Requires-Dist: yamlscript; extra == "all"
179
- Requires-Dist: dask[bag]; extra == "all"
180
- Requires-Dist: peft; extra == "all"
181
- Requires-Dist: html2text; extra == "all"
182
- Requires-Dist: transformers[sentencepiece]; extra == "all"
183
- Requires-Dist: tinynetrc; extra == "all"
164
+ Requires-Dist: torchvision; extra == "all"
165
+ Requires-Dist: pyyaml; extra == "all"
166
+ Requires-Dist: openai; extra == "all"
184
167
  Requires-Dist: flet[all]; extra == "all"
168
+ Requires-Dist: pymupdf4llm; extra == "all"
185
169
  Requires-Dist: appdirs; extra == "all"
186
- Requires-Dist: deepmerge; extra == "all"
187
- Requires-Dist: httpx; extra == "all"
188
- Requires-Dist: huggingface_hub; extra == "all"
189
- Requires-Dist: pymupdf; extra == "all"
190
- Requires-Dist: pytest-cov; extra == "all"
191
- Requires-Dist: beanie[odm]; extra == "all"
170
+ Requires-Dist: uvicorn[standard]; extra == "all"
171
+ Requires-Dist: semver; extra == "all"
192
172
  Requires-Dist: logfire[httpx]; extra == "all"
193
- Requires-Dist: deepdiff; extra == "all"
194
- Requires-Dist: bokeh; extra == "all"
173
+ Requires-Dist: tokenizers; extra == "all"
174
+ Requires-Dist: cachetools; extra == "all"
175
+ Requires-Dist: pydantic-settings; extra == "all"
195
176
  Requires-Dist: pycountry; extra == "all"
196
- Requires-Dist: dnspython[doh]; extra == "all"
197
- Requires-Dist: faker; extra == "all"
177
+ Requires-Dist: pytest-cov; extra == "all"
178
+ Requires-Dist: deepmerge; extra == "all"
179
+ Requires-Dist: regex; extra == "all"
180
+ Requires-Dist: json_repair; extra == "all"
181
+ Requires-Dist: Unidecode; extra == "all"
198
182
  Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
183
+ Requires-Dist: pymupdf; extra == "all"
184
+ Requires-Dist: playwright; extra == "all"
185
+ Requires-Dist: tinynetrc; extra == "all"
199
186
  Requires-Dist: odfpy; extra == "all"
200
- Requires-Dist: pydantic-settings; extra == "all"
187
+ Requires-Dist: ollama; extra == "all"
201
188
  Requires-Dist: pydantic-extra-types; extra == "all"
202
- Requires-Dist: torchaudio; extra == "all"
203
- Requires-Dist: motor; extra == "all"
204
- Requires-Dist: torchvision; extra == "all"
189
+ Requires-Dist: peft; extra == "all"
190
+ Requires-Dist: distributed; extra == "all"
191
+ Requires-Dist: diskcache; extra == "all"
192
+ Requires-Dist: google-api-python-client; extra == "all"
205
193
  Requires-Dist: filetype; extra == "all"
206
- Requires-Dist: python-on-whales; extra == "all"
207
- Requires-Dist: pymupdf4llm; extra == "all"
194
+ Requires-Dist: flet-video; extra == "all"
195
+ Requires-Dist: bokeh; extra == "all"
196
+ Requires-Dist: google-auth; extra == "all"
208
197
  Requires-Dist: logfire; extra == "all"
198
+ Requires-Dist: beanie[odm]; extra == "all"
199
+ Requires-Dist: openpyxl; extra == "all"
200
+ Requires-Dist: setuptools; extra == "all"
201
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
202
+ Requires-Dist: httpx; extra == "all"
209
203
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
210
- Requires-Dist: logfire[fastapi]; extra == "all"
204
+ Requires-Dist: yamlscript; extra == "all"
205
+ Requires-Dist: faker; extra == "all"
211
206
  Requires-Dist: contexttimer; extra == "all"
207
+ Requires-Dist: pandas; extra == "all"
212
208
  Requires-Dist: fastapi; extra == "all"
209
+ Requires-Dist: motor; extra == "all"
210
+ Requires-Dist: dask[bag]; extra == "all"
211
+ Requires-Dist: dnspython[doh]; extra == "all"
212
+ Requires-Dist: sentence_transformers; extra == "all"
213
+ Requires-Dist: deepdiff; extra == "all"
214
+ Requires-Dist: python-on-whales; extra == "all"
215
+ Requires-Dist: httpx_retries; extra == "all"
213
216
  Requires-Dist: flet-webview; extra == "all"
214
- Requires-Dist: playwright; extra == "all"
215
- Requires-Dist: Unidecode; extra == "all"
216
- Requires-Dist: distributed; extra == "all"
217
- Requires-Dist: diskcache; extra == "all"
218
- Requires-Dist: tokenizers; extra == "all"
217
+ Requires-Dist: pydantic; extra == "all"
218
+ Requires-Dist: html2text; extra == "all"
219
219
  Dynamic: author
220
220
  Dynamic: author-email
221
221
  Dynamic: description
@@ -1 +0,0 @@
1
- 1.3.62
File without changes
File without changes
@@ -18,68 +18,68 @@ pydantic-ai[logfire,openai]
18
18
  ollama
19
19
 
20
20
  [all]
21
- setuptools
22
- google-auth
21
+ huggingface_hub
22
+ sre_yield
23
+ torchaudio
23
24
  google-auth-oauthlib
24
- cachetools
25
- uvicorn[standard]
26
- pydantic
27
- openai
28
- ollama
29
- json_repair
30
- sentence_transformers
31
25
  tabulate
32
- sre_yield
33
- google-api-python-client
34
- pyyaml
35
- regex
36
- httpx_retries
37
- flet-video
38
- pandas
39
- openpyxl
26
+ logfire[fastapi]
40
27
  google-auth-httplib2
41
- semver
42
- yamlscript
43
- dask[bag]
44
- peft
45
- html2text
46
- transformers[sentencepiece]
47
- tinynetrc
28
+ torchvision
29
+ pyyaml
30
+ openai
48
31
  flet[all]
32
+ pymupdf4llm
49
33
  appdirs
50
- deepmerge
51
- httpx
52
- huggingface_hub
53
- pymupdf
54
- pytest-cov
55
- beanie[odm]
34
+ uvicorn[standard]
35
+ semver
56
36
  logfire[httpx]
57
- deepdiff
58
- bokeh
37
+ tokenizers
38
+ cachetools
39
+ pydantic-settings
59
40
  pycountry
60
- dnspython[doh]
61
- faker
41
+ pytest-cov
42
+ deepmerge
43
+ regex
44
+ json_repair
45
+ Unidecode
62
46
  pydantic-ai[logfire,openai]
47
+ pymupdf
48
+ playwright
49
+ tinynetrc
63
50
  odfpy
64
- pydantic-settings
51
+ ollama
65
52
  pydantic-extra-types
66
- torchaudio
67
- motor
68
- torchvision
53
+ peft
54
+ distributed
55
+ diskcache
56
+ google-api-python-client
69
57
  filetype
70
- python-on-whales
71
- pymupdf4llm
58
+ flet-video
59
+ bokeh
60
+ google-auth
72
61
  logfire
62
+ beanie[odm]
63
+ openpyxl
64
+ setuptools
65
+ transformers[sentencepiece]
66
+ httpx
73
67
  pydevd-pycharm~=251.25410.159
74
- logfire[fastapi]
68
+ yamlscript
69
+ faker
75
70
  contexttimer
71
+ pandas
76
72
  fastapi
73
+ motor
74
+ dask[bag]
75
+ dnspython[doh]
76
+ sentence_transformers
77
+ deepdiff
78
+ python-on-whales
79
+ httpx_retries
77
80
  flet-webview
78
- playwright
79
- Unidecode
80
- distributed
81
- diskcache
82
- tokenizers
81
+ pydantic
82
+ html2text
83
83
 
84
84
  [api]
85
85
  fastapi
File without changes
File without changes
File without changes