bluer-sbc 9.68.1__py3-none-any.whl → 9.73.1__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 bluer-sbc might be problematic. Click here for more details.

@@ -4,6 +4,9 @@ function bluer_sbc_action_git_before_push() {
4
4
  bluer_sbc build_README
5
5
  [[ $? -ne 0 ]] && return 1
6
6
 
7
+ bluer_sbc parts adjust ~grid
8
+ [[ $? -ne 0 ]] && return 1
9
+
7
10
  [[ "$(bluer_ai_git get_branch)" != "main" ]] &&
8
11
  return 0
9
12
 
@@ -3,10 +3,12 @@
3
3
  function bluer_sbc_parts_adjust() {
4
4
  local options=$1
5
5
  local do_dryrun=$(bluer_ai_option_int "$options" dryrun 0)
6
+ local generate_grid=$(bluer_ai_option_int "$options" grid 1)
6
7
 
7
8
  bluer_ai_eval - \
8
9
  python3 -m bluer_sbc.parts \
9
10
  adjust \
10
11
  --dryrun $do_dryrun \
12
+ --generate_grid $generate_grid \
11
13
  "${@:2}"
12
14
  }
bluer_sbc/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI for single board computers and related designs."
6
6
 
7
- VERSION = "9.68.1"
7
+ VERSION = "9.73.1"
8
8
 
9
9
  REPO_NAME = "bluer-sbc"
10
10
 
bluer_sbc/help/parts.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from typing import List
2
2
 
3
- from bluer_options.terminal import show_usage
3
+ from bluer_options.terminal import show_usage, xtra
4
4
 
5
5
  from bluer_sbc import ALIAS
6
6
 
@@ -24,7 +24,7 @@ def help_adjust(
24
24
  tokens: List[str],
25
25
  mono: bool,
26
26
  ) -> str:
27
- options = "dryrun"
27
+ options = xtra("dryrun,~grid", mono=mono)
28
28
 
29
29
  args = [
30
30
  "[--verbose 1]",
@@ -21,6 +21,12 @@ parser.add_argument(
21
21
  default=1,
22
22
  help="0 | 1",
23
23
  )
24
+ parser.add_argument(
25
+ "--generate_grid",
26
+ type=int,
27
+ default=1,
28
+ help="0 | 1",
29
+ )
24
30
  parser.add_argument(
25
31
  "--verbose",
26
32
  type=int,
@@ -32,6 +38,7 @@ args = parser.parse_args()
32
38
  success = False
33
39
  if args.task == "adjust":
34
40
  success = db_of_parts.adjust(
41
+ generate_grid=args.generate_grid == 1,
35
42
  dryrun=args.dryrun == 1,
36
43
  verbose=args.verbose == 1,
37
44
  )
@@ -68,6 +68,7 @@ class PartDB:
68
68
 
69
69
  def adjust(
70
70
  self,
71
+ generate_grid: bool = True,
71
72
  dryrun: bool = True,
72
73
  verbose: bool = False,
73
74
  ) -> bool:
@@ -89,26 +90,27 @@ class PartDB:
89
90
  )
90
91
  log_list(logger, "adjusting", list_of_filenames, "images")
91
92
 
92
- if not log_image_grid(
93
- items=[
94
- {
95
- "filename": os.path.join(self.path, part.images[0]),
96
- "title": part_name,
97
- }
98
- for part_name, part in self._db.items()
99
- if part_name != "template" and part.images
100
- ],
101
- filename=assets_path(
102
- suffix="bluer-sbc/parts/grid.png",
103
- volume=2,
104
- ),
105
- scale=3,
106
- header=[
107
- "{} part(s)".format(len(self._db) - 1),
108
- ],
109
- footer=signature(),
110
- ):
111
- return False
93
+ if generate_grid:
94
+ if not log_image_grid(
95
+ items=[
96
+ {
97
+ "filename": os.path.join(self.path, part.images[0]),
98
+ "title": part_name,
99
+ }
100
+ for part_name, part in self._db.items()
101
+ if part_name != "template" and part.images
102
+ ],
103
+ filename=assets_path(
104
+ suffix="bluer-sbc/parts/grid.png",
105
+ volume=2,
106
+ ),
107
+ scale=3,
108
+ header=[
109
+ "{} part(s)".format(len(self._db) - 1),
110
+ ],
111
+ footer=signature(),
112
+ ):
113
+ return False
112
114
 
113
115
  max_width = 0
114
116
  max_height = 0
@@ -220,10 +222,10 @@ class PartDB:
220
222
  return sorted(
221
223
  [
222
224
  (
223
- "1. [{}{}]({}).".format(
225
+ "1. [{}]({}){}.".format(
224
226
  self._db[part_name].info[0],
225
- ": {}".format(description) if description else "",
226
227
  f"{reference}/{part_name}.md",
228
+ ": {}".format(description) if description else "",
227
229
  )
228
230
  )
229
231
  for part_name, description in dict_of_parts.items()
bluer_sbc/parts/db.py CHANGED
@@ -384,6 +384,14 @@ db_of_parts["dsn-vc288"] = Part(
384
384
  ],
385
385
  )
386
386
 
387
+ db_of_parts["nuts-bolts-spacers"] = Part(
388
+ info=[
389
+ "nuts, bolts, and spacers",
390
+ ],
391
+ images=[
392
+ "nuts-bolts-spacers.jpg",
393
+ ],
394
+ )
387
395
 
388
396
  db_of_parts["template"] = Part(
389
397
  info=[
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_sbc
3
- Version: 9.68.1
3
+ Version: 9.73.1
4
4
  Summary: 🌀 AI for single board computers and related designs.
5
5
  Home-page: https://github.com/kamangir/bluer-sbc
6
6
  Author: Arash Abadpour (Kamangir)
@@ -66,7 +66,7 @@ pip install bluer_sbc
66
66
 
67
67
  [![pylint](https://github.com/kamangir/bluer-sbc/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-sbc/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-sbc/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-sbc/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-sbc/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-sbc/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-sbc.svg)](https://pypi.org/project/bluer-sbc/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-sbc)](https://pypistats.org/packages/bluer-sbc)
68
68
 
69
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_sbc-9.68.1`](https://github.com/kamangir/bluer-sbc).
69
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_sbc-9.73.1`](https://github.com/kamangir/bluer-sbc).
70
70
 
71
71
 
72
72
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,4 +1,4 @@
1
- bluer_sbc/__init__.py,sha256=CohOVtKewtBt2nUYFvBgn-PYr9hqdaTUo8ntqhIhQVw,311
1
+ bluer_sbc/__init__.py,sha256=kheh4-v4hzClsV_uwY9fDfY889gF2IhARzfA9U3uSaM,311
2
2
  bluer_sbc/__main__.py,sha256=mdHwITYb7ypMkevZnEBqFO-S4MYkdrTfbS8ZYTd5MBM,374
3
3
  bluer_sbc/config.env,sha256=Lp91dQZrPDtMO-87-pAw1wOqLMIYEI1MlNrXhvKMaoE,706
4
4
  bluer_sbc/env.py,sha256=saEjdk3FHmuK-WQUUpKfOatwmE93Y2Ula3rtGhRm0Zw,1745
@@ -7,7 +7,7 @@ bluer_sbc/logger.py,sha256=4euXgNprDpQSuR45RXy0kWQ1LvCL_dwOi2v37hVBWvk,99
7
7
  bluer_sbc/sample.env,sha256=mX86TGaZvbbGKbiXQdInSBu7sVvLs2IzqYaHNVl0g5M,50
8
8
  bluer_sbc/urls.py,sha256=Bjdewssljt0LIefjixBem9JN0kkghPvmrIETj3GdXbY,17
9
9
  bluer_sbc/.abcli/abcli.sh,sha256=Q_YRZUeFjN4UT9zT8lzrNIQSuORPie4Cp5CW5O2pX5w,290
10
- bluer_sbc/.abcli/actions.sh,sha256=P4d9lOzxdvkISZ0M3lZKH9JlmrcWTJ_HeEQAhIRLvC8,224
10
+ bluer_sbc/.abcli/actions.sh,sha256=NgbVdC5Xr_eddPeloaXF4IeRMslBo0LglhhCHtO4yKI,289
11
11
  bluer_sbc/.abcli/adafruit_rgb_matrix.sh,sha256=DwPJeuDXYa_F0r4nIWNeBYVtodyHYT2tV9JxPbWxhAM,382
12
12
  bluer_sbc/.abcli/alias.sh,sha256=C4bUOJV-4aj_xsymXLkzY8_K0gw3nRsGAKjBR6RPQCA,134
13
13
  bluer_sbc/.abcli/bluer_sbc.sh,sha256=3uHU90LAi4UyX3S02_6MNMJRK-1GcVMjLdl-EsyRrTA,239
@@ -30,7 +30,7 @@ bluer_sbc/.abcli/install/template.sh,sha256=Qqj6JKZlaxAqUGbY88gkNn-v-_aTUtKzpyi-
30
30
  bluer_sbc/.abcli/install/unicorn_16x16.sh,sha256=zt6VN6c6cLQ59m7GiUNdV7aPTfO8CRoYtSs4VIuEJFw,496
31
31
  bluer_sbc/.abcli/rpi/fake_display.sh,sha256=3GWrqk8Dqwtg_ufDBDQzBilk7bi_Y_4_aw7-v6IJGDI,420
32
32
  bluer_sbc/.abcli/sbc/parts.sh,sha256=euN-L3Gp1m_RUA8X2hkdTKwvWHPVC2hTQejdLsEhaxg,311
33
- bluer_sbc/.abcli/sbc/parts/adjust.sh,sha256=Rx9OCnTWr3rHobDiAzUK1cs-SwhEa07uT_-uLuxvKZ0,268
33
+ bluer_sbc/.abcli/sbc/parts/adjust.sh,sha256=2vDjnPUZxwHMjc4drtdJjXM3yABMUM054LPjEXCPeHE,374
34
34
  bluer_sbc/.abcli/sbc/parts/cd.sh,sha256=0XUPReFBcX7Xj-JUR_dmQMh4L4RkfSx8bDGBBHDS92Y,103
35
35
  bluer_sbc/.abcli/seed/headless_rpi.sh,sha256=Sen1-Spg6lvBAzAqacLw42iJgME-v3yVs5T1qMuSO6c,2298
36
36
  bluer_sbc/.abcli/seed/headless_rpi_64_bit.sh,sha256=1DzrVSSNIvKLW8J1fI7Iqepk1cB2fvHpvez3EW-Dscw,1363
@@ -96,7 +96,7 @@ bluer_sbc/help/functions.py,sha256=NxyBTbAHvx8-HM8B5JdYAjKfRinB7U1TDrmim5ZDctA,1
96
96
  bluer_sbc/help/grove.py,sha256=4CM3_RUeu6hMr1zmkz4f-V7Mzb75vcYv0dfoQKw2KJI,1026
97
97
  bluer_sbc/help/hat.py,sha256=fhiEFoWYolmh-loZ87fYghEJK-XLUpkUc4pDj2WWdAE,885
98
98
  bluer_sbc/help/lepton.py,sha256=NNJY9f1gkZCD7fGf0chFjncbLOSpb79VLyZ2jxj4rG4,618
99
- bluer_sbc/help/parts.py,sha256=zhkp2_33nTTAAnTbhka5eMIcKxSBumDdQS1I5d2_tE0,734
99
+ bluer_sbc/help/parts.py,sha256=716RvodYiopbjxO1j2P613VklHL-r2z-YzJzx2C4C0k,763
100
100
  bluer_sbc/help/rpi.py,sha256=ZD1iOaG0af01wHVFuPBFo0HsDqC7lzNGgxCyxsyUKBs,457
101
101
  bluer_sbc/help/scroll_phat_hd.py,sha256=pLMIGMKIzRgN2LcNjIPNQiJ0mIowKjxkBhS40PIst1c,374
102
102
  bluer_sbc/help/sparkfun_top_phat.py,sha256=4JQMqzapnx5PBtzfw8RqpqgXtnF0HqDWxuTssK0OHUo,445
@@ -114,17 +114,17 @@ bluer_sbc/imager/lepton/__main__.py,sha256=AUurRrU64bqLDKoiMeMPbHyIu53Rz4426ihzs
114
114
  bluer_sbc/imager/lepton/classes.py,sha256=CnWEwaBZC2hAFuYkv32SAu7GaIK1A-PiLEppAgL7z4M,963
115
115
  bluer_sbc/imager/lepton/python2.py,sha256=1jAHHzmda_bmqKj0b0X-2KONW5s9umxKaTY4ZieoaCI,1600
116
116
  bluer_sbc/parts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- bluer_sbc/parts/__main__.py,sha256=BvSd7uLq-zq1Sjw_I6tvOk2Gcb67mOBRf3lZxMHmuQo,763
117
+ bluer_sbc/parts/__main__.py,sha256=8gIFylyfCv35e3VOlt0LY_K4oCMdmW9OFkj54bFab9k,903
118
118
  bluer_sbc/parts/consts.py,sha256=UIld-5czxqoAtMTeTZM4LQZXC-CXU53LVmVzFekZLJQ,98
119
- bluer_sbc/parts/db.py,sha256=GzRCbGcmF1FdZgaSYIFvXkZLByO6Uvm3P1uLGK8zBag,9210
120
- bluer_sbc/parts/classes/db.py,sha256=6av7MhpNBLwOlXHXr-djTaUtJdlslAsbaHeFoUmoDZA,6408
119
+ bluer_sbc/parts/db.py,sha256=f1toysaNKCYnY4nqSdMxhUVKDhbbWX-A7rnw7kfBysA,9362
120
+ bluer_sbc/parts/classes/db.py,sha256=qqDxCOjqInmoTa_LE4gGIQKLORQvTcWbCO6QKO6OgHU,6550
121
121
  bluer_sbc/parts/classes/part.py,sha256=tKXjipFRwu0-Gc53VXivwaeqhyYr9uunG6EUzcdr_x8,2181
122
122
  bluer_sbc/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  bluer_sbc/session/__main__.py,sha256=O2Tv6HgE8Bos7ASIViYludpWVi6EEc9XRoP8jYC2-2Q,534
124
124
  bluer_sbc/session/classes.py,sha256=6pEh-TBjekUZBbWj_zKh3LAntAoGfcMHtS2SJ77nyC8,9355
125
125
  bluer_sbc/session/functions.py,sha256=eRJKSczRjKn3Fo2jv8_4EMAZwfJBj5cIPg2WqHkC2Q8,481
126
- bluer_sbc-9.68.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
127
- bluer_sbc-9.68.1.dist-info/METADATA,sha256=M0xEgbXC6UQ_vHUC9Wpr9jjEZ18h4p3rNNJBlqInoZY,5746
128
- bluer_sbc-9.68.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
129
- bluer_sbc-9.68.1.dist-info/top_level.txt,sha256=DsLDHFiTeAj2mctGVmCSgWUhzCznWSQoUmQ1VyEmnT0,10
130
- bluer_sbc-9.68.1.dist-info/RECORD,,
126
+ bluer_sbc-9.73.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
127
+ bluer_sbc-9.73.1.dist-info/METADATA,sha256=ME8LFYvroW3GIPKITwslWjv-pzxF4aqQIe9rgTjQriI,5746
128
+ bluer_sbc-9.73.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
129
+ bluer_sbc-9.73.1.dist-info/top_level.txt,sha256=DsLDHFiTeAj2mctGVmCSgWUhzCznWSQoUmQ1VyEmnT0,10
130
+ bluer_sbc-9.73.1.dist-info/RECORD,,