fmtr.tools 1.3.35__tar.gz → 1.3.36__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 (96) hide show
  1. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/PKG-INFO +50 -45
  2. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/__init__.py +5 -0
  3. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/constants.py +1 -0
  4. fmtr_tools-1.3.36/fmtr/tools/version +1 -0
  5. fmtr_tools-1.3.36/fmtr/tools/webhook_tools.py +17 -0
  6. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr.tools.egg-info/PKG-INFO +50 -45
  7. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr.tools.egg-info/SOURCES.txt +2 -0
  8. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr.tools.egg-info/requires.txt +50 -44
  9. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/setup.py +2 -1
  10. fmtr_tools-1.3.35/fmtr/tools/version +0 -1
  11. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/LICENSE +0 -0
  12. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/README.md +0 -0
  13. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/ai_tools/__init__.py +0 -0
  14. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  15. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  16. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/api_tools.py +0 -0
  17. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/async_tools.py +0 -0
  18. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/augmentation_tools.py +0 -0
  19. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/caching_tools.py +0 -0
  20. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/context_tools.py +0 -0
  21. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/data_modelling_tools.py +0 -0
  22. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/dataclass_tools.py +0 -0
  23. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/datatype_tools.py +0 -0
  24. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/debugging_tools.py +0 -0
  25. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/dns_tools/__init__.py +0 -0
  26. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/dns_tools/client.py +0 -0
  27. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/dns_tools/dm.py +0 -0
  28. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/dns_tools/proxy.py +0 -0
  29. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/dns_tools/server.py +0 -0
  30. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/docker_tools.py +0 -0
  31. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/entrypoints/__init__.py +0 -0
  32. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  33. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/entrypoints/ep_test.py +0 -0
  34. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
  35. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  36. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  37. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/environment_tools.py +0 -0
  38. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/function_tools.py +0 -0
  39. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/google_api_tools.py +0 -0
  40. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/hash_tools.py +0 -0
  41. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/hfh_tools.py +0 -0
  42. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/html_tools.py +0 -0
  43. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/http_tools.py +0 -0
  44. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/import_tools.py +0 -0
  45. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/inherit_tools.py +0 -0
  46. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/inspection_tools.py +0 -0
  47. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/interface_tools/__init__.py +0 -0
  48. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/interface_tools/controls.py +0 -0
  49. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/interface_tools/interface_tools.py +0 -0
  50. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/iterator_tools.py +0 -0
  51. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/json_fix_tools.py +0 -0
  52. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/json_tools.py +0 -0
  53. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/logging_tools.py +0 -0
  54. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/merging_tools.py +0 -0
  55. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/metric_tools.py +0 -0
  56. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/name_tools.py +0 -0
  57. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/netrc_tools.py +0 -0
  58. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/openai_tools.py +0 -0
  59. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/packaging_tools.py +0 -0
  60. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/parallel_tools.py +0 -0
  61. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/path_tools/__init__.py +0 -0
  62. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  63. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/path_tools/path_tools.py +0 -0
  64. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  65. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/pattern_tools.py +0 -0
  66. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/pdf_tools.py +0 -0
  67. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/platform_tools.py +0 -0
  68. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/process_tools.py +0 -0
  69. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/profiling_tools.py +0 -0
  70. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/random_tools.py +0 -0
  71. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/semantic_tools.py +0 -0
  72. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/settings_tools.py +0 -0
  73. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/setup_tools/__init__.py +0 -0
  74. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  75. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/spaces_tools.py +0 -0
  76. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/string_tools.py +0 -0
  77. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tabular_tools.py +0 -0
  78. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/__init__.py +0 -0
  79. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/conftest.py +0 -0
  80. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/helpers.py +0 -0
  81. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/test_datatype.py +0 -0
  82. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/test_environment.py +0 -0
  83. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/test_json.py +0 -0
  84. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/test_path.py +0 -0
  85. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tests/test_yaml.py +0 -0
  86. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tokenization_tools.py +0 -0
  87. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/tools.py +0 -0
  88. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/unicode_tools.py +0 -0
  89. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/version_tools/__init__.py +0 -0
  90. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/version_tools/version_tools.py +0 -0
  91. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr/tools/yaml_tools.py +0 -0
  92. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  93. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr.tools.egg-info/entry_points.txt +0 -0
  94. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/fmtr.tools.egg-info/top_level.txt +0 -0
  95. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/pyproject.toml +0 -0
  96. {fmtr_tools-1.3.35 → fmtr_tools-1.3.36}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.35
3
+ Version: 1.3.36
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
@@ -125,62 +125,67 @@ Requires-Dist: logfire; extra == "http"
125
125
  Requires-Dist: logfire[httpx]; extra == "http"
126
126
  Provides-Extra: setup
127
127
  Requires-Dist: setuptools; extra == "setup"
128
+ Provides-Extra: webhook
129
+ Requires-Dist: httpx; extra == "webhook"
130
+ Requires-Dist: httpx_retries; extra == "webhook"
131
+ Requires-Dist: logfire; extra == "webhook"
132
+ Requires-Dist: logfire[httpx]; extra == "webhook"
128
133
  Provides-Extra: all
129
- Requires-Dist: uvicorn[standard]; extra == "all"
130
- Requires-Dist: tinynetrc; extra == "all"
131
- Requires-Dist: deepmerge; extra == "all"
132
- Requires-Dist: sentence_transformers; extra == "all"
133
- Requires-Dist: torchvision; extra == "all"
134
- Requires-Dist: yamlscript; extra == "all"
135
- Requires-Dist: ollama; extra == "all"
136
- Requires-Dist: logfire[fastapi]; extra == "all"
137
134
  Requires-Dist: huggingface_hub; extra == "all"
138
- Requires-Dist: faker; extra == "all"
139
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
140
- Requires-Dist: logfire[httpx]; extra == "all"
141
- Requires-Dist: distributed; extra == "all"
142
- Requires-Dist: semver; extra == "all"
135
+ Requires-Dist: torchaudio; extra == "all"
143
136
  Requires-Dist: openpyxl; extra == "all"
144
- Requires-Dist: google-auth-httplib2; extra == "all"
137
+ Requires-Dist: logfire; extra == "all"
138
+ Requires-Dist: pytest-cov; extra == "all"
139
+ Requires-Dist: httpx_retries; extra == "all"
140
+ Requires-Dist: semver; extra == "all"
141
+ Requires-Dist: logfire[fastapi]; extra == "all"
142
+ Requires-Dist: uvicorn[standard]; extra == "all"
143
+ Requires-Dist: torchvision; extra == "all"
145
144
  Requires-Dist: dnspython[doh]; extra == "all"
146
- Requires-Dist: openai; extra == "all"
147
- Requires-Dist: Unidecode; extra == "all"
148
- Requires-Dist: transformers[sentencepiece]; extra == "all"
149
- Requires-Dist: cachetools; extra == "all"
150
- Requires-Dist: google-auth-oauthlib; extra == "all"
151
- Requires-Dist: pydantic; extra == "all"
152
- Requires-Dist: httpx; extra == "all"
153
- Requires-Dist: docker; extra == "all"
154
- Requires-Dist: peft; extra == "all"
155
- Requires-Dist: torchaudio; extra == "all"
145
+ Requires-Dist: google-auth; extra == "all"
156
146
  Requires-Dist: flet-video; extra == "all"
157
- Requires-Dist: regex; extra == "all"
147
+ Requires-Dist: json_repair; extra == "all"
148
+ Requires-Dist: contexttimer; extra == "all"
149
+ Requires-Dist: html2text; extra == "all"
150
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
151
+ Requires-Dist: dask[bag]; extra == "all"
158
152
  Requires-Dist: pandas; extra == "all"
153
+ Requires-Dist: bokeh; extra == "all"
154
+ Requires-Dist: httpx; extra == "all"
155
+ Requires-Dist: flet[all]; extra == "all"
156
+ Requires-Dist: fastapi; extra == "all"
159
157
  Requires-Dist: google-api-python-client; extra == "all"
160
- Requires-Dist: appdirs; extra == "all"
161
- Requires-Dist: logfire; extra == "all"
158
+ Requires-Dist: Unidecode; extra == "all"
159
+ Requires-Dist: peft; extra == "all"
160
+ Requires-Dist: tabulate; extra == "all"
161
+ Requires-Dist: cachetools; extra == "all"
162
+ Requires-Dist: pydantic; extra == "all"
162
163
  Requires-Dist: setuptools; extra == "all"
163
- Requires-Dist: flet[all]; extra == "all"
164
- Requires-Dist: json_repair; extra == "all"
165
- Requires-Dist: tokenizers; extra == "all"
166
- Requires-Dist: bokeh; extra == "all"
167
- Requires-Dist: google-auth; extra == "all"
168
- Requires-Dist: html2text; extra == "all"
164
+ Requires-Dist: openai; extra == "all"
165
+ Requires-Dist: tinynetrc; extra == "all"
169
166
  Requires-Dist: pymupdf4llm; extra == "all"
170
- Requires-Dist: pytest-cov; extra == "all"
171
- Requires-Dist: contexttimer; extra == "all"
172
- Requires-Dist: fastapi; extra == "all"
167
+ Requires-Dist: docker; extra == "all"
168
+ Requires-Dist: faker; extra == "all"
169
+ Requires-Dist: ollama; extra == "all"
173
170
  Requires-Dist: flet-webview; extra == "all"
174
- Requires-Dist: pydantic-settings; extra == "all"
175
- Requires-Dist: sre_yield; extra == "all"
176
- Requires-Dist: httpx_retries; extra == "all"
177
- Requires-Dist: tabulate; extra == "all"
178
- Requires-Dist: pyyaml; extra == "all"
179
- Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
171
+ Requires-Dist: google-auth-httplib2; extra == "all"
172
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
173
+ Requires-Dist: sentence_transformers; extra == "all"
174
+ Requires-Dist: filetype; extra == "all"
175
+ Requires-Dist: yamlscript; extra == "all"
180
176
  Requires-Dist: diskcache; extra == "all"
177
+ Requires-Dist: regex; extra == "all"
178
+ Requires-Dist: distributed; extra == "all"
179
+ Requires-Dist: deepmerge; extra == "all"
180
+ Requires-Dist: google-auth-oauthlib; extra == "all"
181
181
  Requires-Dist: pymupdf; extra == "all"
182
- Requires-Dist: dask[bag]; extra == "all"
183
- Requires-Dist: filetype; extra == "all"
182
+ Requires-Dist: pyyaml; extra == "all"
183
+ Requires-Dist: appdirs; extra == "all"
184
+ Requires-Dist: logfire[httpx]; extra == "all"
185
+ Requires-Dist: sre_yield; extra == "all"
186
+ Requires-Dist: pydantic-settings; extra == "all"
187
+ Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
188
+ Requires-Dist: tokenizers; extra == "all"
184
189
  Dynamic: author
185
190
  Dynamic: author-email
186
191
  Dynamic: description
@@ -168,6 +168,11 @@ try:
168
168
  except ImportError as exception:
169
169
  http = Client = MissingExtraMockModule('http', exception)
170
170
 
171
+ try:
172
+ from fmtr.tools import webhook_tools as webhook
173
+ except ImportError as exception:
174
+ webhook = MissingExtraMockModule('webhook', exception)
175
+
171
176
 
172
177
  def get_version():
173
178
  """
@@ -53,3 +53,4 @@ class Constants:
53
53
  INFRA = 'infra'
54
54
 
55
55
  PROMPT_NONE_SPECIFIED = '[None Specified]'
56
+ WEBHOOK_URL_NOTIFY_KEY = 'WEBHOOK_URL_NOTIFY'
@@ -0,0 +1 @@
1
+ 1.3.36
@@ -0,0 +1,17 @@
1
+ from fmtr.tools import environment_tools, Constants
2
+ from fmtr.tools.http_tools import client
3
+
4
+
5
+ def notify(title, body, url=None):
6
+ """
7
+
8
+ Send simple debug notification
9
+
10
+ """
11
+ url = url or environment_tools.get(Constants.WEBHOOK_URL_NOTIFY_KEY)
12
+ client.post(url, json=dict(title=title, body=body))
13
+
14
+
15
+ if __name__ == '__main__':
16
+ notify('Title', 'Body')
17
+ notify
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.35
3
+ Version: 1.3.36
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
@@ -125,62 +125,67 @@ Requires-Dist: logfire; extra == "http"
125
125
  Requires-Dist: logfire[httpx]; extra == "http"
126
126
  Provides-Extra: setup
127
127
  Requires-Dist: setuptools; extra == "setup"
128
+ Provides-Extra: webhook
129
+ Requires-Dist: httpx; extra == "webhook"
130
+ Requires-Dist: httpx_retries; extra == "webhook"
131
+ Requires-Dist: logfire; extra == "webhook"
132
+ Requires-Dist: logfire[httpx]; extra == "webhook"
128
133
  Provides-Extra: all
129
- Requires-Dist: uvicorn[standard]; extra == "all"
130
- Requires-Dist: tinynetrc; extra == "all"
131
- Requires-Dist: deepmerge; extra == "all"
132
- Requires-Dist: sentence_transformers; extra == "all"
133
- Requires-Dist: torchvision; extra == "all"
134
- Requires-Dist: yamlscript; extra == "all"
135
- Requires-Dist: ollama; extra == "all"
136
- Requires-Dist: logfire[fastapi]; extra == "all"
137
134
  Requires-Dist: huggingface_hub; extra == "all"
138
- Requires-Dist: faker; extra == "all"
139
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
140
- Requires-Dist: logfire[httpx]; extra == "all"
141
- Requires-Dist: distributed; extra == "all"
142
- Requires-Dist: semver; extra == "all"
135
+ Requires-Dist: torchaudio; extra == "all"
143
136
  Requires-Dist: openpyxl; extra == "all"
144
- Requires-Dist: google-auth-httplib2; extra == "all"
137
+ Requires-Dist: logfire; extra == "all"
138
+ Requires-Dist: pytest-cov; extra == "all"
139
+ Requires-Dist: httpx_retries; extra == "all"
140
+ Requires-Dist: semver; extra == "all"
141
+ Requires-Dist: logfire[fastapi]; extra == "all"
142
+ Requires-Dist: uvicorn[standard]; extra == "all"
143
+ Requires-Dist: torchvision; extra == "all"
145
144
  Requires-Dist: dnspython[doh]; extra == "all"
146
- Requires-Dist: openai; extra == "all"
147
- Requires-Dist: Unidecode; extra == "all"
148
- Requires-Dist: transformers[sentencepiece]; extra == "all"
149
- Requires-Dist: cachetools; extra == "all"
150
- Requires-Dist: google-auth-oauthlib; extra == "all"
151
- Requires-Dist: pydantic; extra == "all"
152
- Requires-Dist: httpx; extra == "all"
153
- Requires-Dist: docker; extra == "all"
154
- Requires-Dist: peft; extra == "all"
155
- Requires-Dist: torchaudio; extra == "all"
145
+ Requires-Dist: google-auth; extra == "all"
156
146
  Requires-Dist: flet-video; extra == "all"
157
- Requires-Dist: regex; extra == "all"
147
+ Requires-Dist: json_repair; extra == "all"
148
+ Requires-Dist: contexttimer; extra == "all"
149
+ Requires-Dist: html2text; extra == "all"
150
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
151
+ Requires-Dist: dask[bag]; extra == "all"
158
152
  Requires-Dist: pandas; extra == "all"
153
+ Requires-Dist: bokeh; extra == "all"
154
+ Requires-Dist: httpx; extra == "all"
155
+ Requires-Dist: flet[all]; extra == "all"
156
+ Requires-Dist: fastapi; extra == "all"
159
157
  Requires-Dist: google-api-python-client; extra == "all"
160
- Requires-Dist: appdirs; extra == "all"
161
- Requires-Dist: logfire; extra == "all"
158
+ Requires-Dist: Unidecode; extra == "all"
159
+ Requires-Dist: peft; extra == "all"
160
+ Requires-Dist: tabulate; extra == "all"
161
+ Requires-Dist: cachetools; extra == "all"
162
+ Requires-Dist: pydantic; extra == "all"
162
163
  Requires-Dist: setuptools; extra == "all"
163
- Requires-Dist: flet[all]; extra == "all"
164
- Requires-Dist: json_repair; extra == "all"
165
- Requires-Dist: tokenizers; extra == "all"
166
- Requires-Dist: bokeh; extra == "all"
167
- Requires-Dist: google-auth; extra == "all"
168
- Requires-Dist: html2text; extra == "all"
164
+ Requires-Dist: openai; extra == "all"
165
+ Requires-Dist: tinynetrc; extra == "all"
169
166
  Requires-Dist: pymupdf4llm; extra == "all"
170
- Requires-Dist: pytest-cov; extra == "all"
171
- Requires-Dist: contexttimer; extra == "all"
172
- Requires-Dist: fastapi; extra == "all"
167
+ Requires-Dist: docker; extra == "all"
168
+ Requires-Dist: faker; extra == "all"
169
+ Requires-Dist: ollama; extra == "all"
173
170
  Requires-Dist: flet-webview; extra == "all"
174
- Requires-Dist: pydantic-settings; extra == "all"
175
- Requires-Dist: sre_yield; extra == "all"
176
- Requires-Dist: httpx_retries; extra == "all"
177
- Requires-Dist: tabulate; extra == "all"
178
- Requires-Dist: pyyaml; extra == "all"
179
- Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
171
+ Requires-Dist: google-auth-httplib2; extra == "all"
172
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
173
+ Requires-Dist: sentence_transformers; extra == "all"
174
+ Requires-Dist: filetype; extra == "all"
175
+ Requires-Dist: yamlscript; extra == "all"
180
176
  Requires-Dist: diskcache; extra == "all"
177
+ Requires-Dist: regex; extra == "all"
178
+ Requires-Dist: distributed; extra == "all"
179
+ Requires-Dist: deepmerge; extra == "all"
180
+ Requires-Dist: google-auth-oauthlib; extra == "all"
181
181
  Requires-Dist: pymupdf; extra == "all"
182
- Requires-Dist: dask[bag]; extra == "all"
183
- Requires-Dist: filetype; extra == "all"
182
+ Requires-Dist: pyyaml; extra == "all"
183
+ Requires-Dist: appdirs; extra == "all"
184
+ Requires-Dist: logfire[httpx]; extra == "all"
185
+ Requires-Dist: sre_yield; extra == "all"
186
+ Requires-Dist: pydantic-settings; extra == "all"
187
+ Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
188
+ Requires-Dist: tokenizers; extra == "all"
184
189
  Dynamic: author
185
190
  Dynamic: author-email
186
191
  Dynamic: description
@@ -50,6 +50,7 @@ setup.py
50
50
  ./fmtr/tools/tools.py
51
51
  ./fmtr/tools/unicode_tools.py
52
52
  ./fmtr/tools/version
53
+ ./fmtr/tools/webhook_tools.py
53
54
  ./fmtr/tools/yaml_tools.py
54
55
  ./fmtr/tools/ai_tools/__init__.py
55
56
  ./fmtr/tools/ai_tools/agentic_tools.py
@@ -138,6 +139,7 @@ fmtr/tools/tokenization_tools.py
138
139
  fmtr/tools/tools.py
139
140
  fmtr/tools/unicode_tools.py
140
141
  fmtr/tools/version
142
+ fmtr/tools/webhook_tools.py
141
143
  fmtr/tools/yaml_tools.py
142
144
  fmtr/tools/ai_tools/__init__.py
143
145
  fmtr/tools/ai_tools/agentic_tools.py
@@ -14,61 +14,61 @@ pydantic-ai[logfire,openai]
14
14
  ollama
15
15
 
16
16
  [all]
17
- uvicorn[standard]
18
- tinynetrc
19
- deepmerge
20
- sentence_transformers
21
- torchvision
22
- yamlscript
23
- ollama
24
- logfire[fastapi]
25
17
  huggingface_hub
26
- faker
27
- pydantic-ai[logfire,openai]
28
- logfire[httpx]
29
- distributed
30
- semver
18
+ torchaudio
31
19
  openpyxl
32
- google-auth-httplib2
20
+ logfire
21
+ pytest-cov
22
+ httpx_retries
23
+ semver
24
+ logfire[fastapi]
25
+ uvicorn[standard]
26
+ torchvision
33
27
  dnspython[doh]
34
- openai
35
- Unidecode
36
- transformers[sentencepiece]
37
- cachetools
38
- google-auth-oauthlib
39
- pydantic
40
- httpx
41
- docker
42
- peft
43
- torchaudio
28
+ google-auth
44
29
  flet-video
45
- regex
30
+ json_repair
31
+ contexttimer
32
+ html2text
33
+ transformers[sentencepiece]
34
+ dask[bag]
46
35
  pandas
36
+ bokeh
37
+ httpx
38
+ flet[all]
39
+ fastapi
47
40
  google-api-python-client
48
- appdirs
49
- logfire
41
+ Unidecode
42
+ peft
43
+ tabulate
44
+ cachetools
45
+ pydantic
50
46
  setuptools
51
- flet[all]
52
- json_repair
53
- tokenizers
54
- bokeh
55
- google-auth
56
- html2text
47
+ openai
48
+ tinynetrc
57
49
  pymupdf4llm
58
- pytest-cov
59
- contexttimer
60
- fastapi
50
+ docker
51
+ faker
52
+ ollama
61
53
  flet-webview
62
- pydantic-settings
63
- sre_yield
64
- httpx_retries
65
- tabulate
66
- pyyaml
67
- pydevd-pycharm~=251.25410.159
54
+ google-auth-httplib2
55
+ pydantic-ai[logfire,openai]
56
+ sentence_transformers
57
+ filetype
58
+ yamlscript
68
59
  diskcache
60
+ regex
61
+ distributed
62
+ deepmerge
63
+ google-auth-oauthlib
69
64
  pymupdf
70
- dask[bag]
71
- filetype
65
+ pyyaml
66
+ appdirs
67
+ logfire[httpx]
68
+ sre_yield
69
+ pydantic-settings
70
+ pydevd-pycharm~=251.25410.159
71
+ tokenizers
72
72
 
73
73
  [api]
74
74
  fastapi
@@ -207,6 +207,12 @@ Unidecode
207
207
  [version.dev]
208
208
  semver
209
209
 
210
+ [webhook]
211
+ httpx
212
+ httpx_retries
213
+ logfire
214
+ logfire[httpx]
215
+
210
216
  [yaml]
211
217
  yamlscript
212
218
  pyyaml
@@ -39,7 +39,8 @@ DEPENDENCIES = {
39
39
  'dns': ['dnspython[doh]', 'http'],
40
40
  'patterns': ['regex'],
41
41
  'http': ['httpx', 'httpx_retries', 'logging', 'logfire[httpx]'],
42
- 'setup': ['setuptools']
42
+ 'setup': ['setuptools'],
43
+ 'webhook': ['http']
43
44
  }
44
45
 
45
46
  setup = Setup(
@@ -1 +0,0 @@
1
- 1.3.35
File without changes
File without changes
File without changes
File without changes