fmtr.tools 1.1.22__py3-none-any.whl → 1.1.23__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.

fmtr/tools/__init__.py CHANGED
@@ -23,9 +23,16 @@ import fmtr.tools.packaging_tools as packaging
23
23
  from fmtr.tools.logging_tools import logger
24
24
 
25
25
  from fmtr.tools.import_tools import MissingExtraMockModule
26
- from fmtr.tools.path_tools import Path, PackagePaths, AppPaths
26
+
27
27
  from fmtr.tools.constants import Constants
28
28
 
29
+ # Submodules
30
+ from fmtr.tools.path_tools import Path, PackagePaths, AppPaths
31
+ from fmtr.tools import ai_tools as ai
32
+
33
+ import fmtr.tools.setup_tools as setup
34
+ from fmtr.tools.setup_tools import Setup, SetupPaths, Dependencies
35
+
29
36
  try:
30
37
  from fmtr.tools import augmentation_tools as augmentation
31
38
  except ImportError as exception:
@@ -95,11 +102,6 @@ try:
95
102
  except ImportError as exception:
96
103
  api = MissingExtraMockModule('api', exception)
97
104
 
98
- try:
99
- from fmtr.tools import ai_tools as ai
100
- except ImportError as exception:
101
- ai = MissingExtraMockModule('ai', exception)
102
-
103
105
  try:
104
106
  from fmtr.tools import data_modelling_tools as dm
105
107
  except ImportError as exception:
@@ -174,9 +176,3 @@ try:
174
176
  from fmtr.tools import dns_tools as dns
175
177
  except ImportError as exception:
176
178
  dns = MissingExtraMockModule('dns', exception)
177
-
178
- try:
179
- from fmtr.tools import setup_tools as setup
180
- from fmtr.tools.setup_tools import Setup, SetupPaths, Dependencies
181
- except ImportError as exception:
182
- setup = Setup = SetupPaths = Dependencies = MissingExtraMockModule('setup', exception)
@@ -0,0 +1,8 @@
1
+ from fmtr.tools.import_tools import MissingExtraMockModule
2
+
3
+ from fmtr.tools.setup_tools.setup_tools import Setup, SetupPaths, Dependencies
4
+
5
+ try:
6
+ from setuptools import find_namespace_packages, find_packages, setup as setup_setuptools
7
+ except ImportError as exception:
8
+ find_namespace_packages = find_packages = setup_setuptools = MissingExtraMockModule('setup', exception)
@@ -5,8 +5,6 @@ from functools import cached_property
5
5
  from itertools import chain
6
6
  from typing import List, Dict
7
7
 
8
- from setuptools import find_namespace_packages, find_packages, setup
9
-
10
8
  from fmtr.tools.constants import Constants
11
9
  from fmtr.tools.path_tools import Path
12
10
  from fmtr.tools.path_tools.path_tools import FromCallerMixin
@@ -179,14 +177,22 @@ class Setup(FromCallerMixin):
179
177
  return self.paths.version.read_text().strip()
180
178
 
181
179
  @property
182
- def packages(self):
180
+ def find(self):
183
181
 
184
- excludes = list(SetupPaths.SKIP_DIRS) + [f'{name}.*' for name in SetupPaths.SKIP_DIRS]
182
+ from fmtr.tools import setup
185
183
 
186
184
  if self.paths.is_namespace:
187
- return find_namespace_packages(where=str(self.paths.repo), exclude=excludes)
185
+ return setup.find_namespace_packages
188
186
  else:
189
- return find_packages(where=str(self.paths.repo), exclude=excludes)
187
+ return setup.find_packages
188
+
189
+ @property
190
+ def packages(self):
191
+
192
+ excludes = list(SetupPaths.SKIP_DIRS) + [f'{name}.*' for name in SetupPaths.SKIP_DIRS]
193
+
194
+ packages = self.find(where=str(self.paths.repo), exclude=excludes)
195
+ return packages
190
196
 
191
197
  @property
192
198
  def package_dir(self):
@@ -224,7 +230,9 @@ class Setup(FromCallerMixin):
224
230
 
225
231
  def setup(self):
226
232
 
227
- return setup(**self.data)
233
+ from fmtr.tools import setup
234
+
235
+ return setup.setup_setuptools(**self.data)
228
236
 
229
237
 
230
238
 
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.1.22
1
+ 1.1.23
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.22
3
+ Version: 1.1.23
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: google-auth-oauthlib; extra == "test"
13
- Requires-Dist: google-auth-httplib2; extra == "test"
14
- Requires-Dist: json_repair; extra == "test"
15
- Requires-Dist: pydantic; extra == "test"
12
+ Requires-Dist: pytest-cov; extra == "test"
13
+ Requires-Dist: yamlscript; extra == "test"
14
+ Requires-Dist: pandas; extra == "test"
15
+ Requires-Dist: regex; extra == "test"
16
16
  Requires-Dist: docker; extra == "test"
17
- Requires-Dist: httpx_retries; extra == "test"
18
- Requires-Dist: bokeh; extra == "test"
19
- Requires-Dist: dask[bag]; extra == "test"
20
- Requires-Dist: faker; extra == "test"
21
- Requires-Dist: Unidecode; extra == "test"
22
- Requires-Dist: tokenizers; extra == "test"
17
+ Requires-Dist: json_repair; extra == "test"
18
+ Requires-Dist: uvicorn[standard]; extra == "test"
19
+ Requires-Dist: pymupdf; extra == "test"
20
+ Requires-Dist: logfire[fastapi]; extra == "test"
21
+ Requires-Dist: logfire[httpx]; extra == "test"
22
+ Requires-Dist: pymupdf4llm; extra == "test"
23
23
  Requires-Dist: sentence_transformers; extra == "test"
24
- Requires-Dist: peft; extra == "test"
25
- Requires-Dist: flet-webview; extra == "test"
26
- Requires-Dist: yamlscript; extra == "test"
27
24
  Requires-Dist: dnspython[doh]; extra == "test"
28
- Requires-Dist: flet[all]; extra == "test"
29
25
  Requires-Dist: fastapi; extra == "test"
30
- Requires-Dist: filetype; extra == "test"
31
- Requires-Dist: pyyaml; extra == "test"
32
- Requires-Dist: html2text; extra == "test"
26
+ Requires-Dist: torchvision; extra == "test"
27
+ Requires-Dist: httpx_retries; extra == "test"
28
+ Requires-Dist: flet[all]; extra == "test"
29
+ Requires-Dist: pydantic-settings; extra == "test"
33
30
  Requires-Dist: ollama; extra == "test"
34
- Requires-Dist: transformers[sentencepiece]; extra == "test"
35
- Requires-Dist: openpyxl; extra == "test"
36
- Requires-Dist: logfire; extra == "test"
37
- Requires-Dist: distributed; extra == "test"
38
- Requires-Dist: deepmerge; extra == "test"
39
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
40
31
  Requires-Dist: diskcache; extra == "test"
41
- Requires-Dist: pymupdf4llm; extra == "test"
42
- Requires-Dist: pandas; extra == "test"
43
- Requires-Dist: setuptools; extra == "test"
44
- Requires-Dist: tabulate; extra == "test"
45
- Requires-Dist: pydantic-settings; extra == "test"
46
- Requires-Dist: contexttimer; extra == "test"
47
- Requires-Dist: httpx; extra == "test"
32
+ Requires-Dist: torchaudio; extra == "test"
33
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
34
+ Requires-Dist: faker; extra == "test"
35
+ Requires-Dist: pydantic; extra == "test"
36
+ Requires-Dist: distributed; extra == "test"
37
+ Requires-Dist: dask[bag]; extra == "test"
48
38
  Requires-Dist: sre_yield; extra == "test"
49
- Requires-Dist: google-api-python-client; extra == "test"
39
+ Requires-Dist: tabulate; extra == "test"
40
+ Requires-Dist: html2text; extra == "test"
41
+ Requires-Dist: tinynetrc; extra == "test"
42
+ Requires-Dist: setuptools; extra == "test"
43
+ Requires-Dist: pyyaml; extra == "test"
44
+ Requires-Dist: openpyxl; extra == "test"
45
+ Requires-Dist: flet-video; extra == "test"
50
46
  Requires-Dist: openai; extra == "test"
51
- Requires-Dist: appdirs; extra == "test"
52
- Requires-Dist: logfire[httpx]; extra == "test"
53
- Requires-Dist: google-auth; extra == "test"
54
- Requires-Dist: pymupdf; extra == "test"
47
+ Requires-Dist: flet-webview; extra == "test"
55
48
  Requires-Dist: pydevd-pycharm; extra == "test"
56
- Requires-Dist: tinynetrc; extra == "test"
57
- Requires-Dist: logfire[fastapi]; extra == "test"
58
- Requires-Dist: pytest-cov; extra == "test"
59
- Requires-Dist: huggingface_hub; extra == "test"
60
- Requires-Dist: torchvision; extra == "test"
61
- Requires-Dist: torchaudio; extra == "test"
49
+ Requires-Dist: contexttimer; extra == "test"
50
+ Requires-Dist: google-auth; extra == "test"
62
51
  Requires-Dist: semver; extra == "test"
63
- Requires-Dist: regex; extra == "test"
64
- Requires-Dist: flet-video; extra == "test"
65
- Requires-Dist: uvicorn[standard]; extra == "test"
52
+ Requires-Dist: huggingface_hub; extra == "test"
53
+ Requires-Dist: tokenizers; extra == "test"
54
+ Requires-Dist: peft; extra == "test"
55
+ Requires-Dist: logfire; extra == "test"
56
+ Requires-Dist: google-auth-oauthlib; extra == "test"
57
+ Requires-Dist: filetype; extra == "test"
58
+ Requires-Dist: deepmerge; extra == "test"
59
+ Requires-Dist: google-api-python-client; extra == "test"
60
+ Requires-Dist: bokeh; extra == "test"
61
+ Requires-Dist: httpx; extra == "test"
62
+ Requires-Dist: google-auth-httplib2; extra == "test"
63
+ Requires-Dist: appdirs; extra == "test"
64
+ Requires-Dist: Unidecode; extra == "test"
65
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
66
66
  Provides-Extra: yaml
67
67
  Requires-Dist: yamlscript; extra == "yaml"
68
68
  Requires-Dist: pyyaml; extra == "yaml"
@@ -1,4 +1,4 @@
1
- fmtr/tools/__init__.py,sha256=v4XtEHm35sT7Z7-kKdFdBPXw_yFtxF0GOCx4q4y5Qg4,5790
1
+ fmtr/tools/__init__.py,sha256=PeQKmb9q7xTaiDGy7TUa_5V2lh8k0rV0BJgjwf37udI,5571
2
2
  fmtr/tools/api_tools.py,sha256=w8Zrp_EwN5KlUghwLoTCXo4z1irg5tAsReCqDLjASfE,2133
3
3
  fmtr/tools/async_tools.py,sha256=ewz757WcveQJd-G5SVr2JDOQVbdLGecCgl-tsBGVZz4,284
4
4
  fmtr/tools/augmentation_tools.py,sha256=-6ESbO4CDlKqVOV1J1V6qBeoBMzbFIinkDHRHnCBej0,55
@@ -39,14 +39,13 @@ 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=_mKoOAv2-vf2Y9HxjUkgblTDUfmWbMTNkOhJeaSN3SE,7712
43
42
  fmtr/tools/spaces_tools.py,sha256=D_he3mve6DruB3OPS6QyzqD05ChHnRTb4buViKPe7To,1099
44
43
  fmtr/tools/string_tools.py,sha256=mjO7NSqhtYMtnX7fKb8eXZ7MO2lXWGMl0kXxnZznupM,3764
45
44
  fmtr/tools/tabular_tools.py,sha256=tpIpZzYku1HcJrHZJL6BC39LmN3WUWVhFbK2N7nDVmE,120
46
45
  fmtr/tools/tokenization_tools.py,sha256=me-IBzSLyNYejLybwjO9CNB6Mj2NYfKPaOVThXyaGNg,4268
47
46
  fmtr/tools/tools.py,sha256=CAsApa1YwVdNE6H66Vjivs_mXYvOas3rh7fPELAnTpk,795
48
47
  fmtr/tools/unicode_tools.py,sha256=yS_9wpu8ogNoiIL7s1G_8bETFFO_YQlo4LNPv1NLDeY,52
49
- fmtr/tools/version,sha256=5sJzGyhKAQgHkvJs_DynT9WCkII9EsWuLE-qBuMX-s8,6
48
+ fmtr/tools/version,sha256=3LplPseqc2k-fqP6873j8m5kUAOUMVJ7Cpo-3h23Q3s,6
50
49
  fmtr/tools/version_tools.py,sha256=yNs_CGqWpqE4jbK9wsPIi14peJVXYbhIcMqHAFOw3yE,1480
51
50
  fmtr/tools/yaml_tools.py,sha256=9kuYChqJelWQIjGlSnK4iDdOWWH06P0gp9jIcRrC3UI,1903
52
51
  fmtr/tools/ai_tools/__init__.py,sha256=JZrLuOFNV1A3wvJgonxOgz_4WS-7MfCuowGWA5uYCjs,372
@@ -56,6 +55,8 @@ fmtr/tools/path_tools/__init__.py,sha256=v5CpmzXq5Ii90FtcmxAJKiLxmguZMrPnQ_HdT87
56
55
  fmtr/tools/path_tools/app_path_tools.py,sha256=JrJvtTDd_gkCKcZtBCDTMktsM77PZwGV_hzQX0g5GU8,1722
57
56
  fmtr/tools/path_tools/path_tools.py,sha256=8WBzNctpds5tVT1-FcizAORrBCGlkUbPcfOel-Js7ps,7878
58
57
  fmtr/tools/path_tools/type_path_tools.py,sha256=Zgs-ek-GXRKDIlVDGdg3muB0PIxTg2ba0NeHw6y8FWQ,40
58
+ fmtr/tools/setup_tools/__init__.py,sha256=8HX-GvGxeCK3nIHH5PHkvhkH0MIt89AK8a5l6Vua2dQ,379
59
+ fmtr/tools/setup_tools/setup_tools.py,sha256=1pbpQ70PeGfgkWpKQx1rQ8GoIYCArzw22uyuCT93Qas,7790
59
60
  fmtr/tools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
61
  fmtr/tools/tests/conftest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
62
  fmtr/tools/tests/helpers.py,sha256=N5sf9YoZV93a7tf_UxpLeyQ9vp6Ec0teNIimFDvc054,1091
@@ -64,9 +65,9 @@ fmtr/tools/tests/test_environment.py,sha256=iHaiMQfECYZPkPKwfuIZV9uHuWe3aE-p_dN_
64
65
  fmtr/tools/tests/test_json.py,sha256=IeSP4ziPvRcmS8kq7k9tHonC9rN5YYq9GSNT2ul6Msk,287
65
66
  fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g,2188
66
67
  fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
67
- fmtr_tools-1.1.22.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
68
- fmtr_tools-1.1.22.dist-info/METADATA,sha256=UPj-c1mI7NPzMe11YWIMkoXU8sR-7XaKKjnIY76Zjeg,15735
69
- fmtr_tools-1.1.22.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
- fmtr_tools-1.1.22.dist-info/entry_points.txt,sha256=e-eOW1Ml13tbxHC6Er1MnVOEDePeWw7DKwlE-l-gCY0,205
71
- fmtr_tools-1.1.22.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
72
- fmtr_tools-1.1.22.dist-info/RECORD,,
68
+ fmtr_tools-1.1.23.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
69
+ fmtr_tools-1.1.23.dist-info/METADATA,sha256=ywC-2AZET6ohT0uWvxuHEAZ9IgcEiNjkUB7DDKHiCL4,15735
70
+ fmtr_tools-1.1.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
+ fmtr_tools-1.1.23.dist-info/entry_points.txt,sha256=e-eOW1Ml13tbxHC6Er1MnVOEDePeWw7DKwlE-l-gCY0,205
72
+ fmtr_tools-1.1.23.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
73
+ fmtr_tools-1.1.23.dist-info/RECORD,,