fmtr.tools 1.1.18__py3-none-any.whl → 1.1.20__py3-none-any.whl

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.

@@ -177,7 +177,20 @@ class Path(type(Path())):
177
177
  kind = path.guess(str(self.absolute()))
178
178
  return kind
179
179
 
180
- class PackagePaths:
180
+
181
+ class PathsBase:
182
+ """
183
+
184
+
185
+ """
186
+
187
+ def from_caller(self):
188
+ from fmtr.tools.inspection_tools import get_call_path
189
+ path = get_call_path(offset=3).parent
190
+ return path
191
+
192
+
193
+ class PackagePaths(PathsBase):
181
194
  """
182
195
 
183
196
  Canonical paths for a package.
@@ -195,8 +208,7 @@ class PackagePaths:
195
208
 
196
209
  """
197
210
  if not path:
198
- from fmtr.tools.inspection_tools import get_call_path
199
- path = get_call_path(offset=2).parent
211
+ path = self.from_caller()
200
212
 
201
213
  self.path = Path(path)
202
214
  self.org_singleton = org_singleton
fmtr/tools/setup_tools.py CHANGED
@@ -51,7 +51,13 @@ class SetupPaths(PathsBase):
51
51
 
52
52
  directories = [
53
53
  dir for dir in self.repo.iterdir()
54
- if dir.is_dir() and not dir.name.startswith('.') and dir.name not in self.SKIP_DIRS
54
+ if
55
+ (
56
+ dir.is_dir()
57
+ and not dir.name.startswith('.')
58
+ and dir.name not in self.SKIP_DIRS
59
+ and 'egg-info' not in dir.name
60
+ )
55
61
  ]
56
62
 
57
63
  if len(directories) != 1:
@@ -89,7 +95,6 @@ class Setup:
89
95
 
90
96
  def __init__(self, paths, dependencies, console_scripts=None, client=None, **kwargs):
91
97
 
92
-
93
98
  self.kwargs = kwargs
94
99
  self.dependencies = dependencies
95
100
  self.paths = paths
@@ -183,7 +188,9 @@ class Setup:
183
188
  ) | self.kwargs
184
189
 
185
190
  def setup(self):
186
- return setup(**self.get_data_setup())
191
+ data = self.get_data_setup()
192
+ return setup(**data)
193
+
187
194
 
188
195
  class Entrypoints:
189
196
  ALL = 'all'
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.1.18
1
+ 1.1.20
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.18
3
+ Version: 1.1.20
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
@@ -9,60 +9,60 @@ License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Provides-Extra: test
12
- Requires-Dist: dask[bag]; extra == "test"
12
+ Requires-Dist: yamlscript; extra == "test"
13
+ Requires-Dist: semver; extra == "test"
14
+ Requires-Dist: setuptools; extra == "test"
13
15
  Requires-Dist: deepmerge; extra == "test"
14
- Requires-Dist: contexttimer; extra == "test"
15
- Requires-Dist: flet-webview; extra == "test"
16
- Requires-Dist: regex; extra == "test"
17
- Requires-Dist: tabulate; extra == "test"
18
- Requires-Dist: bokeh; extra == "test"
19
16
  Requires-Dist: google-auth-oauthlib; extra == "test"
20
- Requires-Dist: faker; extra == "test"
21
- Requires-Dist: google-api-python-client; extra == "test"
22
- Requires-Dist: httpx; extra == "test"
23
- Requires-Dist: transformers[sentencepiece]; extra == "test"
24
- Requires-Dist: ollama; extra == "test"
25
- Requires-Dist: tokenizers; extra == "test"
26
- Requires-Dist: httpx_retries; extra == "test"
27
- Requires-Dist: openpyxl; extra == "test"
28
- Requires-Dist: sentence_transformers; extra == "test"
17
+ Requires-Dist: html2text; extra == "test"
29
18
  Requires-Dist: pydantic; extra == "test"
30
- Requires-Dist: google-auth; extra == "test"
31
- Requires-Dist: semver; extra == "test"
19
+ Requires-Dist: logfire[httpx]; extra == "test"
20
+ Requires-Dist: json_repair; extra == "test"
21
+ Requires-Dist: sre_yield; extra == "test"
22
+ Requires-Dist: pydantic-settings; extra == "test"
23
+ Requires-Dist: google-auth-httplib2; extra == "test"
24
+ Requires-Dist: tinynetrc; extra == "test"
25
+ Requires-Dist: openai; extra == "test"
32
26
  Requires-Dist: pydevd-pycharm; extra == "test"
33
- Requires-Dist: logfire; extra == "test"
34
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
35
- Requires-Dist: yamlscript; extra == "test"
27
+ Requires-Dist: contexttimer; extra == "test"
36
28
  Requires-Dist: pymupdf; extra == "test"
37
- Requires-Dist: docker; extra == "test"
38
- Requires-Dist: Unidecode; extra == "test"
29
+ Requires-Dist: ollama; extra == "test"
30
+ Requires-Dist: dnspython[doh]; extra == "test"
31
+ Requires-Dist: pyyaml; extra == "test"
32
+ Requires-Dist: huggingface_hub; extra == "test"
33
+ Requires-Dist: logfire[fastapi]; extra == "test"
34
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
35
+ Requires-Dist: google-api-python-client; extra == "test"
36
+ Requires-Dist: flet[all]; extra == "test"
37
+ Requires-Dist: pytest-cov; extra == "test"
39
38
  Requires-Dist: torchaudio; extra == "test"
39
+ Requires-Dist: flet-video; extra == "test"
40
+ Requires-Dist: httpx_retries; extra == "test"
41
+ Requires-Dist: faker; extra == "test"
40
42
  Requires-Dist: pymupdf4llm; extra == "test"
41
- Requires-Dist: fastapi; extra == "test"
42
- Requires-Dist: distributed; extra == "test"
43
- Requires-Dist: logfire[httpx]; extra == "test"
44
- Requires-Dist: dnspython[doh]; extra == "test"
45
- Requires-Dist: torchvision; extra == "test"
46
- Requires-Dist: pandas; extra == "test"
47
43
  Requires-Dist: filetype; extra == "test"
48
- Requires-Dist: flet-video; extra == "test"
49
- Requires-Dist: appdirs; extra == "test"
50
- Requires-Dist: pydantic-settings; extra == "test"
51
- Requires-Dist: pytest-cov; extra == "test"
52
- Requires-Dist: logfire[fastapi]; extra == "test"
53
- Requires-Dist: sre_yield; extra == "test"
54
- Requires-Dist: json_repair; extra == "test"
55
- Requires-Dist: peft; extra == "test"
56
- Requires-Dist: html2text; extra == "test"
57
- Requires-Dist: openai; extra == "test"
58
- Requires-Dist: google-auth-httplib2; extra == "test"
59
- Requires-Dist: setuptools; extra == "test"
60
44
  Requires-Dist: uvicorn[standard]; extra == "test"
61
- Requires-Dist: pyyaml; extra == "test"
62
- Requires-Dist: flet[all]; extra == "test"
63
- Requires-Dist: huggingface_hub; extra == "test"
45
+ Requires-Dist: peft; extra == "test"
46
+ Requires-Dist: logfire; extra == "test"
47
+ Requires-Dist: bokeh; extra == "test"
48
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
49
+ Requires-Dist: regex; extra == "test"
50
+ Requires-Dist: tabulate; extra == "test"
51
+ Requires-Dist: sentence_transformers; extra == "test"
52
+ Requires-Dist: openpyxl; extra == "test"
53
+ Requires-Dist: distributed; extra == "test"
54
+ Requires-Dist: dask[bag]; extra == "test"
55
+ Requires-Dist: appdirs; extra == "test"
56
+ Requires-Dist: Unidecode; extra == "test"
57
+ Requires-Dist: docker; extra == "test"
58
+ Requires-Dist: httpx; extra == "test"
64
59
  Requires-Dist: diskcache; extra == "test"
65
- Requires-Dist: tinynetrc; extra == "test"
60
+ Requires-Dist: pandas; extra == "test"
61
+ Requires-Dist: google-auth; extra == "test"
62
+ Requires-Dist: tokenizers; extra == "test"
63
+ Requires-Dist: fastapi; extra == "test"
64
+ Requires-Dist: flet-webview; extra == "test"
65
+ Requires-Dist: torchvision; extra == "test"
66
66
  Provides-Extra: yaml
67
67
  Requires-Dist: yamlscript; extra == "yaml"
68
68
  Requires-Dist: pyyaml; extra == "yaml"
@@ -39,14 +39,14 @@ fmtr/tools/profiling_tools.py,sha256=jpXVjaNKPydTasEQVNXvxzGtMhXPit08AnJddkU8uIc
39
39
  fmtr/tools/random_tools.py,sha256=4VlQdk5THbR8ka4pZaLbk_ZO_4yy6PF_lHZes_rgenY,2223
40
40
  fmtr/tools/semantic_tools.py,sha256=cxY9NSAHWj4nEc6Oj4qA1omR3dWbl2OuH7_PkINc6_E,1386
41
41
  fmtr/tools/settings_tools.py,sha256=o11W3T60UZSvCTkh_eEQq1Mx74GycQ6JxUr0plBDbsk,2356
42
- fmtr/tools/setup_tools.py,sha256=wSTczlk8nq3f6A4zAn86R7iZ1qOhk_HXJG2HpYpNSVQ,7144
42
+ fmtr/tools/setup_tools.py,sha256=J-48XFnBuf1DF3Twt3M1scSbuEEf-yNaBkYXwYLlNVg,7303
43
43
  fmtr/tools/spaces_tools.py,sha256=D_he3mve6DruB3OPS6QyzqD05ChHnRTb4buViKPe7To,1099
44
44
  fmtr/tools/string_tools.py,sha256=mjO7NSqhtYMtnX7fKb8eXZ7MO2lXWGMl0kXxnZznupM,3764
45
45
  fmtr/tools/tabular_tools.py,sha256=tpIpZzYku1HcJrHZJL6BC39LmN3WUWVhFbK2N7nDVmE,120
46
46
  fmtr/tools/tokenization_tools.py,sha256=me-IBzSLyNYejLybwjO9CNB6Mj2NYfKPaOVThXyaGNg,4268
47
47
  fmtr/tools/tools.py,sha256=CAsApa1YwVdNE6H66Vjivs_mXYvOas3rh7fPELAnTpk,795
48
48
  fmtr/tools/unicode_tools.py,sha256=yS_9wpu8ogNoiIL7s1G_8bETFFO_YQlo4LNPv1NLDeY,52
49
- fmtr/tools/version,sha256=-WxO0odronhLxbLZ9VITjNyo4V2gt73K5JKN61yV-6Q,6
49
+ fmtr/tools/version,sha256=dLWYVtGE882f5xI3OPEgua_42l7bfjVlF-pj0odcsdo,6
50
50
  fmtr/tools/version_tools.py,sha256=yNs_CGqWpqE4jbK9wsPIi14peJVXYbhIcMqHAFOw3yE,1480
51
51
  fmtr/tools/yaml_tools.py,sha256=9kuYChqJelWQIjGlSnK4iDdOWWH06P0gp9jIcRrC3UI,1903
52
52
  fmtr/tools/ai_tools/__init__.py,sha256=JZrLuOFNV1A3wvJgonxOgz_4WS-7MfCuowGWA5uYCjs,372
@@ -54,7 +54,7 @@ fmtr/tools/ai_tools/agentic_tools.py,sha256=YebH7R9ovVo3GzfWAZxY49e2fNt13APDMe29
54
54
  fmtr/tools/ai_tools/inference_tools.py,sha256=2UP2gXEyOJUjyyV6zmFIYmIxUsh1rXkRH0IbFvr2bRs,11908
55
55
  fmtr/tools/path_tools/__init__.py,sha256=v5CpmzXq5Ii90FtcmxAJKiLxmguZMrPnQ_HdT872Np0,443
56
56
  fmtr/tools/path_tools/app_path_tools.py,sha256=JrJvtTDd_gkCKcZtBCDTMktsM77PZwGV_hzQX0g5GU8,1722
57
- fmtr/tools/path_tools/path_tools.py,sha256=qZ03Zv4OiWdkWtt3a14OYSztLlL5YG4y-ElSGOBZSeA,7568
57
+ fmtr/tools/path_tools/path_tools.py,sha256=Lw7ebHUAOrs-OXLNeM-yVrwV7bn5AO8iWNkcz7ASH5k,7695
58
58
  fmtr/tools/path_tools/type_path_tools.py,sha256=Zgs-ek-GXRKDIlVDGdg3muB0PIxTg2ba0NeHw6y8FWQ,40
59
59
  fmtr/tools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  fmtr/tools/tests/conftest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -64,9 +64,9 @@ fmtr/tools/tests/test_environment.py,sha256=iHaiMQfECYZPkPKwfuIZV9uHuWe3aE-p_dN_
64
64
  fmtr/tools/tests/test_json.py,sha256=IeSP4ziPvRcmS8kq7k9tHonC9rN5YYq9GSNT2ul6Msk,287
65
65
  fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g,2188
66
66
  fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
67
- fmtr_tools-1.1.18.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
68
- fmtr_tools-1.1.18.dist-info/METADATA,sha256=Dd4BEXUZJT36o1D1n_uaJGXiPMAxZOg6bRgoZU9ilZA,15735
69
- fmtr_tools-1.1.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
- fmtr_tools-1.1.18.dist-info/entry_points.txt,sha256=e-eOW1Ml13tbxHC6Er1MnVOEDePeWw7DKwlE-l-gCY0,205
71
- fmtr_tools-1.1.18.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
72
- fmtr_tools-1.1.18.dist-info/RECORD,,
67
+ fmtr_tools-1.1.20.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
68
+ fmtr_tools-1.1.20.dist-info/METADATA,sha256=D8EESo6eAElR4gnwMVShc3k__fZHNjQrp-rY226DrT4,15735
69
+ fmtr_tools-1.1.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
+ fmtr_tools-1.1.20.dist-info/entry_points.txt,sha256=e-eOW1Ml13tbxHC6Er1MnVOEDePeWw7DKwlE-l-gCY0,205
71
+ fmtr_tools-1.1.20.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
72
+ fmtr_tools-1.1.20.dist-info/RECORD,,