bluer-sbc 9.69.1__py3-none-any.whl → 9.79.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.
- bluer_sbc/.abcli/actions.sh +3 -0
- bluer_sbc/.abcli/sbc/parts/adjust.sh +2 -0
- bluer_sbc/__init__.py +1 -1
- bluer_sbc/designs/swallow/parts.py +4 -0
- bluer_sbc/designs/swallow_head/parts.py +13 -1
- bluer_sbc/help/parts.py +2 -2
- bluer_sbc/parts/__main__.py +7 -0
- bluer_sbc/parts/classes/db.py +24 -22
- bluer_sbc/parts/db.py +45 -0
- {bluer_sbc-9.69.1.dist-info → bluer_sbc-9.79.1.dist-info}/METADATA +2 -2
- {bluer_sbc-9.69.1.dist-info → bluer_sbc-9.79.1.dist-info}/RECORD +14 -14
- {bluer_sbc-9.69.1.dist-info → bluer_sbc-9.79.1.dist-info}/WHEEL +0 -0
- {bluer_sbc-9.69.1.dist-info → bluer_sbc-9.79.1.dist-info}/licenses/LICENSE +0 -0
- {bluer_sbc-9.69.1.dist-info → bluer_sbc-9.79.1.dist-info}/top_level.txt +0 -0
bluer_sbc/.abcli/actions.sh
CHANGED
|
@@ -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
|
@@ -11,5 +11,17 @@ dict_of_parts = {
|
|
|
11
11
|
"PCB-double-9x7": "2 x",
|
|
12
12
|
"pushbutton": "",
|
|
13
13
|
"ultrasonic-sensor": "4 x",
|
|
14
|
-
"connector": "
|
|
14
|
+
"connector": "1 female",
|
|
15
|
+
"nuts-bolts-spacers": " + ".join(
|
|
16
|
+
[
|
|
17
|
+
"M2: (2 x bolt + 2 x 5 mm + 4 x nut)",
|
|
18
|
+
"M2.5: (4 x bolt + 8 x 10 mm + 4 x nut)",
|
|
19
|
+
"M3: (1 x bolt + 3 x 35 mm + 3 x 25 mm + 7 x 15 mm + 4 x 5 mm + 5 x nut)",
|
|
20
|
+
]
|
|
21
|
+
),
|
|
22
|
+
"plexiglass": "14 cm x 9.5 cm",
|
|
23
|
+
"white-terminal": "2 x",
|
|
24
|
+
"dupont-cables": "1 x 30 cm + 1 x 10 cm",
|
|
25
|
+
"16-awg-wire": "40 cm x (red + black/blue)",
|
|
26
|
+
"solid-cable-1-15": "10 cm x (red + black/blue)",
|
|
15
27
|
}
|
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]",
|
bluer_sbc/parts/__main__.py
CHANGED
|
@@ -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
|
)
|
bluer_sbc/parts/classes/db.py
CHANGED
|
@@ -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
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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. [{}
|
|
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
|
@@ -393,6 +393,51 @@ db_of_parts["nuts-bolts-spacers"] = Part(
|
|
|
393
393
|
],
|
|
394
394
|
)
|
|
395
395
|
|
|
396
|
+
db_of_parts["plexiglass"] = Part(
|
|
397
|
+
info=[
|
|
398
|
+
"plexiglass, 2 mm or 2.5 mm thickness",
|
|
399
|
+
],
|
|
400
|
+
images=[
|
|
401
|
+
"plexiglass.jpg",
|
|
402
|
+
],
|
|
403
|
+
)
|
|
404
|
+
|
|
405
|
+
db_of_parts["white-terminal"] = Part(
|
|
406
|
+
info=[
|
|
407
|
+
"white terminal",
|
|
408
|
+
],
|
|
409
|
+
images=[
|
|
410
|
+
"white-terminal.jpg",
|
|
411
|
+
],
|
|
412
|
+
)
|
|
413
|
+
|
|
414
|
+
db_of_parts["dupont-cables"] = Part(
|
|
415
|
+
info=[
|
|
416
|
+
"dupont cables, female to female",
|
|
417
|
+
],
|
|
418
|
+
images=[
|
|
419
|
+
"dupont-cables.jpg",
|
|
420
|
+
],
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
db_of_parts["16-awg-wire"] = Part(
|
|
424
|
+
info=[
|
|
425
|
+
"16 AWG wire",
|
|
426
|
+
],
|
|
427
|
+
images=[
|
|
428
|
+
"16-awg-wire.jpeg",
|
|
429
|
+
],
|
|
430
|
+
)
|
|
431
|
+
|
|
432
|
+
db_of_parts["solid-cable-1-15"] = Part(
|
|
433
|
+
info=[
|
|
434
|
+
"solid cable 1-1.5 mm^2",
|
|
435
|
+
],
|
|
436
|
+
images=[
|
|
437
|
+
"solid-cable-1-15.jpg",
|
|
438
|
+
],
|
|
439
|
+
)
|
|
440
|
+
|
|
396
441
|
db_of_parts["template"] = Part(
|
|
397
442
|
info=[
|
|
398
443
|
"template",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_sbc
|
|
3
|
-
Version: 9.
|
|
3
|
+
Version: 9.79.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
|
[](https://github.com/kamangir/bluer-sbc/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-sbc/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-sbc/actions/workflows/bashtest.yml) [](https://pypi.org/project/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.
|
|
69
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_sbc-9.79.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=
|
|
1
|
+
bluer_sbc/__init__.py,sha256=ELIxNDywUJJU5K4w9iVeQkEXMJ5IuZO3vwA77KyJ_dc,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=
|
|
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=
|
|
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
|
|
@@ -70,9 +70,9 @@ bluer_sbc/designs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
70
70
|
bluer_sbc/designs/battery_bus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
71
|
bluer_sbc/designs/battery_bus/parts.py,sha256=nmstgbDftDUE5N4HS4x7RE_QSKUdHVm1ieNlwtL1tb4,114
|
|
72
72
|
bluer_sbc/designs/swallow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
|
-
bluer_sbc/designs/swallow/parts.py,sha256=
|
|
73
|
+
bluer_sbc/designs/swallow/parts.py,sha256=6zQsedGz9DvjiX0BqiEw2Gixe_HMkw46abBc79Bu6Xw,189
|
|
74
74
|
bluer_sbc/designs/swallow_head/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
-
bluer_sbc/designs/swallow_head/parts.py,sha256=
|
|
75
|
+
bluer_sbc/designs/swallow_head/parts.py,sha256=XbpmSVnRksJq0M_kn9vtSB9rY27BJSN5n3qBJxl-P8w,868
|
|
76
76
|
bluer_sbc/hardware/__init__.py,sha256=EW_u4fRXPVpAO47EaLZn0Vxo_rfE9a1O4cPdl_w6vOI,1421
|
|
77
77
|
bluer_sbc/hardware/adafruit_rgb_matrix.py,sha256=4xFRghBXJWkDDOhPvO-Yt6xY61D451KKxjrUL8ZxXQ8,803
|
|
78
78
|
bluer_sbc/hardware/display.py,sha256=bRjemItjmF3tJcWxP3e2lVB5Ul8br3_3PcJhfrBT7mY,3057
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
120
|
-
bluer_sbc/parts/classes/db.py,sha256=
|
|
119
|
+
bluer_sbc/parts/db.py,sha256=MrLOms3FufZHxqf0T_ikfa3ZK_uGnIzYzu-nxGDeTlE,10070
|
|
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.
|
|
127
|
-
bluer_sbc-9.
|
|
128
|
-
bluer_sbc-9.
|
|
129
|
-
bluer_sbc-9.
|
|
130
|
-
bluer_sbc-9.
|
|
126
|
+
bluer_sbc-9.79.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
127
|
+
bluer_sbc-9.79.1.dist-info/METADATA,sha256=bEquA3Q-_0qVC-YTN-0pFYyMdNJ3e1MsmRKydTlmQVk,5746
|
|
128
|
+
bluer_sbc-9.79.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
129
|
+
bluer_sbc-9.79.1.dist-info/top_level.txt,sha256=DsLDHFiTeAj2mctGVmCSgWUhzCznWSQoUmQ1VyEmnT0,10
|
|
130
|
+
bluer_sbc-9.79.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|