fmtr.tools 1.1.17__py3-none-any.whl → 1.1.18__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/setup_tools.py CHANGED
@@ -1,13 +1,13 @@
1
- from itertools import chain
2
-
3
1
  from datetime import datetime
4
2
  from functools import cached_property
5
- from setuptools import find_namespace_packages, find_packages
3
+ from itertools import chain
6
4
  from typing import List, Dict
7
5
 
6
+ from setuptools import find_namespace_packages, find_packages, setup
7
+
8
8
  from fmtr.tools.constants import Constants
9
9
  from fmtr.tools.path_tools import Path
10
- from fmtr.tools.path_tools.path_tools import PathsBase, path
10
+ from fmtr.tools.path_tools.path_tools import PathsBase
11
11
 
12
12
 
13
13
  class SetupPaths(PathsBase):
@@ -55,7 +55,8 @@ class SetupPaths(PathsBase):
55
55
  ]
56
56
 
57
57
  if len(directories) != 1:
58
- raise ValueError(f'Expected exactly one directory in "{path}", found {','.join(directories)}')
58
+ dirs_str = ', '.join([str(dir) for dir in directories])
59
+ raise ValueError(f'Expected exactly one directory in "{self.repo}", found {dirs_str}')
59
60
 
60
61
  target = next(iter(directories))
61
62
 
@@ -86,15 +87,14 @@ class Setup:
86
87
  AUTHOR = 'Frontmatter'
87
88
  AUTHOR_EMAIL = 'innovative.fowler@mask.pro.fmtr.dev'
88
89
 
89
- paths = SetupPaths(path=Path(__file__).absolute().parent.parent.parent)
90
+ def __init__(self, paths, dependencies, console_scripts=None, client=None, **kwargs):
90
91
 
91
- def __init__(self, dependencies, console_scripts=None, client=None, **kwargs):
92
92
 
93
- self.client = client
94
93
  self.kwargs = kwargs
95
94
  self.dependencies = dependencies
96
- self.paths
95
+ self.paths = paths
97
96
 
97
+ self.client = client
98
98
  self.console_scripts = console_scripts
99
99
 
100
100
  def get_entrypoint_path(self, key, value):
@@ -141,10 +141,13 @@ class Setup:
141
141
 
142
142
  @property
143
143
  def packages(self):
144
+
145
+ excludes = list(SetupPaths.SKIP_DIRS) + [f'{name}.*' for name in SetupPaths.SKIP_DIRS]
146
+
144
147
  if self.paths.is_namespace:
145
- return find_namespace_packages(where=str(self.paths.repo))
148
+ return find_namespace_packages(where=str(self.paths.repo), exclude=excludes)
146
149
  else:
147
- return find_packages(where=str(self.paths.repo))
150
+ return find_packages(where=str(self.paths.repo), exclude=excludes)
148
151
 
149
152
  @property
150
153
  def package_dir(self):
@@ -179,6 +182,8 @@ class Setup:
179
182
  extras_require=self.dependencies.extras,
180
183
  ) | self.kwargs
181
184
 
185
+ def setup(self):
186
+ return setup(**self.get_data_setup())
182
187
 
183
188
  class Entrypoints:
184
189
  ALL = 'all'
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.1.17
1
+ 1.1.18
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.17
3
+ Version: 1.1.18
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: fastapi; extra == "test"
13
- Requires-Dist: tabulate; extra == "test"
14
- Requires-Dist: torchaudio; extra == "test"
15
- Requires-Dist: semver; extra == "test"
16
- Requires-Dist: distributed; extra == "test"
17
- Requires-Dist: filetype; extra == "test"
18
- Requires-Dist: pandas; extra == "test"
19
- Requires-Dist: dnspython[doh]; extra == "test"
20
- Requires-Dist: sentence_transformers; extra == "test"
21
- Requires-Dist: logfire[httpx]; extra == "test"
22
- Requires-Dist: transformers[sentencepiece]; extra == "test"
23
- Requires-Dist: openai; extra == "test"
24
- Requires-Dist: regex; extra == "test"
12
+ Requires-Dist: dask[bag]; extra == "test"
13
+ Requires-Dist: deepmerge; extra == "test"
25
14
  Requires-Dist: contexttimer; extra == "test"
26
- Requires-Dist: uvicorn[standard]; extra == "test"
27
15
  Requires-Dist: flet-webview; extra == "test"
28
- Requires-Dist: pyyaml; extra == "test"
29
- Requires-Dist: tinynetrc; extra == "test"
30
- Requires-Dist: pytest-cov; extra == "test"
31
- Requires-Dist: tokenizers; extra == "test"
32
- Requires-Dist: logfire[fastapi]; extra == "test"
33
- Requires-Dist: json_repair; extra == "test"
16
+ Requires-Dist: regex; extra == "test"
17
+ Requires-Dist: tabulate; extra == "test"
18
+ Requires-Dist: bokeh; extra == "test"
19
+ Requires-Dist: google-auth-oauthlib; extra == "test"
34
20
  Requires-Dist: faker; extra == "test"
35
- Requires-Dist: huggingface_hub; extra == "test"
36
- Requires-Dist: flet[all]; extra == "test"
37
- Requires-Dist: torchvision; extra == "test"
21
+ Requires-Dist: google-api-python-client; extra == "test"
38
22
  Requires-Dist: httpx; extra == "test"
39
- Requires-Dist: pydantic-settings; extra == "test"
40
- Requires-Dist: google-auth-oauthlib; extra == "test"
41
- Requires-Dist: setuptools; extra == "test"
42
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
43
- Requires-Dist: logfire; extra == "test"
44
- Requires-Dist: dask[bag]; extra == "test"
45
- Requires-Dist: html2text; extra == "test"
46
- Requires-Dist: yamlscript; extra == "test"
47
- Requires-Dist: pymupdf4llm; extra == "test"
48
- Requires-Dist: peft; extra == "test"
49
- Requires-Dist: bokeh; extra == "test"
50
- Requires-Dist: Unidecode; extra == "test"
51
- Requires-Dist: google-auth; extra == "test"
52
- Requires-Dist: appdirs; 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"
53
27
  Requires-Dist: openpyxl; extra == "test"
54
- Requires-Dist: diskcache; extra == "test"
28
+ Requires-Dist: sentence_transformers; extra == "test"
55
29
  Requires-Dist: pydantic; extra == "test"
30
+ Requires-Dist: google-auth; extra == "test"
31
+ Requires-Dist: semver; extra == "test"
56
32
  Requires-Dist: pydevd-pycharm; extra == "test"
57
- Requires-Dist: sre_yield; extra == "test"
58
- Requires-Dist: docker; extra == "test"
59
- Requires-Dist: ollama; extra == "test"
60
- Requires-Dist: google-api-python-client; extra == "test"
33
+ Requires-Dist: logfire; extra == "test"
34
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
35
+ Requires-Dist: yamlscript; extra == "test"
61
36
  Requires-Dist: pymupdf; extra == "test"
62
- Requires-Dist: httpx_retries; extra == "test"
37
+ Requires-Dist: docker; extra == "test"
38
+ Requires-Dist: Unidecode; extra == "test"
39
+ Requires-Dist: torchaudio; extra == "test"
40
+ 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
+ Requires-Dist: filetype; extra == "test"
63
48
  Requires-Dist: flet-video; extra == "test"
64
- Requires-Dist: deepmerge; 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"
65
58
  Requires-Dist: google-auth-httplib2; extra == "test"
59
+ Requires-Dist: setuptools; extra == "test"
60
+ 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"
64
+ Requires-Dist: diskcache; extra == "test"
65
+ Requires-Dist: tinynetrc; 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=JymAPBPgHlF2gw9d4TrLT2LvPS9B2riGyJ2suD2gw6U,6944
42
+ fmtr/tools/setup_tools.py,sha256=wSTczlk8nq3f6A4zAn86R7iZ1qOhk_HXJG2HpYpNSVQ,7144
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=GkdkUXF_QoQgGaivlyso9zz8QA1rg2DseoZxAQwvOEc,6
49
+ fmtr/tools/version,sha256=-WxO0odronhLxbLZ9VITjNyo4V2gt73K5JKN61yV-6Q,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
@@ -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.17.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
68
- fmtr_tools-1.1.17.dist-info/METADATA,sha256=RrfqTgYjKQLca5VUuvhO3oGRxwLY3vXmsSG4NUaci5I,15735
69
- fmtr_tools-1.1.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
- fmtr_tools-1.1.17.dist-info/entry_points.txt,sha256=e-eOW1Ml13tbxHC6Er1MnVOEDePeWw7DKwlE-l-gCY0,205
71
- fmtr_tools-1.1.17.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
72
- fmtr_tools-1.1.17.dist-info/RECORD,,
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,,