fmtr.tools 1.3.12__tar.gz → 1.3.13__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 (91) hide show
  1. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/PKG-INFO +44 -44
  2. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/client.py +12 -7
  3. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/dm.py +9 -0
  4. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/server.py +9 -2
  5. fmtr_tools-1.3.13/fmtr/tools/version +1 -0
  6. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/PKG-INFO +44 -44
  7. fmtr_tools-1.3.12/fmtr/tools/version +0 -1
  8. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/LICENSE +0 -0
  9. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/README.md +0 -0
  10. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/__init__.py +0 -0
  11. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/__init__.py +0 -0
  12. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  13. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  14. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/api_tools.py +0 -0
  15. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/async_tools.py +0 -0
  16. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/augmentation_tools.py +0 -0
  17. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/caching_tools.py +0 -0
  18. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/constants.py +0 -0
  19. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/data_modelling_tools.py +0 -0
  20. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dataclass_tools.py +0 -0
  21. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/datatype_tools.py +0 -0
  22. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/debugging_tools.py +0 -0
  23. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/__init__.py +0 -0
  24. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/proxy.py +0 -0
  25. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/docker_tools.py +0 -0
  26. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/__init__.py +0 -0
  27. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  28. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/ep_test.py +0 -0
  29. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
  30. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  31. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  32. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/environment_tools.py +0 -0
  33. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/function_tools.py +0 -0
  34. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/google_api_tools.py +0 -0
  35. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/hash_tools.py +0 -0
  36. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/hfh_tools.py +0 -0
  37. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/html_tools.py +0 -0
  38. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/http_tools.py +0 -0
  39. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/import_tools.py +0 -0
  40. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/inspection_tools.py +0 -0
  41. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/interface_tools.py +0 -0
  42. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/iterator_tools.py +0 -0
  43. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/json_fix_tools.py +0 -0
  44. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/json_tools.py +0 -0
  45. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/logging_tools.py +0 -0
  46. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/merging_tools.py +0 -0
  47. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/metric_tools.py +0 -0
  48. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/name_tools.py +0 -0
  49. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/netrc_tools.py +0 -0
  50. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/openai_tools.py +0 -0
  51. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/packaging_tools.py +0 -0
  52. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/parallel_tools.py +0 -0
  53. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/__init__.py +0 -0
  54. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  55. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/path_tools.py +0 -0
  56. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  57. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/pattern_tools.py +0 -0
  58. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/pdf_tools.py +0 -0
  59. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/platform_tools.py +0 -0
  60. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/process_tools.py +0 -0
  61. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/profiling_tools.py +0 -0
  62. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/random_tools.py +0 -0
  63. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/semantic_tools.py +0 -0
  64. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/settings_tools.py +0 -0
  65. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/setup_tools/__init__.py +0 -0
  66. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  67. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/spaces_tools.py +0 -0
  68. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/string_tools.py +0 -0
  69. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tabular_tools.py +0 -0
  70. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/__init__.py +0 -0
  71. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/conftest.py +0 -0
  72. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/helpers.py +0 -0
  73. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_datatype.py +0 -0
  74. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_environment.py +0 -0
  75. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_json.py +0 -0
  76. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_path.py +0 -0
  77. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_yaml.py +0 -0
  78. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tokenization_tools.py +0 -0
  79. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tools.py +0 -0
  80. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/unicode_tools.py +0 -0
  81. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/version_tools/__init__.py +0 -0
  82. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/version_tools/version_tools.py +0 -0
  83. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/yaml_tools.py +0 -0
  84. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  85. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  86. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/entry_points.txt +0 -0
  87. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/requires.txt +43 -43
  88. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/top_level.txt +0 -0
  89. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/pyproject.toml +0 -0
  90. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/setup.cfg +0 -0
  91. {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.12
3
+ Version: 1.3.13
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: tokenizers; extra == "all"
130
+ Requires-Dist: setuptools; extra == "all"
131
+ Requires-Dist: pandas; extra == "all"
132
+ Requires-Dist: pytest-cov; extra == "all"
133
+ Requires-Dist: httpx_retries; extra == "all"
134
+ Requires-Dist: logfire; extra == "all"
135
+ Requires-Dist: bokeh; extra == "all"
136
+ Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
137
+ Requires-Dist: sentence_transformers; extra == "all"
138
+ Requires-Dist: html2text; extra == "all"
139
+ Requires-Dist: flet-webview; extra == "all"
140
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
141
+ Requires-Dist: pyyaml; extra == "all"
142
+ Requires-Dist: faker; extra == "all"
129
143
  Requires-Dist: fastapi; extra == "all"
130
- Requires-Dist: contexttimer; extra == "all"
131
- Requires-Dist: tinynetrc; extra == "all"
132
- Requires-Dist: ollama; extra == "all"
133
- Requires-Dist: uvicorn[standard]; extra == "all"
134
- Requires-Dist: pymupdf; extra == "all"
135
- Requires-Dist: pymupdf4llm; extra == "all"
136
- Requires-Dist: logfire[fastapi]; extra == "all"
137
- Requires-Dist: google-auth-httplib2; extra == "all"
138
144
  Requires-Dist: Unidecode; extra == "all"
139
- Requires-Dist: faker; extra == "all"
145
+ Requires-Dist: pymupdf; extra == "all"
146
+ Requires-Dist: appdirs; extra == "all"
147
+ Requires-Dist: sre_yield; extra == "all"
140
148
  Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
141
- Requires-Dist: tabulate; extra == "all"
142
- Requires-Dist: pyyaml; extra == "all"
143
- Requires-Dist: html2text; extra == "all"
144
- Requires-Dist: json_repair; extra == "all"
145
- Requires-Dist: flet[all]; extra == "all"
146
- Requires-Dist: httpx; extra == "all"
147
- Requires-Dist: filetype; extra == "all"
148
- Requires-Dist: pydantic; extra == "all"
149
- Requires-Dist: logfire; extra == "all"
150
- Requires-Dist: torchaudio; extra == "all"
149
+ Requires-Dist: peft; extra == "all"
151
150
  Requires-Dist: flet-video; extra == "all"
152
- Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
153
- Requires-Dist: distributed; extra == "all"
154
- Requires-Dist: pytest-cov; extra == "all"
155
- Requires-Dist: sentence_transformers; extra == "all"
151
+ Requires-Dist: diskcache; extra == "all"
156
152
  Requires-Dist: yamlscript; extra == "all"
157
- Requires-Dist: appdirs; extra == "all"
158
- Requires-Dist: transformers[sentencepiece]; extra == "all"
153
+ Requires-Dist: pymupdf4llm; extra == "all"
154
+ Requires-Dist: filetype; extra == "all"
155
+ Requires-Dist: ollama; extra == "all"
156
+ Requires-Dist: google-auth; extra == "all"
157
+ Requires-Dist: logfire[httpx]; extra == "all"
158
+ Requires-Dist: uvicorn[standard]; extra == "all"
159
+ Requires-Dist: tinynetrc; extra == "all"
159
160
  Requires-Dist: dnspython[doh]; extra == "all"
161
+ Requires-Dist: google-auth-httplib2; extra == "all"
162
+ Requires-Dist: pydantic; extra == "all"
163
+ Requires-Dist: google-api-python-client; extra == "all"
164
+ Requires-Dist: docker; extra == "all"
165
+ Requires-Dist: httpx; extra == "all"
166
+ Requires-Dist: tabulate; extra == "all"
167
+ Requires-Dist: huggingface_hub; extra == "all"
168
+ Requires-Dist: regex; extra == "all"
160
169
  Requires-Dist: openpyxl; extra == "all"
170
+ Requires-Dist: dask[bag]; extra == "all"
171
+ Requires-Dist: distributed; extra == "all"
161
172
  Requires-Dist: openai; extra == "all"
173
+ Requires-Dist: deepmerge; extra == "all"
174
+ Requires-Dist: json_repair; extra == "all"
162
175
  Requires-Dist: google-auth-oauthlib; extra == "all"
163
- Requires-Dist: sre_yield; extra == "all"
176
+ Requires-Dist: contexttimer; extra == "all"
164
177
  Requires-Dist: semver; extra == "all"
165
- Requires-Dist: deepmerge; extra == "all"
166
178
  Requires-Dist: pydantic-settings; extra == "all"
167
- Requires-Dist: tokenizers; extra == "all"
168
- Requires-Dist: peft; extra == "all"
169
- Requires-Dist: flet-webview; extra == "all"
170
- Requires-Dist: google-auth; extra == "all"
171
- Requires-Dist: dask[bag]; extra == "all"
172
- Requires-Dist: docker; extra == "all"
173
- Requires-Dist: bokeh; extra == "all"
174
- Requires-Dist: pandas; extra == "all"
175
- Requires-Dist: huggingface_hub; extra == "all"
176
- Requires-Dist: google-api-python-client; extra == "all"
177
- Requires-Dist: logfire[httpx]; extra == "all"
178
- Requires-Dist: torchvision; extra == "all"
179
- Requires-Dist: httpx_retries; extra == "all"
179
+ Requires-Dist: flet[all]; extra == "all"
180
180
  Requires-Dist: cachetools; extra == "all"
181
- Requires-Dist: diskcache; extra == "all"
182
- Requires-Dist: regex; extra == "all"
183
- Requires-Dist: setuptools; extra == "all"
181
+ Requires-Dist: logfire[fastapi]; extra == "all"
182
+ Requires-Dist: torchaudio; extra == "all"
183
+ Requires-Dist: torchvision; extra == "all"
184
184
  Dynamic: author
185
185
  Dynamic: author-email
186
186
  Dynamic: description
@@ -1,8 +1,7 @@
1
- from dataclasses import dataclass
2
- from functools import cached_property
3
-
4
1
  import dns as dnspython
2
+ from dataclasses import dataclass
5
3
  from dns import query
4
+ from functools import cached_property
6
5
  from httpx_retries import Retry, RetryTransport
7
6
 
8
7
  from fmtr.tools import http_tools as http
@@ -82,8 +81,14 @@ class HTTP:
82
81
 
83
82
  headers = self.HEADERS | dict(Host=self.host)
84
83
  url = self.url.format(host=self.ip)
85
- response_doh = self.CLIENT.post(url, headers=headers, content=exchange.query_last.to_wire())
86
- response_doh.raise_for_status()
87
- response = Response.from_http(response_doh)
88
84
 
89
- exchange.response.message.answer += response.message.answer
85
+ try:
86
+ response_doh = self.CLIENT.post(url, headers=headers, content=exchange.query_last.to_wire())
87
+ response_doh.raise_for_status()
88
+ response = Response.from_http(response_doh)
89
+ exchange.response.message.answer += response.message.answer
90
+
91
+ except Exception as exception:
92
+ exchange.response.message.set_rcode(dnspython.rcode.SERVFAIL)
93
+ exchange.response.is_complete = True
94
+ logger.exception(exception)
@@ -1,6 +1,7 @@
1
1
  import dns
2
2
  import httpx
3
3
  from dataclasses import dataclass
4
+ from dns import rcode as dnsrcode
4
5
  from dns.message import Message, QueryMessage
5
6
  from dns.rrset import RRset
6
7
  from functools import cached_property
@@ -58,6 +59,14 @@ class Response(BaseDNSData):
58
59
  return None
59
60
  return self.message.answer[-1]
60
61
 
62
+ @property
63
+ def rcode(self) -> dnsrcode.Rcode:
64
+ return self.message.rcode()
65
+
66
+ @property
67
+ def rcode_text(self) -> str:
68
+ return dnsrcode.to_text(self.rcode)
69
+
61
70
  def __str__(self):
62
71
  """
63
72
 
@@ -79,7 +79,10 @@ class Plain:
79
79
  if not request.is_valid:
80
80
  raise ValueError(f'Only one question per request is supported. Got {len(request.question)} questions.')
81
81
 
82
- with logger.span(f'Handling request {request.message.id=} {request.type_text} {request.name_text} {request.question=} {exchange.ip=} {exchange.port=}...'):
82
+ span = logger.span(
83
+ f'Handling request {request.message.id=} {request.type_text} {request.name_text} {request.question=} {exchange.ip=} {exchange.port=}...'
84
+ )
85
+ with span:
83
86
 
84
87
  with logger.span(f'Checking cache...'):
85
88
  self.check_cache(exchange)
@@ -89,5 +92,9 @@ class Plain:
89
92
  exchange.response.is_complete = True
90
93
 
91
94
  self.cache[exchange.key] = exchange.response
92
- logger.info(f'Resolution complete {request.message.id=} {exchange.response.answer=}')
95
+ logger.info(f'Resolution complete {request.message.id=} {exchange.response.rcode_text=} {exchange.response.answer=}')
96
+
97
+ attribs = dict(rcode=exchange.response.rcode, rcode_text=exchange.response.rcode_text)
98
+ span.set_attributes(attribs)
99
+
93
100
  return exchange
@@ -0,0 +1 @@
1
+ 1.3.13
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.12
3
+ Version: 1.3.13
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: tokenizers; extra == "all"
130
+ Requires-Dist: setuptools; extra == "all"
131
+ Requires-Dist: pandas; extra == "all"
132
+ Requires-Dist: pytest-cov; extra == "all"
133
+ Requires-Dist: httpx_retries; extra == "all"
134
+ Requires-Dist: logfire; extra == "all"
135
+ Requires-Dist: bokeh; extra == "all"
136
+ Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
137
+ Requires-Dist: sentence_transformers; extra == "all"
138
+ Requires-Dist: html2text; extra == "all"
139
+ Requires-Dist: flet-webview; extra == "all"
140
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
141
+ Requires-Dist: pyyaml; extra == "all"
142
+ Requires-Dist: faker; extra == "all"
129
143
  Requires-Dist: fastapi; extra == "all"
130
- Requires-Dist: contexttimer; extra == "all"
131
- Requires-Dist: tinynetrc; extra == "all"
132
- Requires-Dist: ollama; extra == "all"
133
- Requires-Dist: uvicorn[standard]; extra == "all"
134
- Requires-Dist: pymupdf; extra == "all"
135
- Requires-Dist: pymupdf4llm; extra == "all"
136
- Requires-Dist: logfire[fastapi]; extra == "all"
137
- Requires-Dist: google-auth-httplib2; extra == "all"
138
144
  Requires-Dist: Unidecode; extra == "all"
139
- Requires-Dist: faker; extra == "all"
145
+ Requires-Dist: pymupdf; extra == "all"
146
+ Requires-Dist: appdirs; extra == "all"
147
+ Requires-Dist: sre_yield; extra == "all"
140
148
  Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
141
- Requires-Dist: tabulate; extra == "all"
142
- Requires-Dist: pyyaml; extra == "all"
143
- Requires-Dist: html2text; extra == "all"
144
- Requires-Dist: json_repair; extra == "all"
145
- Requires-Dist: flet[all]; extra == "all"
146
- Requires-Dist: httpx; extra == "all"
147
- Requires-Dist: filetype; extra == "all"
148
- Requires-Dist: pydantic; extra == "all"
149
- Requires-Dist: logfire; extra == "all"
150
- Requires-Dist: torchaudio; extra == "all"
149
+ Requires-Dist: peft; extra == "all"
151
150
  Requires-Dist: flet-video; extra == "all"
152
- Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
153
- Requires-Dist: distributed; extra == "all"
154
- Requires-Dist: pytest-cov; extra == "all"
155
- Requires-Dist: sentence_transformers; extra == "all"
151
+ Requires-Dist: diskcache; extra == "all"
156
152
  Requires-Dist: yamlscript; extra == "all"
157
- Requires-Dist: appdirs; extra == "all"
158
- Requires-Dist: transformers[sentencepiece]; extra == "all"
153
+ Requires-Dist: pymupdf4llm; extra == "all"
154
+ Requires-Dist: filetype; extra == "all"
155
+ Requires-Dist: ollama; extra == "all"
156
+ Requires-Dist: google-auth; extra == "all"
157
+ Requires-Dist: logfire[httpx]; extra == "all"
158
+ Requires-Dist: uvicorn[standard]; extra == "all"
159
+ Requires-Dist: tinynetrc; extra == "all"
159
160
  Requires-Dist: dnspython[doh]; extra == "all"
161
+ Requires-Dist: google-auth-httplib2; extra == "all"
162
+ Requires-Dist: pydantic; extra == "all"
163
+ Requires-Dist: google-api-python-client; extra == "all"
164
+ Requires-Dist: docker; extra == "all"
165
+ Requires-Dist: httpx; extra == "all"
166
+ Requires-Dist: tabulate; extra == "all"
167
+ Requires-Dist: huggingface_hub; extra == "all"
168
+ Requires-Dist: regex; extra == "all"
160
169
  Requires-Dist: openpyxl; extra == "all"
170
+ Requires-Dist: dask[bag]; extra == "all"
171
+ Requires-Dist: distributed; extra == "all"
161
172
  Requires-Dist: openai; extra == "all"
173
+ Requires-Dist: deepmerge; extra == "all"
174
+ Requires-Dist: json_repair; extra == "all"
162
175
  Requires-Dist: google-auth-oauthlib; extra == "all"
163
- Requires-Dist: sre_yield; extra == "all"
176
+ Requires-Dist: contexttimer; extra == "all"
164
177
  Requires-Dist: semver; extra == "all"
165
- Requires-Dist: deepmerge; extra == "all"
166
178
  Requires-Dist: pydantic-settings; extra == "all"
167
- Requires-Dist: tokenizers; extra == "all"
168
- Requires-Dist: peft; extra == "all"
169
- Requires-Dist: flet-webview; extra == "all"
170
- Requires-Dist: google-auth; extra == "all"
171
- Requires-Dist: dask[bag]; extra == "all"
172
- Requires-Dist: docker; extra == "all"
173
- Requires-Dist: bokeh; extra == "all"
174
- Requires-Dist: pandas; extra == "all"
175
- Requires-Dist: huggingface_hub; extra == "all"
176
- Requires-Dist: google-api-python-client; extra == "all"
177
- Requires-Dist: logfire[httpx]; extra == "all"
178
- Requires-Dist: torchvision; extra == "all"
179
- Requires-Dist: httpx_retries; extra == "all"
179
+ Requires-Dist: flet[all]; extra == "all"
180
180
  Requires-Dist: cachetools; extra == "all"
181
- Requires-Dist: diskcache; extra == "all"
182
- Requires-Dist: regex; extra == "all"
183
- Requires-Dist: setuptools; extra == "all"
181
+ Requires-Dist: logfire[fastapi]; extra == "all"
182
+ Requires-Dist: torchaudio; extra == "all"
183
+ Requires-Dist: torchvision; extra == "all"
184
184
  Dynamic: author
185
185
  Dynamic: author-email
186
186
  Dynamic: description
@@ -1 +0,0 @@
1
- 1.3.12
File without changes
File without changes
@@ -14,61 +14,61 @@ pydantic-ai[logfire,openai]
14
14
  ollama
15
15
 
16
16
  [all]
17
+ tokenizers
18
+ setuptools
19
+ pandas
20
+ pytest-cov
21
+ httpx_retries
22
+ logfire
23
+ bokeh
24
+ pydevd-pycharm~=251.25410.159
25
+ sentence_transformers
26
+ html2text
27
+ flet-webview
28
+ transformers[sentencepiece]
29
+ pyyaml
30
+ faker
17
31
  fastapi
18
- contexttimer
19
- tinynetrc
20
- ollama
21
- uvicorn[standard]
22
- pymupdf
23
- pymupdf4llm
24
- logfire[fastapi]
25
- google-auth-httplib2
26
32
  Unidecode
27
- faker
33
+ pymupdf
34
+ appdirs
35
+ sre_yield
28
36
  pydantic-ai[logfire,openai]
29
- tabulate
30
- pyyaml
31
- html2text
32
- json_repair
33
- flet[all]
34
- httpx
35
- filetype
36
- pydantic
37
- logfire
38
- torchaudio
37
+ peft
39
38
  flet-video
40
- pydevd-pycharm~=251.25410.159
41
- distributed
42
- pytest-cov
43
- sentence_transformers
39
+ diskcache
44
40
  yamlscript
45
- appdirs
46
- transformers[sentencepiece]
41
+ pymupdf4llm
42
+ filetype
43
+ ollama
44
+ google-auth
45
+ logfire[httpx]
46
+ uvicorn[standard]
47
+ tinynetrc
47
48
  dnspython[doh]
49
+ google-auth-httplib2
50
+ pydantic
51
+ google-api-python-client
52
+ docker
53
+ httpx
54
+ tabulate
55
+ huggingface_hub
56
+ regex
48
57
  openpyxl
58
+ dask[bag]
59
+ distributed
49
60
  openai
61
+ deepmerge
62
+ json_repair
50
63
  google-auth-oauthlib
51
- sre_yield
64
+ contexttimer
52
65
  semver
53
- deepmerge
54
66
  pydantic-settings
55
- tokenizers
56
- peft
57
- flet-webview
58
- google-auth
59
- dask[bag]
60
- docker
61
- bokeh
62
- pandas
63
- huggingface_hub
64
- google-api-python-client
65
- logfire[httpx]
66
- torchvision
67
- httpx_retries
67
+ flet[all]
68
68
  cachetools
69
- diskcache
70
- regex
71
- setuptools
69
+ logfire[fastapi]
70
+ torchaudio
71
+ torchvision
72
72
 
73
73
  [api]
74
74
  fastapi
File without changes
File without changes
File without changes