bluer-ugv 7.485.1__py3-none-any.whl → 7.502.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.
@@ -23,6 +23,9 @@ docs = [
23
23
  f"{arzhang_mechanical_design}/measurements.png": "",
24
24
  f"{arzhang_assets2}/20251128_122828-2.jpg": "",
25
25
  f"{arzhang_assets2}/20251128_155615.jpg": "",
26
+ f"{arzhang_assets2}/20251130_134005.jpg": "",
27
+ f"{arzhang_assets2}/20251130_140054.jpg": "",
28
+ f"{arzhang_assets2}/20251201_132846.jpg": "",
26
29
  }
27
30
  ),
28
31
  },
@@ -4,30 +4,43 @@ from bluer_ugv.README.rangin.consts import rangin_mechanical_design
4
4
 
5
5
  dict_of_ugvs = {
6
6
  "swallow": {
7
+ "order": 1,
7
8
  "items": [
8
9
  f"{swallow_assets2}/20250701_2206342_1.gif",
9
10
  f"{swallow_assets2}/20250913_203635~2_1.gif",
10
- ]
11
+ ],
11
12
  },
12
13
  "arzhang": {
14
+ "order": 2,
13
15
  "items": [
14
16
  f"{arzhang_assets2}/20251106_111750.jpg",
15
17
  ],
16
18
  },
17
19
  "arzhang2": {
20
+ "order": 3,
18
21
  "items": [
19
22
  f"{arzhang_assets2}/20251106_111750.jpg",
20
23
  ],
21
24
  },
22
25
  "arzhang3": {
23
- "items": [
24
- f"{arzhang_assets}/20251107_175506.jpg",
25
- f"{arzhang_assets2}/20251128_175614.jpg",
26
- ],
26
+ "order": 4,
27
+ "items": sorted(
28
+ [
29
+ f"{arzhang_assets}/20251107_175506.jpg",
30
+ f"{arzhang_assets2}/20251128_175614.jpg",
31
+ f"{arzhang_assets2}/20251202_100317.jpg",
32
+ f"{arzhang_assets2}/20251202_101031.jpg",
33
+ f"{arzhang_assets2}/20251128_113314.jpg",
34
+ f"{arzhang_assets2}/20251128_151952.jpg",
35
+ f"{arzhang_assets2}/20251128_155616.jpg",
36
+ f"{arzhang_assets2}/20251130_140103.jpg",
37
+ ]
38
+ ),
27
39
  },
28
40
  "rangin": {
41
+ "order": 5,
29
42
  "items": [
30
43
  f"{rangin_mechanical_design}/robot.png",
31
- ]
44
+ ],
32
45
  },
33
46
  }
@@ -1,4 +1,4 @@
1
- from bluer_objects.README.items import ImageItems
1
+ from bluer_objects.README.items import ImageItems, Items
2
2
 
3
3
  from bluer_ugv.README.ugvs.db import dict_of_ugvs
4
4
  from bluer_ugv.README.validations.db import dict_of_validations
@@ -6,6 +6,7 @@ from bluer_ugv.README.validations.db import dict_of_validations
6
6
  docs = [
7
7
  {
8
8
  "path": f"../docs/UGVs/{ugv_name}.md",
9
+ "cols": info.get("cols", 3),
9
10
  "items": ImageItems({item: "" for item in info.get("items", [])}),
10
11
  "macros": {
11
12
  "validations:::": [
@@ -27,4 +28,31 @@ docs = [
27
28
  },
28
29
  }
29
30
  for ugv_name, info in dict_of_ugvs.items()
31
+ ] + [
32
+ {
33
+ "path": "../docs/UGVs",
34
+ "items": Items(
35
+ [
36
+ {
37
+ "name": ugv_name,
38
+ "marquee": (
39
+ lambda url: (
40
+ url if url.endswith("?raw=true") else f"{url}/?raw=true"
41
+ )
42
+ )(info["items"][-1]),
43
+ "url": f"./{ugv_name}.md",
44
+ }
45
+ for ugv_name, info in dict_of_ugvs.items()
46
+ ]
47
+ ),
48
+ "macros": {
49
+ "list": [
50
+ f"- [{ugv_name}](./{ugv_name}.md)"
51
+ for ugv_name in sorted(
52
+ dict_of_ugvs.keys(),
53
+ key=lambda ugv_name: dict_of_ugvs[ugv_name]["order"],
54
+ )
55
+ ],
56
+ },
57
+ }
30
58
  ]
bluer_ugv/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.485.1"
7
+ VERSION = "7.502.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
bluer_ugv/config.env CHANGED
@@ -29,4 +29,6 @@ BLUER_UGV_ULTRASONIC_SENSOR_KEEP_LOG=1
29
29
 
30
30
  BLUER_UGV_ULTRASONIC_SENSOR_LOG=0
31
31
 
32
- RANGIN_VIDEO_LIST_OBJECT=rangin-video-list-1
32
+ RANGIN_VIDEO_LIST_OBJECT=rangin-video-list-1
33
+
34
+ BLUER_UGV_RELEASE_2=release-two-2025-12-01-12-50-03-1hyrts
bluer_ugv/env.py CHANGED
@@ -83,3 +83,5 @@ BLUER_UGV_ULTRASONIC_SENSOR_LOG = get_env(
83
83
  )
84
84
 
85
85
  RANGIN_VIDEO_LIST_OBJECT = get_env("RANGIN_VIDEO_LIST_OBJECT")
86
+
87
+ BLUER_UGV_RELEASE_2 = get_env("BLUER_UGV_RELEASE_2")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.485.1
3
+ Version: 7.502.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -64,7 +64,7 @@ pip install bluer_ugv
64
64
 
65
65
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
66
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.485.1`](https://github.com/kamangir/bluer-ugv).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.502.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,7 +1,7 @@
1
- bluer_ugv/__init__.py,sha256=C55Afe6nEEhrEhm23kcHtt91T9X_VlEXWKEbnn0D0fQ,288
1
+ bluer_ugv/__init__.py,sha256=vlG89W_MS8bFYmW68rOzdHWjDeA9PcRj8SCbDm0lEpE,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
- bluer_ugv/config.env,sha256=DvOq_s3WEo2qC0PF9jcrx_6NM17zggxBapxgCEg5nZ0,995
4
- bluer_ugv/env.py,sha256=wep0iD09RRfpIb-ZGlP9kt8UATVLAjM9WytMGB8IyMo,1821
3
+ bluer_ugv/config.env,sha256=I718Cfy1GaGqVI80vb7iYsoJ0P7SKLW8USaBYb2sub4,1055
4
+ bluer_ugv/env.py,sha256=oEJiyKf1cCJ9kgZqgwnWemT0U_cO2RmCN3MRSS2vitY,1875
5
5
  bluer_ugv/host.py,sha256=DpdJCvBpUfP9LkZgcH4BcdLGD-WZUvbTsjvMfPtS8uY,292
6
6
  bluer_ugv/logger.py,sha256=faY6GL6xfZAzlZ1aJ-MEHuPRJZNx8PYS4jMyY3xuxMw,98
7
7
  bluer_ugv/sample.env,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -62,7 +62,7 @@ bluer_ugv/README/shortcuts.py,sha256=vjE1QUdZg4omCoqy3BoTXQUbe6c5ERyq2Hjbl5TDw28
62
62
  bluer_ugv/README/arzhang/__init__.py,sha256=va9n90xUAEkO1-161yciOdmqOTJ2RaBOi-5yTA6IEPs,350
63
63
  bluer_ugv/README/arzhang/algo.py,sha256=om7gokRGJ5X_yMi40r9SgoNav3C4Pcd7S7TuQv58ccs,134
64
64
  bluer_ugv/README/arzhang/consts.py,sha256=o7IDyn7hCXFsHQuAX_qM196R1vEkTcxyC9K5TOaB4G4,239
65
- bluer_ugv/README/arzhang/design.py,sha256=9hiQTBrKx3gcGt4wiDZtId7GT4UDtLV6oNa3aT7ZzMk,1415
65
+ bluer_ugv/README/arzhang/design.py,sha256=_eFdsK5OghIesdMIncGkpVwPjxzOfQ8C2UMb_Em6U7A,1601
66
66
  bluer_ugv/README/arzhang/flag.py,sha256=aTSQXk_sK09Wj7UCtAFkqruA0jwTvySHycG5pMu6Kp0,553
67
67
  bluer_ugv/README/arzhang/items.py,sha256=kMbopWBiwSelO4wFB0hD65Ndty_XXqEJBpJVibRUawU,1657
68
68
  bluer_ugv/README/computer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -96,8 +96,8 @@ bluer_ugv/README/swallow/digital/design/__init__.py,sha256=9ScXJn0UdHYVYiWyTV0Uz
96
96
  bluer_ugv/README/swallow/digital/design/mechanical.py,sha256=OwgMrFIpRA-RR9CwurXaif09GCd6_i3zGuAfkH0jtsM,983
97
97
  bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py,sha256=VefIdTUXnsxVj3rmjsguV7N2BD9tPRiiaHjjRl84QUM,1517
98
98
  bluer_ugv/README/ugvs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- bluer_ugv/README/ugvs/db.py,sha256=FpQeoTe7K3jPNvHDSHWD3BSSaGiJkJFQVBY53dHjZ14,876
100
- bluer_ugv/README/ugvs/docs.py,sha256=WDdt404j-ZIlwfgHRd34nIN2DaQXO6Uw7EaV3S87zSA,1067
99
+ bluer_ugv/README/ugvs/db.py,sha256=Y1SG-VpV1K92u6XxkyMutyu7Ahh3BOmSgjqOrP1ohrM,1368
100
+ bluer_ugv/README/ugvs/docs.py,sha256=Yef40N1hVZP3fEZBQyekFDRfcXJLA_adlMak0jSios8,1920
101
101
  bluer_ugv/README/ugvs/comparison/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  bluer_ugv/README/ugvs/comparison/build.py,sha256=xN1u7LyB92VYZgctAdWVjVWimpkDZFBhfG44fO7EKMg,3784
103
103
  bluer_ugv/README/ugvs/comparison/features/DYI.py,sha256=ED5Tlc4KcEFpLPHjwfSNGE47guKCeBG7Q84TS0BPJgE,187
@@ -202,8 +202,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
202
202
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
203
203
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
204
204
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
205
- bluer_ugv-7.485.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
206
- bluer_ugv-7.485.1.dist-info/METADATA,sha256=Sohsw8rEAalnlreow2Szx-srz6xuYW7MAsw6bgqOAYs,5579
207
- bluer_ugv-7.485.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
208
- bluer_ugv-7.485.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
209
- bluer_ugv-7.485.1.dist-info/RECORD,,
205
+ bluer_ugv-7.502.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
206
+ bluer_ugv-7.502.1.dist-info/METADATA,sha256=J2DGG5OxxaZTmmHo5qPuiJgv7baH5fGFvfb_i-yOSb8,5579
207
+ bluer_ugv-7.502.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
208
+ bluer_ugv-7.502.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
209
+ bluer_ugv-7.502.1.dist-info/RECORD,,