bluer-sbc 9.36.1__tar.gz → 9.57.1__tar.gz

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.

Files changed (138) hide show
  1. {bluer_sbc-9.36.1/bluer_sbc.egg-info → bluer_sbc-9.57.1}/PKG-INFO +4 -4
  2. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/README.md +3 -3
  3. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/alias.sh +2 -0
  4. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/design.py +6 -2
  5. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/__init__.py +0 -1
  6. bluer_sbc-9.57.1/bluer_sbc/README/designs/battery_bus.py +34 -0
  7. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/parts.py +3 -1
  8. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/shortcuts.py +2 -1
  9. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/__init__.py +1 -1
  10. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/battery_bus/parts.py +1 -0
  11. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/parts/classes/db.py +23 -0
  12. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/parts/db.py +15 -1
  13. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1/bluer_sbc.egg-info}/PKG-INFO +4 -4
  14. bluer_sbc-9.36.1/bluer_sbc/README/designs/battery_bus.py +0 -26
  15. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/LICENSE +0 -0
  16. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/MANIFEST.in +0 -0
  17. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/abcli.sh +0 -0
  18. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/actions.sh +0 -0
  19. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/adafruit_rgb_matrix.sh +0 -0
  20. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/bluer_sbc.sh +0 -0
  21. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/camera.sh +0 -0
  22. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/grove.sh +0 -0
  23. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/hat.sh +0 -0
  24. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/adafruit_rgb_matrix.sh +0 -0
  25. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/grove.sh +0 -0
  26. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/lepton.sh +0 -0
  27. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/scroll_phat_hd.sh +0 -0
  28. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/sparkfun_top_phat.sh +0 -0
  29. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/template.sh +0 -0
  30. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/install/unicorn_16x16.sh +0 -0
  31. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/lepton.sh +0 -0
  32. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/rpi/fake_display.sh +0 -0
  33. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/rpi.sh +0 -0
  34. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/sbc/parts/adjust.sh +0 -0
  35. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/sbc/parts/cd.sh +0 -0
  36. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/sbc/parts.sh +0 -0
  37. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/scroll_phat_hd.sh +0 -0
  38. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed/headless_rpi.sh +0 -0
  39. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed/headless_rpi_64_bit.sh +0 -0
  40. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed/headless_ubuntu_rpi.sh +0 -0
  41. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed/jetson.sh +0 -0
  42. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed/rpi.sh +0 -0
  43. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed/swallow_raspbian.sh +0 -0
  44. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/seed.sh +0 -0
  45. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/session.sh +0 -0
  46. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/sparkfun_top_phat.sh +0 -0
  47. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/tests/README.sh +0 -0
  48. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/tests/camera.sh +0 -0
  49. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/tests/help.sh +0 -0
  50. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/tests/parts_adjust.sh +0 -0
  51. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/tests/seed.sh +0 -0
  52. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/tests/version.sh +0 -0
  53. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/.abcli/unicorn_16x16.sh +0 -0
  54. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/__init__.py +0 -0
  55. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/aliases.py +0 -0
  56. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/build.py +0 -0
  57. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/blue_bracket.py +0 -0
  58. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/bryce.py +0 -0
  59. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/cheshmak.py +0 -0
  60. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/consts.py +0 -0
  61. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/nafha.py +0 -0
  62. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/shelter.py +0 -0
  63. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/swallow.py +0 -0
  64. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/swallow_head.py +0 -0
  65. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/ultrasonic_sensor_tester.py +0 -0
  66. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/designs/x.py +0 -0
  67. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/README/root.py +0 -0
  68. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/ROS/__init__.py +0 -0
  69. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/__main__.py +0 -0
  70. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/algo/__init__.py +0 -0
  71. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/algo/diff.py +0 -0
  72. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/config.env +0 -0
  73. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/__init__.py +0 -0
  74. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/battery_bus/__init__.py +0 -0
  75. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/swallow/__init__.py +0 -0
  76. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/swallow/parts.py +0 -0
  77. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/swallow_head/__init__.py +0 -0
  78. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/designs/swallow_head/parts.py +0 -0
  79. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/env.py +0 -0
  80. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/__init__.py +0 -0
  81. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/adafruit_rgb_matrix.py +0 -0
  82. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/display.py +0 -0
  83. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/grove.py +0 -0
  84. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/hardware.py +0 -0
  85. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/hat/__init__.py +0 -0
  86. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/hat/__main__.py +0 -0
  87. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/hat/abstract.py +0 -0
  88. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/hat/prototype.py +0 -0
  89. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/screen.py +0 -0
  90. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/scroll_phat_hd.py +0 -0
  91. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/sparkfun_top_phat/__init__.py +0 -0
  92. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/sparkfun_top_phat/__main__.py +0 -0
  93. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/sparkfun_top_phat/classes.py +0 -0
  94. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/hardware/unicorn_16x16.py +0 -0
  95. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/__init__.py +0 -0
  96. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/__main__.py +0 -0
  97. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/adafruit_rgb_matrix.py +0 -0
  98. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/camera.py +0 -0
  99. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/functions.py +0 -0
  100. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/grove.py +0 -0
  101. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/hat.py +0 -0
  102. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/lepton.py +0 -0
  103. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/parts.py +0 -0
  104. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/rpi.py +0 -0
  105. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/scroll_phat_hd.py +0 -0
  106. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/sparkfun_top_phat.py +0 -0
  107. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/help/unicorn_16x16.py +0 -0
  108. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/host.py +0 -0
  109. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/__init__.py +0 -0
  110. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/camera/__init__.py +0 -0
  111. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/camera/__main__.py +0 -0
  112. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/camera/constants.py +0 -0
  113. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/camera/generic.py +0 -0
  114. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/camera/rpi.py +0 -0
  115. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/camera/rpi_64_bit.py +0 -0
  116. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/classes.py +0 -0
  117. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/lepton/__init__.py +0 -0
  118. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/lepton/__main__.py +0 -0
  119. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/lepton/classes.py +0 -0
  120. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/imager/lepton/python2.py +0 -0
  121. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/logger.py +0 -0
  122. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/parts/__init__.py +0 -0
  123. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/parts/__main__.py +0 -0
  124. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/parts/classes/part.py +0 -0
  125. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/sample.env +0 -0
  126. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/session/__init__.py +0 -0
  127. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/session/__main__.py +0 -0
  128. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/session/classes.py +0 -0
  129. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/session/functions.py +0 -0
  130. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc/urls.py +0 -0
  131. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc.egg-info/SOURCES.txt +0 -0
  132. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc.egg-info/dependency_links.txt +0 -0
  133. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc.egg-info/requires.txt +0 -0
  134. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/bluer_sbc.egg-info/top_level.txt +0 -0
  135. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/pyproject.toml +0 -0
  136. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/requirements.txt +0 -0
  137. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/setup.cfg +0 -0
  138. {bluer_sbc-9.36.1 → bluer_sbc-9.57.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_sbc
3
- Version: 9.36.1
3
+ Version: 9.57.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)
@@ -46,7 +46,7 @@ pip install bluer_sbc
46
46
 
47
47
  | | | |
48
48
  | --- | --- | --- |
49
- | [`battery bus`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) [![image](https://github.com/kamangir/assets2/raw/main/battery-bus/concept.png)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) | [`swallow`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/v5/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) | [`swallow head`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/head-v1/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) |
49
+ | [`battery bus`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) [![image](https://github.com/kamangir/assets2/raw/main/battery-bus/20251007_221902.jpg)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) | [`swallow`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/v5/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) | [`swallow head`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/head-v1/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) |
50
50
  | [`ultrasonic-sensor-tester`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/ultrasonic-sensor-tester.md) [![image](https://github.com/kamangir/assets2/blob/main/ultrasonic-sensor-tester/00.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/ultrasonic-sensor-tester.md) | [`bryce`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/bryce.md) [![image](https://github.com/kamangir/assets2/blob/main/bryce/08.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/bryce.md) | [`cheshmak`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/cheshmak.md) [![image](https://github.com/kamangir/assets2/blob/main/cheshmak/01.png?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/cheshmak.md) |
51
51
  | [`nafha`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/nafha.md) [![image](https://github.com/kamangir/assets2/blob/main/nafha/01.png?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/nafha.md) | [`shelter`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/shelter.md) [![image](https://github.com/kamangir/assets2/raw/main/shelter/20251006_181554.jpg)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/shelter.md) | [`blue3`](https://github.com/kamangir/blue-bracket/blob/main/designs/blue3.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/blue3-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/blue3.md) |
52
52
  | [`chenar-grove`](https://github.com/kamangir/blue-bracket/blob/main/designs/chenar-grove.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/chenar-grove-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/chenar-grove.md) | [`cube`](https://github.com/kamangir/blue-bracket/blob/main/designs/cube.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/cube-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/cube.md) | [`eye_nano`](https://github.com/kamangir/blue-bracket/blob/main/designs/eye_nano.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/eye_nano-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/eye_nano.md) |
@@ -55,7 +55,7 @@ pip install bluer_sbc
55
55
 
56
56
  | |
57
57
  | --- |
58
- | [`parts`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) [![image](https://github.com/kamangir/assets2/raw/main/bluer-sbc/parts/XL4015.png)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) |
58
+ | [`parts`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) [![image](https://github.com/kamangir/assets2/raw/main/bluer-sbc/parts/grid.png)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) |
59
59
 
60
60
  ---
61
61
 
@@ -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.36.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.57.1`](https://github.com/kamangir/bluer-sbc).
70
70
 
71
71
 
72
72
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -21,7 +21,7 @@ pip install bluer_sbc
21
21
 
22
22
  | | | |
23
23
  | --- | --- | --- |
24
- | [`battery bus`](./bluer_sbc/docs/battery-bus.md) [![image](https://github.com/kamangir/assets2/raw/main/battery-bus/concept.png)](./bluer_sbc/docs/battery-bus.md) | [`swallow`](./bluer_sbc/docs/swallow.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/v5/01.jpg?raw=true)](./bluer_sbc/docs/swallow.md) | [`swallow head`](./bluer_sbc/docs/swallow-head.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/head-v1/01.jpg?raw=true)](./bluer_sbc/docs/swallow-head.md) |
24
+ | [`battery bus`](./bluer_sbc/docs/battery-bus.md) [![image](https://github.com/kamangir/assets2/raw/main/battery-bus/20251007_221902.jpg)](./bluer_sbc/docs/battery-bus.md) | [`swallow`](./bluer_sbc/docs/swallow.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/v5/01.jpg?raw=true)](./bluer_sbc/docs/swallow.md) | [`swallow head`](./bluer_sbc/docs/swallow-head.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/head-v1/01.jpg?raw=true)](./bluer_sbc/docs/swallow-head.md) |
25
25
  | [`ultrasonic-sensor-tester`](./bluer_sbc/docs/ultrasonic-sensor-tester.md) [![image](https://github.com/kamangir/assets2/blob/main/ultrasonic-sensor-tester/00.jpg?raw=true)](./bluer_sbc/docs/ultrasonic-sensor-tester.md) | [`bryce`](./bluer_sbc/docs/bryce.md) [![image](https://github.com/kamangir/assets2/blob/main/bryce/08.jpg?raw=true)](./bluer_sbc/docs/bryce.md) | [`cheshmak`](./bluer_sbc/docs/cheshmak.md) [![image](https://github.com/kamangir/assets2/blob/main/cheshmak/01.png?raw=true)](./bluer_sbc/docs/cheshmak.md) |
26
26
  | [`nafha`](./bluer_sbc/docs/nafha.md) [![image](https://github.com/kamangir/assets2/blob/main/nafha/01.png?raw=true)](./bluer_sbc/docs/nafha.md) | [`shelter`](./bluer_sbc/docs/shelter.md) [![image](https://github.com/kamangir/assets2/raw/main/shelter/20251006_181554.jpg)](./bluer_sbc/docs/shelter.md) | [`blue3`](https://github.com/kamangir/blue-bracket/blob/main/designs/blue3.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/blue3-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/blue3.md) |
27
27
  | [`chenar-grove`](https://github.com/kamangir/blue-bracket/blob/main/designs/chenar-grove.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/chenar-grove-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/chenar-grove.md) | [`cube`](https://github.com/kamangir/blue-bracket/blob/main/designs/cube.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/cube-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/cube.md) | [`eye_nano`](https://github.com/kamangir/blue-bracket/blob/main/designs/eye_nano.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/eye_nano-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/eye_nano.md) |
@@ -30,7 +30,7 @@ pip install bluer_sbc
30
30
 
31
31
  | |
32
32
  | --- |
33
- | [`parts`](./bluer_sbc/docs/parts) [![image](https://github.com/kamangir/assets2/raw/main/bluer-sbc/parts/XL4015.png)](./bluer_sbc/docs/parts) |
33
+ | [`parts`](./bluer_sbc/docs/parts) [![image](https://github.com/kamangir/assets2/raw/main/bluer-sbc/parts/grid.png)](./bluer_sbc/docs/parts) |
34
34
 
35
35
  ---
36
36
 
@@ -41,5 +41,5 @@ pip install bluer_sbc
41
41
 
42
42
  [![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)
43
43
 
44
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_sbc-9.36.1`](https://github.com/kamangir/bluer-sbc).
44
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_sbc-9.57.1`](https://github.com/kamangir/bluer-sbc).
45
45
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  alias @camera=bluer_sbc_camera
4
4
 
5
+ alias @designs=bluer-designs
6
+
5
7
  alias grove=bluer_sbc_grove
6
8
 
7
9
  alias @sbc=bluer_sbc
@@ -8,6 +8,7 @@ from bluer_sbc.parts.db import db_of_parts
8
8
  def design(
9
9
  items: List[str],
10
10
  dict_of_parts: Dict = {},
11
+ macros: Dict = {},
11
12
  ) -> Dict:
12
13
  output = {
13
14
  "items": items,
@@ -18,15 +19,18 @@ def design(
18
19
  "parts_images:::": markdown.generate_table(
19
20
  db_of_parts.as_images(
20
21
  dict_of_parts,
21
- reference="../../../parts",
22
+ reference="./parts",
22
23
  ),
23
24
  cols=10,
25
+ log=False,
24
26
  ),
25
27
  "parts_list:::": db_of_parts.as_list(
26
28
  dict_of_parts,
27
- reference="../../../parts",
29
+ reference="./parts",
28
30
  log=False,
29
31
  ),
30
32
  }
31
33
 
34
+ output["macros"].update(macros)
35
+
32
36
  return output
@@ -17,7 +17,6 @@ from bluer_sbc.designs.swallow_head.parts import dict_of_parts as swallow_head_p
17
17
 
18
18
  docs = [
19
19
  {
20
- "cols": 4,
21
20
  "items": design_info["items"],
22
21
  "path": f"../docs/{design_name}.md",
23
22
  "macros": design_info.get("macros", {}),
@@ -0,0 +1,34 @@
1
+ from bluer_objects import README
2
+ from bluer_objects.README.items import ImageItems
3
+ from bluer_objects.README.consts import assets_url
4
+ from bluer_objects.README.consts import designs_url
5
+
6
+ assets2_battery_bus = assets_url(
7
+ suffix="battery-bus",
8
+ volume=2,
9
+ )
10
+
11
+ marquee = README.Items(
12
+ [
13
+ {
14
+ "name": "battery bus",
15
+ "marquee": f"{assets2_battery_bus}/20251007_221902.jpg",
16
+ "url": "./bluer_sbc/docs/battery-bus.md",
17
+ }
18
+ ]
19
+ )
20
+
21
+ items = ImageItems(
22
+ {
23
+ f"{assets2_battery_bus}/concept.png": "",
24
+ designs_url(
25
+ "battery-bus/electrical/wiring.png?raw=true",
26
+ ): designs_url(
27
+ "battery-bus/electrical/wiring.svg",
28
+ ),
29
+ f"{assets2_battery_bus}/20251007_221902.jpg": "",
30
+ f"{assets2_battery_bus}/20251007_220642.jpg": "",
31
+ f"{assets2_battery_bus}/20251007_220520.jpg": "",
32
+ f"{assets2_battery_bus}/20251007_220601.jpg": "",
33
+ }
34
+ )
@@ -8,7 +8,9 @@ docs = [
8
8
  ] + [
9
9
  {
10
10
  "path": part.filename(create=True),
11
- "macros": {"info:::": part.README(db_of_parts.url_prefix)},
11
+ "macros": {
12
+ "info:::": part.README(db_of_parts.url_prefix),
13
+ },
12
14
  }
13
15
  for part_name, part in db_of_parts.items()
14
16
  if part_name != "template"
@@ -10,8 +10,9 @@ items = markdown.generate_table(
10
10
  {
11
11
  "name": "parts",
12
12
  "url": "./bluer_sbc/docs/parts",
13
- "marquee": f"{db_of_parts.url_prefix}/XL4015.png",
13
+ "marquee": f"{db_of_parts.url_prefix}/grid.png",
14
14
  },
15
15
  ]
16
16
  ),
17
+ log=False,
17
18
  )
@@ -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.36.1"
7
+ VERSION = "9.57.1"
8
8
 
9
9
  REPO_NAME = "bluer-sbc"
10
10
 
@@ -2,4 +2,5 @@ dict_of_parts = {
2
2
  "SLA-Battery": "",
3
3
  "on-off-switch": "",
4
4
  "charging-port": "",
5
+ "dsn-vc288": "",
5
6
  }
@@ -11,7 +11,9 @@ from bluer_options.logger import log_list
11
11
  from bluer_objects import file
12
12
  from bluer_objects import README
13
13
  from bluer_objects.README.consts import assets_path, assets_url
14
+ from bluer_objects.logger.image import log_image_grid
14
15
 
16
+ from bluer_sbc.host import signature
15
17
  from bluer_sbc import NAME
16
18
  from bluer_sbc.parts.classes.part import Part
17
19
  from bluer_sbc.logger import logger
@@ -87,6 +89,27 @@ class PartDB:
87
89
  )
88
90
  log_list(logger, "adjusting", list_of_filenames, "images")
89
91
 
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
112
+
90
113
  max_width = 0
91
114
  max_height = 0
92
115
  for filename in tqdm(list_of_filenames):
@@ -355,7 +355,7 @@ db_of_parts["TV-bracket"] = Part(
355
355
 
356
356
  db_of_parts["on-off-switch"] = Part(
357
357
  info=[
358
- "on/off switch",
358
+ "on/off switch, 12V DC 10 A, with indicator led",
359
359
  ],
360
360
  images=[
361
361
  "on-off-switch.png",
@@ -371,6 +371,20 @@ db_of_parts["charging-port"] = Part(
371
371
  ],
372
372
  )
373
373
 
374
+ db_of_parts["dsn-vc288"] = Part(
375
+ info=[
376
+ "DSN-VC288, panel mount, 4-30 VDC, 10A, voltmeter ammeter",
377
+ "https://hamguyparts.com/files/Download/Chinese%20DVA.pdf",
378
+ "https://www.skytech.ir/DownLoad/File/11515_DSN-VC288.pdf",
379
+ ],
380
+ images=[
381
+ "dsn-vc288.jpg",
382
+ "dsn-vc288-connection.jpg",
383
+ "dsn-vc288-measurements.jpeg",
384
+ ],
385
+ )
386
+
387
+
374
388
  db_of_parts["template"] = Part(
375
389
  info=[
376
390
  "template",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_sbc
3
- Version: 9.36.1
3
+ Version: 9.57.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)
@@ -46,7 +46,7 @@ pip install bluer_sbc
46
46
 
47
47
  | | | |
48
48
  | --- | --- | --- |
49
- | [`battery bus`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) [![image](https://github.com/kamangir/assets2/raw/main/battery-bus/concept.png)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) | [`swallow`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/v5/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) | [`swallow head`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/head-v1/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) |
49
+ | [`battery bus`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) [![image](https://github.com/kamangir/assets2/raw/main/battery-bus/20251007_221902.jpg)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/battery-bus.md) | [`swallow`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/v5/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow.md) | [`swallow head`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) [![image](https://github.com/kamangir/assets2/blob/main/swallow/design/head-v1/01.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/swallow-head.md) |
50
50
  | [`ultrasonic-sensor-tester`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/ultrasonic-sensor-tester.md) [![image](https://github.com/kamangir/assets2/blob/main/ultrasonic-sensor-tester/00.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/ultrasonic-sensor-tester.md) | [`bryce`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/bryce.md) [![image](https://github.com/kamangir/assets2/blob/main/bryce/08.jpg?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/bryce.md) | [`cheshmak`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/cheshmak.md) [![image](https://github.com/kamangir/assets2/blob/main/cheshmak/01.png?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/cheshmak.md) |
51
51
  | [`nafha`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/nafha.md) [![image](https://github.com/kamangir/assets2/blob/main/nafha/01.png?raw=true)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/nafha.md) | [`shelter`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/shelter.md) [![image](https://github.com/kamangir/assets2/raw/main/shelter/20251006_181554.jpg)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/shelter.md) | [`blue3`](https://github.com/kamangir/blue-bracket/blob/main/designs/blue3.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/blue3-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/blue3.md) |
52
52
  | [`chenar-grove`](https://github.com/kamangir/blue-bracket/blob/main/designs/chenar-grove.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/chenar-grove-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/chenar-grove.md) | [`cube`](https://github.com/kamangir/blue-bracket/blob/main/designs/cube.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/cube-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/cube.md) | [`eye_nano`](https://github.com/kamangir/blue-bracket/blob/main/designs/eye_nano.md) [![image](https://github.com/kamangir/blue-bracket/raw/main/images/eye_nano-1.jpg)](https://github.com/kamangir/blue-bracket/blob/main/designs/eye_nano.md) |
@@ -55,7 +55,7 @@ pip install bluer_sbc
55
55
 
56
56
  | |
57
57
  | --- |
58
- | [`parts`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) [![image](https://github.com/kamangir/assets2/raw/main/bluer-sbc/parts/XL4015.png)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) |
58
+ | [`parts`](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) [![image](https://github.com/kamangir/assets2/raw/main/bluer-sbc/parts/grid.png)](https://github.com/kamangir/bluer-sbc/blob/main/bluer_sbc/docs/parts) |
59
59
 
60
60
  ---
61
61
 
@@ -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.36.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.57.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,26 +0,0 @@
1
- from bluer_objects import README
2
- from bluer_objects.README.items import ImageItems
3
- from bluer_objects.README.consts import assets_url
4
-
5
- from bluer_sbc.README.designs.consts import assets2
6
-
7
- assets2_battery_bus = assets_url(
8
- suffix="battery-bus",
9
- volume=2,
10
- )
11
-
12
- marquee = README.Items(
13
- [
14
- {
15
- "name": "battery bus",
16
- "marquee": f"{assets2_battery_bus}/concept.png",
17
- "url": "./bluer_sbc/docs/battery-bus.md",
18
- }
19
- ]
20
- )
21
-
22
- items = ImageItems(
23
- {
24
- f"{assets2_battery_bus}/concept.png": "",
25
- }
26
- )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes