fmtr.tools 1.3.11__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.11 → fmtr_tools-1.3.13}/PKG-INFO +46 -46
  2. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/client.py +12 -7
  3. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/dm.py +9 -0
  4. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/server.py +8 -2
  5. fmtr_tools-1.3.13/fmtr/tools/version +1 -0
  6. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/PKG-INFO +46 -46
  7. fmtr_tools-1.3.11/fmtr/tools/version +0 -1
  8. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/LICENSE +0 -0
  9. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/README.md +0 -0
  10. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/__init__.py +0 -0
  11. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/__init__.py +0 -0
  12. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  13. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  14. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/api_tools.py +0 -0
  15. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/async_tools.py +0 -0
  16. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/augmentation_tools.py +0 -0
  17. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/caching_tools.py +0 -0
  18. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/constants.py +0 -0
  19. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/data_modelling_tools.py +0 -0
  20. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/dataclass_tools.py +0 -0
  21. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/datatype_tools.py +0 -0
  22. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/debugging_tools.py +0 -0
  23. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/__init__.py +0 -0
  24. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/proxy.py +0 -0
  25. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/docker_tools.py +0 -0
  26. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/__init__.py +0 -0
  27. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  28. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/ep_test.py +0 -0
  29. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
  30. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  31. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  32. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/environment_tools.py +0 -0
  33. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/function_tools.py +0 -0
  34. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/google_api_tools.py +0 -0
  35. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/hash_tools.py +0 -0
  36. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/hfh_tools.py +0 -0
  37. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/html_tools.py +0 -0
  38. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/http_tools.py +0 -0
  39. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/import_tools.py +0 -0
  40. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/inspection_tools.py +0 -0
  41. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/interface_tools.py +0 -0
  42. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/iterator_tools.py +0 -0
  43. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/json_fix_tools.py +0 -0
  44. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/json_tools.py +0 -0
  45. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/logging_tools.py +0 -0
  46. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/merging_tools.py +0 -0
  47. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/metric_tools.py +0 -0
  48. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/name_tools.py +0 -0
  49. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/netrc_tools.py +0 -0
  50. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/openai_tools.py +0 -0
  51. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/packaging_tools.py +0 -0
  52. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/parallel_tools.py +0 -0
  53. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/__init__.py +0 -0
  54. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  55. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/path_tools.py +0 -0
  56. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  57. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/pattern_tools.py +0 -0
  58. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/pdf_tools.py +0 -0
  59. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/platform_tools.py +0 -0
  60. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/process_tools.py +0 -0
  61. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/profiling_tools.py +0 -0
  62. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/random_tools.py +0 -0
  63. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/semantic_tools.py +0 -0
  64. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/settings_tools.py +0 -0
  65. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/setup_tools/__init__.py +0 -0
  66. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  67. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/spaces_tools.py +0 -0
  68. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/string_tools.py +0 -0
  69. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tabular_tools.py +0 -0
  70. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/__init__.py +0 -0
  71. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/conftest.py +0 -0
  72. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/helpers.py +0 -0
  73. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_datatype.py +0 -0
  74. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_environment.py +0 -0
  75. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_json.py +0 -0
  76. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_path.py +0 -0
  77. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_yaml.py +0 -0
  78. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tokenization_tools.py +0 -0
  79. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/tools.py +0 -0
  80. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/unicode_tools.py +0 -0
  81. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/version_tools/__init__.py +0 -0
  82. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/version_tools/version_tools.py +0 -0
  83. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr/tools/yaml_tools.py +0 -0
  84. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  85. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  86. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/entry_points.txt +0 -0
  87. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/requires.txt +45 -45
  88. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/top_level.txt +0 -0
  89. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/pyproject.toml +0 -0
  90. {fmtr_tools-1.3.11 → fmtr_tools-1.3.13}/setup.cfg +0 -0
  91. {fmtr_tools-1.3.11 → 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.11
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"
129
130
  Requires-Dist: setuptools; extra == "all"
130
- Requires-Dist: tinynetrc; extra == "all"
131
- Requires-Dist: contexttimer; extra == "all"
132
- Requires-Dist: tabulate; extra == "all"
133
- Requires-Dist: transformers[sentencepiece]; extra == "all"
134
- Requires-Dist: peft; extra == "all"
135
- Requires-Dist: html2text; extra == "all"
136
- Requires-Dist: pymupdf; extra == "all"
137
- Requires-Dist: torchvision; extra == "all"
138
- Requires-Dist: docker; extra == "all"
139
- Requires-Dist: openai; extra == "all"
140
- Requires-Dist: json_repair; extra == "all"
141
- Requires-Dist: semver; extra == "all"
142
- Requires-Dist: Unidecode; extra == "all"
131
+ Requires-Dist: pandas; extra == "all"
132
+ Requires-Dist: pytest-cov; extra == "all"
143
133
  Requires-Dist: httpx_retries; extra == "all"
144
- Requires-Dist: pydantic; extra == "all"
145
- Requires-Dist: pyyaml; extra == "all"
146
- Requires-Dist: pymupdf4llm; extra == "all"
147
- Requires-Dist: regex; extra == "all"
134
+ Requires-Dist: logfire; extra == "all"
148
135
  Requires-Dist: bokeh; extra == "all"
149
- Requires-Dist: sre_yield; extra == "all"
150
- Requires-Dist: pydantic-settings; extra == "all"
151
- Requires-Dist: distributed; extra == "all"
152
- Requires-Dist: openpyxl; extra == "all"
153
- Requires-Dist: huggingface_hub; extra == "all"
154
- Requires-Dist: filetype; extra == "all"
155
- Requires-Dist: yamlscript; extra == "all"
156
- Requires-Dist: fastapi; extra == "all"
157
- Requires-Dist: torchaudio; extra == "all"
158
- Requires-Dist: google-api-python-client; extra == "all"
159
- Requires-Dist: dask[bag]; extra == "all"
160
- Requires-Dist: google-auth; extra == "all"
161
136
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
162
- Requires-Dist: flet-video; extra == "all"
163
137
  Requires-Dist: sentence_transformers; extra == "all"
164
- Requires-Dist: ollama; extra == "all"
165
- Requires-Dist: google-auth-httplib2; extra == "all"
166
- Requires-Dist: cachetools; extra == "all"
167
- Requires-Dist: deepmerge; extra == "all"
168
- Requires-Dist: google-auth-oauthlib; extra == "all"
138
+ Requires-Dist: html2text; extra == "all"
169
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"
143
+ Requires-Dist: fastapi; extra == "all"
144
+ Requires-Dist: Unidecode; extra == "all"
145
+ Requires-Dist: pymupdf; extra == "all"
146
+ Requires-Dist: appdirs; extra == "all"
147
+ Requires-Dist: sre_yield; extra == "all"
148
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
149
+ Requires-Dist: peft; extra == "all"
150
+ Requires-Dist: flet-video; extra == "all"
151
+ Requires-Dist: diskcache; extra == "all"
152
+ Requires-Dist: yamlscript; 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"
170
157
  Requires-Dist: logfire[httpx]; extra == "all"
171
- Requires-Dist: logfire[fastapi]; extra == "all"
158
+ Requires-Dist: uvicorn[standard]; extra == "all"
159
+ Requires-Dist: tinynetrc; extra == "all"
172
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"
173
165
  Requires-Dist: httpx; extra == "all"
174
- Requires-Dist: faker; extra == "all"
175
- Requires-Dist: pandas; extra == "all"
176
- Requires-Dist: diskcache; extra == "all"
177
- Requires-Dist: tokenizers; extra == "all"
178
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
179
- Requires-Dist: appdirs; extra == "all"
166
+ Requires-Dist: tabulate; extra == "all"
167
+ Requires-Dist: huggingface_hub; extra == "all"
168
+ Requires-Dist: regex; extra == "all"
169
+ Requires-Dist: openpyxl; extra == "all"
170
+ Requires-Dist: dask[bag]; extra == "all"
171
+ Requires-Dist: distributed; extra == "all"
172
+ Requires-Dist: openai; extra == "all"
173
+ Requires-Dist: deepmerge; extra == "all"
174
+ Requires-Dist: json_repair; extra == "all"
175
+ Requires-Dist: google-auth-oauthlib; extra == "all"
176
+ Requires-Dist: contexttimer; extra == "all"
177
+ Requires-Dist: semver; extra == "all"
178
+ Requires-Dist: pydantic-settings; extra == "all"
180
179
  Requires-Dist: flet[all]; extra == "all"
181
- Requires-Dist: uvicorn[standard]; extra == "all"
182
- Requires-Dist: pytest-cov; extra == "all"
183
- Requires-Dist: logfire; extra == "all"
180
+ Requires-Dist: cachetools; 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.question=} {exchange.client=}...'):
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,6 +92,9 @@ class Plain:
89
92
  exchange.response.is_complete = True
90
93
 
91
94
  self.cache[exchange.key] = exchange.response
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)
92
99
 
93
- logger.info(f'Resolution complete {request.message.id=} {exchange.response.answer=}')
94
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.11
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"
129
130
  Requires-Dist: setuptools; extra == "all"
130
- Requires-Dist: tinynetrc; extra == "all"
131
- Requires-Dist: contexttimer; extra == "all"
132
- Requires-Dist: tabulate; extra == "all"
133
- Requires-Dist: transformers[sentencepiece]; extra == "all"
134
- Requires-Dist: peft; extra == "all"
135
- Requires-Dist: html2text; extra == "all"
136
- Requires-Dist: pymupdf; extra == "all"
137
- Requires-Dist: torchvision; extra == "all"
138
- Requires-Dist: docker; extra == "all"
139
- Requires-Dist: openai; extra == "all"
140
- Requires-Dist: json_repair; extra == "all"
141
- Requires-Dist: semver; extra == "all"
142
- Requires-Dist: Unidecode; extra == "all"
131
+ Requires-Dist: pandas; extra == "all"
132
+ Requires-Dist: pytest-cov; extra == "all"
143
133
  Requires-Dist: httpx_retries; extra == "all"
144
- Requires-Dist: pydantic; extra == "all"
145
- Requires-Dist: pyyaml; extra == "all"
146
- Requires-Dist: pymupdf4llm; extra == "all"
147
- Requires-Dist: regex; extra == "all"
134
+ Requires-Dist: logfire; extra == "all"
148
135
  Requires-Dist: bokeh; extra == "all"
149
- Requires-Dist: sre_yield; extra == "all"
150
- Requires-Dist: pydantic-settings; extra == "all"
151
- Requires-Dist: distributed; extra == "all"
152
- Requires-Dist: openpyxl; extra == "all"
153
- Requires-Dist: huggingface_hub; extra == "all"
154
- Requires-Dist: filetype; extra == "all"
155
- Requires-Dist: yamlscript; extra == "all"
156
- Requires-Dist: fastapi; extra == "all"
157
- Requires-Dist: torchaudio; extra == "all"
158
- Requires-Dist: google-api-python-client; extra == "all"
159
- Requires-Dist: dask[bag]; extra == "all"
160
- Requires-Dist: google-auth; extra == "all"
161
136
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
162
- Requires-Dist: flet-video; extra == "all"
163
137
  Requires-Dist: sentence_transformers; extra == "all"
164
- Requires-Dist: ollama; extra == "all"
165
- Requires-Dist: google-auth-httplib2; extra == "all"
166
- Requires-Dist: cachetools; extra == "all"
167
- Requires-Dist: deepmerge; extra == "all"
168
- Requires-Dist: google-auth-oauthlib; extra == "all"
138
+ Requires-Dist: html2text; extra == "all"
169
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"
143
+ Requires-Dist: fastapi; extra == "all"
144
+ Requires-Dist: Unidecode; extra == "all"
145
+ Requires-Dist: pymupdf; extra == "all"
146
+ Requires-Dist: appdirs; extra == "all"
147
+ Requires-Dist: sre_yield; extra == "all"
148
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
149
+ Requires-Dist: peft; extra == "all"
150
+ Requires-Dist: flet-video; extra == "all"
151
+ Requires-Dist: diskcache; extra == "all"
152
+ Requires-Dist: yamlscript; 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"
170
157
  Requires-Dist: logfire[httpx]; extra == "all"
171
- Requires-Dist: logfire[fastapi]; extra == "all"
158
+ Requires-Dist: uvicorn[standard]; extra == "all"
159
+ Requires-Dist: tinynetrc; extra == "all"
172
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"
173
165
  Requires-Dist: httpx; extra == "all"
174
- Requires-Dist: faker; extra == "all"
175
- Requires-Dist: pandas; extra == "all"
176
- Requires-Dist: diskcache; extra == "all"
177
- Requires-Dist: tokenizers; extra == "all"
178
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
179
- Requires-Dist: appdirs; extra == "all"
166
+ Requires-Dist: tabulate; extra == "all"
167
+ Requires-Dist: huggingface_hub; extra == "all"
168
+ Requires-Dist: regex; extra == "all"
169
+ Requires-Dist: openpyxl; extra == "all"
170
+ Requires-Dist: dask[bag]; extra == "all"
171
+ Requires-Dist: distributed; extra == "all"
172
+ Requires-Dist: openai; extra == "all"
173
+ Requires-Dist: deepmerge; extra == "all"
174
+ Requires-Dist: json_repair; extra == "all"
175
+ Requires-Dist: google-auth-oauthlib; extra == "all"
176
+ Requires-Dist: contexttimer; extra == "all"
177
+ Requires-Dist: semver; extra == "all"
178
+ Requires-Dist: pydantic-settings; extra == "all"
180
179
  Requires-Dist: flet[all]; extra == "all"
181
- Requires-Dist: uvicorn[standard]; extra == "all"
182
- Requires-Dist: pytest-cov; extra == "all"
183
- Requires-Dist: logfire; extra == "all"
180
+ Requires-Dist: cachetools; 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.11
File without changes
File without changes
@@ -14,61 +14,61 @@ pydantic-ai[logfire,openai]
14
14
  ollama
15
15
 
16
16
  [all]
17
+ tokenizers
17
18
  setuptools
18
- tinynetrc
19
- contexttimer
20
- tabulate
21
- transformers[sentencepiece]
22
- peft
23
- html2text
24
- pymupdf
25
- torchvision
26
- docker
27
- openai
28
- json_repair
29
- semver
30
- Unidecode
19
+ pandas
20
+ pytest-cov
31
21
  httpx_retries
32
- pydantic
33
- pyyaml
34
- pymupdf4llm
35
- regex
22
+ logfire
36
23
  bokeh
37
- sre_yield
38
- pydantic-settings
39
- distributed
40
- openpyxl
41
- huggingface_hub
42
- filetype
43
- yamlscript
44
- fastapi
45
- torchaudio
46
- google-api-python-client
47
- dask[bag]
48
- google-auth
49
24
  pydevd-pycharm~=251.25410.159
50
- flet-video
51
25
  sentence_transformers
52
- ollama
53
- google-auth-httplib2
54
- cachetools
55
- deepmerge
56
- google-auth-oauthlib
26
+ html2text
57
27
  flet-webview
28
+ transformers[sentencepiece]
29
+ pyyaml
30
+ faker
31
+ fastapi
32
+ Unidecode
33
+ pymupdf
34
+ appdirs
35
+ sre_yield
36
+ pydantic-ai[logfire,openai]
37
+ peft
38
+ flet-video
39
+ diskcache
40
+ yamlscript
41
+ pymupdf4llm
42
+ filetype
43
+ ollama
44
+ google-auth
58
45
  logfire[httpx]
59
- logfire[fastapi]
46
+ uvicorn[standard]
47
+ tinynetrc
60
48
  dnspython[doh]
49
+ google-auth-httplib2
50
+ pydantic
51
+ google-api-python-client
52
+ docker
61
53
  httpx
62
- faker
63
- pandas
64
- diskcache
65
- tokenizers
66
- pydantic-ai[logfire,openai]
67
- appdirs
54
+ tabulate
55
+ huggingface_hub
56
+ regex
57
+ openpyxl
58
+ dask[bag]
59
+ distributed
60
+ openai
61
+ deepmerge
62
+ json_repair
63
+ google-auth-oauthlib
64
+ contexttimer
65
+ semver
66
+ pydantic-settings
68
67
  flet[all]
69
- uvicorn[standard]
70
- pytest-cov
71
- logfire
68
+ cachetools
69
+ logfire[fastapi]
70
+ torchaudio
71
+ torchvision
72
72
 
73
73
  [api]
74
74
  fastapi
File without changes
File without changes
File without changes