fmtr.tools 1.2.5__tar.gz → 1.2.6__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 (88) hide show
  1. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/PKG-INFO +44 -42
  2. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/dns_tools/client.py +9 -7
  3. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/dns_tools/server.py +10 -17
  4. fmtr_tools-1.2.6/fmtr/tools/version +1 -0
  5. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr.tools.egg-info/PKG-INFO +44 -42
  6. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr.tools.egg-info/requires.txt +43 -41
  7. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/setup.py +1 -1
  8. fmtr_tools-1.2.5/fmtr/tools/version +0 -1
  9. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/LICENSE +0 -0
  10. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/README.md +0 -0
  11. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/__init__.py +0 -0
  12. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/ai_tools/__init__.py +0 -0
  13. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  14. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  15. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/api_tools.py +0 -0
  16. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/async_tools.py +0 -0
  17. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/augmentation_tools.py +0 -0
  18. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/caching_tools.py +0 -0
  19. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/constants.py +0 -0
  20. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/data_modelling_tools.py +0 -0
  21. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/dataclass_tools.py +0 -0
  22. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/datatype_tools.py +0 -0
  23. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/debugging_tools.py +0 -0
  24. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/dns_tools/__init__.py +0 -0
  25. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/dns_tools/dm.py +0 -0
  26. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/docker_tools.py +0 -0
  27. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/entrypoints/__init__.py +0 -0
  28. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  29. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/entrypoints/ep_test.py +0 -0
  30. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  31. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  32. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/environment_tools.py +0 -0
  33. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/function_tools.py +0 -0
  34. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/google_api_tools.py +0 -0
  35. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/hash_tools.py +0 -0
  36. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/hfh_tools.py +0 -0
  37. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/html_tools.py +0 -0
  38. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/http_tools.py +0 -0
  39. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/import_tools.py +0 -0
  40. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/inspection_tools.py +0 -0
  41. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/interface_tools.py +0 -0
  42. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/iterator_tools.py +0 -0
  43. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/json_fix_tools.py +0 -0
  44. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/json_tools.py +0 -0
  45. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/logging_tools.py +0 -0
  46. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/merging_tools.py +0 -0
  47. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/metric_tools.py +0 -0
  48. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/name_tools.py +0 -0
  49. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/netrc_tools.py +0 -0
  50. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/openai_tools.py +0 -0
  51. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/packaging_tools.py +0 -0
  52. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/parallel_tools.py +0 -0
  53. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/path_tools/__init__.py +0 -0
  54. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  55. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/path_tools/path_tools.py +0 -0
  56. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  57. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/pattern_tools.py +0 -0
  58. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/pdf_tools.py +0 -0
  59. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/platform_tools.py +0 -0
  60. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/process_tools.py +0 -0
  61. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/profiling_tools.py +0 -0
  62. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/random_tools.py +0 -0
  63. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/semantic_tools.py +0 -0
  64. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/settings_tools.py +0 -0
  65. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/setup_tools/__init__.py +0 -0
  66. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  67. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/spaces_tools.py +0 -0
  68. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/string_tools.py +0 -0
  69. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tabular_tools.py +0 -0
  70. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/__init__.py +0 -0
  71. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/conftest.py +0 -0
  72. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/helpers.py +0 -0
  73. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/test_datatype.py +0 -0
  74. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/test_environment.py +0 -0
  75. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/test_json.py +0 -0
  76. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/test_path.py +0 -0
  77. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tests/test_yaml.py +0 -0
  78. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tokenization_tools.py +0 -0
  79. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/tools.py +0 -0
  80. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/unicode_tools.py +0 -0
  81. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/version_tools.py +0 -0
  82. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr/tools/yaml_tools.py +0 -0
  83. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  84. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  85. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr.tools.egg-info/entry_points.txt +0 -0
  86. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/fmtr.tools.egg-info/top_level.txt +0 -0
  87. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/pyproject.toml +0 -0
  88. {fmtr_tools-1.2.5 → fmtr_tools-1.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.2.5
3
+ Version: 1.2.6
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/tools
6
6
  Author: Frontmatter
@@ -106,6 +106,8 @@ Requires-Dist: pydevd-pycharm; extra == "debug"
106
106
  Provides-Extra: sets
107
107
  Requires-Dist: pydantic-settings; extra == "sets"
108
108
  Requires-Dist: pydantic; extra == "sets"
109
+ Requires-Dist: yamlscript; extra == "sets"
110
+ Requires-Dist: pyyaml; extra == "sets"
109
111
  Provides-Extra: path-app
110
112
  Requires-Dist: appdirs; extra == "path-app"
111
113
  Provides-Extra: path-type
@@ -128,60 +130,60 @@ Requires-Dist: logfire[httpx]; extra == "http"
128
130
  Provides-Extra: setup
129
131
  Requires-Dist: setuptools; extra == "setup"
130
132
  Provides-Extra: all
131
- Requires-Dist: torchaudio; extra == "all"
132
- Requires-Dist: google-auth-oauthlib; extra == "all"
133
- Requires-Dist: deepmerge; extra == "all"
134
- Requires-Dist: httpx_retries; extra == "all"
135
- Requires-Dist: regex; extra == "all"
136
- Requires-Dist: dask[bag]; extra == "all"
137
- Requires-Dist: pytest-cov; extra == "all"
138
- Requires-Dist: flet-video; extra == "all"
133
+ Requires-Dist: google-api-python-client; extra == "all"
134
+ Requires-Dist: Unidecode; extra == "all"
139
135
  Requires-Dist: uvicorn[standard]; extra == "all"
136
+ Requires-Dist: huggingface_hub; extra == "all"
140
137
  Requires-Dist: logfire[fastapi]; extra == "all"
141
- Requires-Dist: logfire; extra == "all"
142
- Requires-Dist: bokeh; extra == "all"
143
- Requires-Dist: sre_yield; extra == "all"
144
- Requires-Dist: google-auth-httplib2; extra == "all"
145
138
  Requires-Dist: pymupdf4llm; extra == "all"
146
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
147
139
  Requires-Dist: semver; extra == "all"
148
- Requires-Dist: yamlscript; extra == "all"
149
- Requires-Dist: torchvision; extra == "all"
150
- Requires-Dist: pydevd-pycharm; extra == "all"
151
- Requires-Dist: tinynetrc; extra == "all"
152
- Requires-Dist: pyyaml; extra == "all"
153
- Requires-Dist: openai; extra == "all"
154
- Requires-Dist: sentence_transformers; extra == "all"
155
140
  Requires-Dist: pymupdf; extra == "all"
156
- Requires-Dist: pydantic-settings; extra == "all"
157
- Requires-Dist: httpx; extra == "all"
158
- Requires-Dist: tabulate; extra == "all"
159
- Requires-Dist: setuptools; extra == "all"
141
+ Requires-Dist: bokeh; extra == "all"
142
+ Requires-Dist: contexttimer; extra == "all"
160
143
  Requires-Dist: diskcache; extra == "all"
161
- Requires-Dist: distributed; extra == "all"
162
- Requires-Dist: huggingface_hub; extra == "all"
163
- Requires-Dist: flet-webview; extra == "all"
164
144
  Requires-Dist: peft; extra == "all"
165
- Requires-Dist: google-api-python-client; extra == "all"
166
- Requires-Dist: contexttimer; extra == "all"
167
- Requires-Dist: docker; extra == "all"
168
- Requires-Dist: pydantic; extra == "all"
169
- Requires-Dist: dnspython[doh]; extra == "all"
170
- Requires-Dist: openpyxl; extra == "all"
171
- Requires-Dist: filetype; extra == "all"
172
- Requires-Dist: fastapi; extra == "all"
173
- Requires-Dist: faker; extra == "all"
145
+ Requires-Dist: dask[bag]; extra == "all"
146
+ Requires-Dist: pydevd-pycharm; extra == "all"
174
147
  Requires-Dist: transformers[sentencepiece]; extra == "all"
175
- Requires-Dist: Unidecode; extra == "all"
148
+ Requires-Dist: regex; extra == "all"
149
+ Requires-Dist: json_repair; extra == "all"
150
+ Requires-Dist: html2text; extra == "all"
151
+ Requires-Dist: faker; extra == "all"
152
+ Requires-Dist: openpyxl; extra == "all"
176
153
  Requires-Dist: appdirs; extra == "all"
177
154
  Requires-Dist: logfire[httpx]; extra == "all"
178
- Requires-Dist: tokenizers; extra == "all"
179
- Requires-Dist: html2text; extra == "all"
155
+ Requires-Dist: openai; extra == "all"
156
+ Requires-Dist: sentence_transformers; extra == "all"
157
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
158
+ Requires-Dist: fastapi; extra == "all"
159
+ Requires-Dist: torchvision; extra == "all"
180
160
  Requires-Dist: ollama; extra == "all"
181
- Requires-Dist: json_repair; extra == "all"
161
+ Requires-Dist: tokenizers; extra == "all"
162
+ Requires-Dist: dnspython[doh]; extra == "all"
163
+ Requires-Dist: flet-video; extra == "all"
164
+ Requires-Dist: pandas; extra == "all"
165
+ Requires-Dist: yamlscript; extra == "all"
166
+ Requires-Dist: filetype; extra == "all"
167
+ Requires-Dist: logfire; extra == "all"
168
+ Requires-Dist: tabulate; extra == "all"
169
+ Requires-Dist: google-auth-oauthlib; extra == "all"
182
170
  Requires-Dist: flet[all]; extra == "all"
171
+ Requires-Dist: pydantic-settings; extra == "all"
172
+ Requires-Dist: tinynetrc; extra == "all"
173
+ Requires-Dist: deepmerge; extra == "all"
174
+ Requires-Dist: distributed; extra == "all"
175
+ Requires-Dist: flet-webview; extra == "all"
176
+ Requires-Dist: setuptools; extra == "all"
177
+ Requires-Dist: pyyaml; extra == "all"
178
+ Requires-Dist: sre_yield; extra == "all"
183
179
  Requires-Dist: google-auth; extra == "all"
184
- Requires-Dist: pandas; extra == "all"
180
+ Requires-Dist: torchaudio; extra == "all"
181
+ Requires-Dist: pydantic; extra == "all"
182
+ Requires-Dist: google-auth-httplib2; extra == "all"
183
+ Requires-Dist: docker; extra == "all"
184
+ Requires-Dist: httpx; extra == "all"
185
+ Requires-Dist: pytest-cov; extra == "all"
186
+ Requires-Dist: httpx_retries; extra == "all"
185
187
  Dynamic: author
186
188
  Dynamic: author-email
187
189
  Dynamic: description
@@ -1,4 +1,5 @@
1
1
  import dns
2
+ from dataclasses import dataclass
2
3
  from dns import query
3
4
  from functools import cached_property
4
5
  from httpx_retries import Retry, RetryTransport
@@ -39,6 +40,7 @@ class ClientBasePlain:
39
40
  exchange.response_upstream = Response.from_message(response)
40
41
 
41
42
 
43
+ @dataclass
42
44
  class ClientDoH:
43
45
  """
44
46
 
@@ -47,19 +49,19 @@ class ClientDoH:
47
49
  """
48
50
 
49
51
  HEADERS = {"Content-Type": "application/dns-message"}
50
- client = HTTPClientDoH()
52
+ CLIENT = HTTPClientDoH()
53
+ BOOTSTRAP = ClientBasePlain('8.8.8.8')
54
+
55
+ host: str
56
+ url: str
51
57
 
52
- def __init__(self, host, url):
53
- self.host = host
54
- self.url = url
55
- self.bootstrap = ClientBasePlain('8.8.8.8')
56
58
 
57
59
  @cached_property
58
60
  def ip(self):
59
61
  message = dns.message.make_query(self.host, dns.rdatatype.A, flags=0)
60
62
  request = Request.from_message(message)
61
63
  exchange = Exchange(request=request, ip=None, port=None)
62
- self.bootstrap.resolve(exchange)
64
+ self.BOOTSTRAP.resolve(exchange)
63
65
  ip = next(iter(exchange.response_upstream.answer.items.keys())).address
64
66
  return ip
65
67
 
@@ -72,7 +74,7 @@ class ClientDoH:
72
74
  request = exchange.request
73
75
  headers = self.HEADERS | dict(Host=self.host)
74
76
  url = self.url.format(host=self.ip)
75
- response_doh = self.client.post(url, headers=headers, content=request.wire)
77
+ response_doh = self.CLIENT.post(url, headers=headers, content=request.wire)
76
78
  response_doh.raise_for_status()
77
79
  response = Response.from_http(response_doh)
78
80
  exchange.response_upstream = response
@@ -1,10 +1,12 @@
1
1
  import socket
2
+ from dataclasses import dataclass
2
3
 
3
4
  from fmtr.tools import logger
4
5
  from fmtr.tools.dns_tools.client import ClientDoH
5
- from fmtr.tools.dns_tools.dm import Exchange, Response
6
+ from fmtr.tools.dns_tools.dm import Exchange
6
7
 
7
8
 
9
+ @dataclass
8
10
  class ServerBasePlain:
9
11
  """
10
12
 
@@ -12,9 +14,11 @@ class ServerBasePlain:
12
14
 
13
15
  """
14
16
 
15
- def __init__(self, host, port):
16
- self.host = host
17
- self.port = port
17
+ host: str
18
+ port: int
19
+
20
+ def __post_init__(self):
21
+
18
22
  self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
19
23
 
20
24
  def resolve(self, exchange: Exchange):
@@ -36,6 +40,7 @@ class ServerBasePlain:
36
40
  sock.sendto(exchange.response.wire, (ip, port))
37
41
 
38
42
 
43
+ @dataclass
39
44
  class ServerBaseDoHProxy(ServerBasePlain):
40
45
  """
41
46
 
@@ -43,9 +48,7 @@ class ServerBaseDoHProxy(ServerBasePlain):
43
48
 
44
49
  """
45
50
 
46
- def __init__(self, host, port, client: ClientDoH):
47
- super().__init__(host, port)
48
- self.client = client
51
+ client: ClientDoH
49
52
 
50
53
  def process_question(self, exchange: Exchange):
51
54
  return
@@ -53,16 +56,6 @@ class ServerBaseDoHProxy(ServerBasePlain):
53
56
  def process_upstream(self, exchange: Exchange):
54
57
  return
55
58
 
56
- def from_upstream(self, exchange: Exchange) -> Exchange:
57
-
58
- request = exchange.request
59
- response_doh = self.client.post(self.URL, headers=self.HEADERS, content=request.wire)
60
- response_doh.raise_for_status()
61
- response = Response.from_http(response_doh)
62
- exchange.response_upstream = response
63
-
64
- return exchange
65
-
66
59
  def resolve(self, exchange: Exchange):
67
60
  """
68
61
 
@@ -0,0 +1 @@
1
+ 1.2.6
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.2.5
3
+ Version: 1.2.6
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/tools
6
6
  Author: Frontmatter
@@ -106,6 +106,8 @@ Requires-Dist: pydevd-pycharm; extra == "debug"
106
106
  Provides-Extra: sets
107
107
  Requires-Dist: pydantic-settings; extra == "sets"
108
108
  Requires-Dist: pydantic; extra == "sets"
109
+ Requires-Dist: yamlscript; extra == "sets"
110
+ Requires-Dist: pyyaml; extra == "sets"
109
111
  Provides-Extra: path-app
110
112
  Requires-Dist: appdirs; extra == "path-app"
111
113
  Provides-Extra: path-type
@@ -128,60 +130,60 @@ Requires-Dist: logfire[httpx]; extra == "http"
128
130
  Provides-Extra: setup
129
131
  Requires-Dist: setuptools; extra == "setup"
130
132
  Provides-Extra: all
131
- Requires-Dist: torchaudio; extra == "all"
132
- Requires-Dist: google-auth-oauthlib; extra == "all"
133
- Requires-Dist: deepmerge; extra == "all"
134
- Requires-Dist: httpx_retries; extra == "all"
135
- Requires-Dist: regex; extra == "all"
136
- Requires-Dist: dask[bag]; extra == "all"
137
- Requires-Dist: pytest-cov; extra == "all"
138
- Requires-Dist: flet-video; extra == "all"
133
+ Requires-Dist: google-api-python-client; extra == "all"
134
+ Requires-Dist: Unidecode; extra == "all"
139
135
  Requires-Dist: uvicorn[standard]; extra == "all"
136
+ Requires-Dist: huggingface_hub; extra == "all"
140
137
  Requires-Dist: logfire[fastapi]; extra == "all"
141
- Requires-Dist: logfire; extra == "all"
142
- Requires-Dist: bokeh; extra == "all"
143
- Requires-Dist: sre_yield; extra == "all"
144
- Requires-Dist: google-auth-httplib2; extra == "all"
145
138
  Requires-Dist: pymupdf4llm; extra == "all"
146
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
147
139
  Requires-Dist: semver; extra == "all"
148
- Requires-Dist: yamlscript; extra == "all"
149
- Requires-Dist: torchvision; extra == "all"
150
- Requires-Dist: pydevd-pycharm; extra == "all"
151
- Requires-Dist: tinynetrc; extra == "all"
152
- Requires-Dist: pyyaml; extra == "all"
153
- Requires-Dist: openai; extra == "all"
154
- Requires-Dist: sentence_transformers; extra == "all"
155
140
  Requires-Dist: pymupdf; extra == "all"
156
- Requires-Dist: pydantic-settings; extra == "all"
157
- Requires-Dist: httpx; extra == "all"
158
- Requires-Dist: tabulate; extra == "all"
159
- Requires-Dist: setuptools; extra == "all"
141
+ Requires-Dist: bokeh; extra == "all"
142
+ Requires-Dist: contexttimer; extra == "all"
160
143
  Requires-Dist: diskcache; extra == "all"
161
- Requires-Dist: distributed; extra == "all"
162
- Requires-Dist: huggingface_hub; extra == "all"
163
- Requires-Dist: flet-webview; extra == "all"
164
144
  Requires-Dist: peft; extra == "all"
165
- Requires-Dist: google-api-python-client; extra == "all"
166
- Requires-Dist: contexttimer; extra == "all"
167
- Requires-Dist: docker; extra == "all"
168
- Requires-Dist: pydantic; extra == "all"
169
- Requires-Dist: dnspython[doh]; extra == "all"
170
- Requires-Dist: openpyxl; extra == "all"
171
- Requires-Dist: filetype; extra == "all"
172
- Requires-Dist: fastapi; extra == "all"
173
- Requires-Dist: faker; extra == "all"
145
+ Requires-Dist: dask[bag]; extra == "all"
146
+ Requires-Dist: pydevd-pycharm; extra == "all"
174
147
  Requires-Dist: transformers[sentencepiece]; extra == "all"
175
- Requires-Dist: Unidecode; extra == "all"
148
+ Requires-Dist: regex; extra == "all"
149
+ Requires-Dist: json_repair; extra == "all"
150
+ Requires-Dist: html2text; extra == "all"
151
+ Requires-Dist: faker; extra == "all"
152
+ Requires-Dist: openpyxl; extra == "all"
176
153
  Requires-Dist: appdirs; extra == "all"
177
154
  Requires-Dist: logfire[httpx]; extra == "all"
178
- Requires-Dist: tokenizers; extra == "all"
179
- Requires-Dist: html2text; extra == "all"
155
+ Requires-Dist: openai; extra == "all"
156
+ Requires-Dist: sentence_transformers; extra == "all"
157
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
158
+ Requires-Dist: fastapi; extra == "all"
159
+ Requires-Dist: torchvision; extra == "all"
180
160
  Requires-Dist: ollama; extra == "all"
181
- Requires-Dist: json_repair; extra == "all"
161
+ Requires-Dist: tokenizers; extra == "all"
162
+ Requires-Dist: dnspython[doh]; extra == "all"
163
+ Requires-Dist: flet-video; extra == "all"
164
+ Requires-Dist: pandas; extra == "all"
165
+ Requires-Dist: yamlscript; extra == "all"
166
+ Requires-Dist: filetype; extra == "all"
167
+ Requires-Dist: logfire; extra == "all"
168
+ Requires-Dist: tabulate; extra == "all"
169
+ Requires-Dist: google-auth-oauthlib; extra == "all"
182
170
  Requires-Dist: flet[all]; extra == "all"
171
+ Requires-Dist: pydantic-settings; extra == "all"
172
+ Requires-Dist: tinynetrc; extra == "all"
173
+ Requires-Dist: deepmerge; extra == "all"
174
+ Requires-Dist: distributed; extra == "all"
175
+ Requires-Dist: flet-webview; extra == "all"
176
+ Requires-Dist: setuptools; extra == "all"
177
+ Requires-Dist: pyyaml; extra == "all"
178
+ Requires-Dist: sre_yield; extra == "all"
183
179
  Requires-Dist: google-auth; extra == "all"
184
- Requires-Dist: pandas; extra == "all"
180
+ Requires-Dist: torchaudio; extra == "all"
181
+ Requires-Dist: pydantic; extra == "all"
182
+ Requires-Dist: google-auth-httplib2; extra == "all"
183
+ Requires-Dist: docker; extra == "all"
184
+ Requires-Dist: httpx; extra == "all"
185
+ Requires-Dist: pytest-cov; extra == "all"
186
+ Requires-Dist: httpx_retries; extra == "all"
185
187
  Dynamic: author
186
188
  Dynamic: author-email
187
189
  Dynamic: description
@@ -15,60 +15,60 @@ pydantic-ai[logfire,openai]
15
15
  ollama
16
16
 
17
17
  [all]
18
- torchaudio
19
- google-auth-oauthlib
20
- deepmerge
21
- httpx_retries
22
- regex
23
- dask[bag]
24
- pytest-cov
25
- flet-video
18
+ google-api-python-client
19
+ Unidecode
26
20
  uvicorn[standard]
21
+ huggingface_hub
27
22
  logfire[fastapi]
28
- logfire
29
- bokeh
30
- sre_yield
31
- google-auth-httplib2
32
23
  pymupdf4llm
33
- pydantic-ai[logfire,openai]
34
24
  semver
35
- yamlscript
36
- torchvision
37
- pydevd-pycharm
38
- tinynetrc
39
- pyyaml
40
- openai
41
- sentence_transformers
42
25
  pymupdf
43
- pydantic-settings
44
- httpx
45
- tabulate
46
- setuptools
26
+ bokeh
27
+ contexttimer
47
28
  diskcache
48
- distributed
49
- huggingface_hub
50
- flet-webview
51
29
  peft
52
- google-api-python-client
53
- contexttimer
54
- docker
55
- pydantic
56
- dnspython[doh]
57
- openpyxl
58
- filetype
59
- fastapi
60
- faker
30
+ dask[bag]
31
+ pydevd-pycharm
61
32
  transformers[sentencepiece]
62
- Unidecode
33
+ regex
34
+ json_repair
35
+ html2text
36
+ faker
37
+ openpyxl
63
38
  appdirs
64
39
  logfire[httpx]
65
- tokenizers
66
- html2text
40
+ openai
41
+ sentence_transformers
42
+ pydantic-ai[logfire,openai]
43
+ fastapi
44
+ torchvision
67
45
  ollama
68
- json_repair
46
+ tokenizers
47
+ dnspython[doh]
48
+ flet-video
49
+ pandas
50
+ yamlscript
51
+ filetype
52
+ logfire
53
+ tabulate
54
+ google-auth-oauthlib
69
55
  flet[all]
56
+ pydantic-settings
57
+ tinynetrc
58
+ deepmerge
59
+ distributed
60
+ flet-webview
61
+ setuptools
62
+ pyyaml
63
+ sre_yield
70
64
  google-auth
71
- pandas
65
+ torchaudio
66
+ pydantic
67
+ google-auth-httplib2
68
+ docker
69
+ httpx
70
+ pytest-cov
71
+ httpx_retries
72
72
 
73
73
  [api]
74
74
  fastapi
@@ -183,6 +183,8 @@ openpyxl
183
183
  [sets]
184
184
  pydantic-settings
185
185
  pydantic
186
+ yamlscript
187
+ pyyaml
186
188
 
187
189
  [setup]
188
190
  setuptools
@@ -32,7 +32,7 @@ DEPENDENCIES = {
32
32
  'caching': ['diskcache'],
33
33
  'pdf': ['pymupdf', 'dm', 'pymupdf4llm'],
34
34
  'debug': ['pydevd-pycharm'],
35
- 'sets': ['pydantic-settings', 'dm'],
35
+ 'sets': ['pydantic-settings', 'dm', 'yaml'],
36
36
  'path.app': ['appdirs'],
37
37
  'path.type': ['filetype'],
38
38
  'dns': ['dnspython[doh]', 'http'],
@@ -1 +0,0 @@
1
- 1.2.5
File without changes
File without changes
File without changes
File without changes