bluer-ugv 7.648.1__py3-none-any.whl → 7.662.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-ugv might be problematic. Click here for more details.

bluer_ugv/.abcli/alias.sh CHANGED
@@ -1,5 +1,7 @@
1
1
  #! /usr/bin/env bash
2
2
 
3
+ alias @rangin=bluer_ugv_rangin
4
+
3
5
  alias @swallow=bluer_ugv_swallow
4
6
 
5
7
  alias @ugv=bluer_ugv
@@ -0,0 +1,14 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_ugv_rangin_init() {
4
+ local options=$1
5
+ local do_install=$(bluer_ai_option_int "$options" install 0)
6
+
7
+ if [[ "$do_install" == 1 ]]; then
8
+ [[ "$abcli_is_rpi" == true ]] &&
9
+ sudo apt install -y alsa-utils wlr-randr
10
+ fi
11
+
12
+ [[ "$abcli_is_rpi" == true ]] &&
13
+ wlr-randr --output HDMI-A-1 --transform 90
14
+ }
@@ -0,0 +1,16 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_ugv_rangin() {
4
+ local task=$1
5
+
6
+ local function_name=bluer_ugv_rangin_$task
7
+ if [[ $(type -t $function_name) == "function" ]]; then
8
+ $function_name "${@:2}"
9
+ return
10
+ fi
11
+
12
+ bluer_ai_log_error "@ugv: rangin: $task: command not found."
13
+ return 1
14
+ }
15
+
16
+ bluer_ai_source_caller_suffix_path /rangin
@@ -5,6 +5,9 @@ function test_bluer_ugv_help() {
5
5
 
6
6
  local module
7
7
  for module in \
8
+ "@rangin" \
9
+ "@rangin init" \
10
+ \
8
11
  "@swallow" \
9
12
  "@swallow dataset" \
10
13
  "@swallow dataset combine" \
bluer_ugv/README/alias.py CHANGED
@@ -1,11 +1,11 @@
1
1
  docs = [
2
2
  {
3
- "path": "../docs/aliases",
4
- },
5
- {
6
- "path": "../docs/aliases/swallow.md",
7
- },
8
- {
9
- "path": "../docs/aliases/ugv.md",
10
- },
3
+ "path": f"../docs/aliases/{alias}",
4
+ }
5
+ for alias in [
6
+ "",
7
+ "rangin.md",
8
+ "swallow.md",
9
+ "ugv.md",
10
+ ]
11
11
  ]
@@ -76,4 +76,7 @@ docs = [
76
76
  ]
77
77
  ),
78
78
  },
79
+ {
80
+ "path": "../docs/rangin/terraform.md",
81
+ },
79
82
  ]
@@ -1,13 +1,15 @@
1
1
  from bluer_ugv.README.swallow.consts import swallow_assets2
2
2
  from bluer_ugv.README.arzhang.consts import arzhang_assets, arzhang_assets2
3
- from bluer_ugv.README.rangin.consts import rangin_mechanical_design
3
+ from bluer_ugv.README.rangin.consts import rangin_assets2, rangin_mechanical_design
4
4
 
5
5
  dict_of_ugvs = {
6
6
  "swallow": {
7
7
  "order": 1,
8
+ "cols": 1,
8
9
  "items": [
9
10
  f"{swallow_assets2}/20250701_2206342_1.gif",
10
11
  f"{swallow_assets2}/20250913_203635~2_1.gif",
12
+ f"{swallow_assets2}/20251216_205015.jpg",
11
13
  ],
12
14
  },
13
15
  "arzhang": {
@@ -43,6 +45,9 @@ dict_of_ugvs = {
43
45
  "order": 5,
44
46
  "items": [
45
47
  f"{rangin_mechanical_design}/robot.png",
48
+ f"{rangin_assets2}/20251221_125120.jpg",
49
+ f"{rangin_assets2}/20251222_104404.jpg",
50
+ f"{rangin_assets2}/20251222_110634.jpg",
46
51
  ],
47
52
  },
48
53
  }
@@ -10,7 +10,7 @@ docs = [
10
10
  "items": ImageItems({item: "" for item in info.get("items", [])}),
11
11
  "macros": {
12
12
  "validations:::": [
13
- "validations: {}".format(
13
+ (lambda thing: f"validations: {thing}" if thing else "")(
14
14
  ", ".join(
15
15
  sorted(
16
16
  [
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.648.1"
7
+ VERSION = "7.662.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -2,6 +2,7 @@ from bluer_ai.help.generic import help_functions as generic_help_functions
2
2
 
3
3
  from bluer_ugv import ALIAS
4
4
  from bluer_ugv.help.git import help_git
5
+ from bluer_ugv.help.rangin import help_functions as help_rangin
5
6
  from bluer_ugv.help.swallow import help_functions as help_swallow
6
7
 
7
8
 
@@ -10,6 +11,7 @@ help_functions = generic_help_functions(plugin_name=ALIAS)
10
11
  help_functions.update(
11
12
  {
12
13
  "git": help_git,
14
+ "rangin": help_rangin,
13
15
  "swallow": help_swallow,
14
16
  }
15
17
  )
@@ -0,0 +1,25 @@
1
+ from typing import List
2
+
3
+ from bluer_options.terminal import show_usage, xtra
4
+
5
+
6
+ def help_init(
7
+ tokens: List[str],
8
+ mono: bool,
9
+ ) -> str:
10
+ options = xtra("install", mono=mono)
11
+
12
+ return show_usage(
13
+ [
14
+ "@rangin",
15
+ "init",
16
+ f"[{options}]",
17
+ ],
18
+ "init.",
19
+ mono=mono,
20
+ )
21
+
22
+
23
+ help_functions = {
24
+ "init": help_init,
25
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.648.1
3
+ Version: 7.662.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -52,6 +52,7 @@ pip install bluer_ugv
52
52
 
53
53
  ## aliases
54
54
 
55
+ [@rangin](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/aliases/rangin.md),
55
56
  [@swallow](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/aliases/swallow.md),
56
57
  [@ugv](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/aliases/ugv.md).
57
58
 
@@ -64,7 +65,7 @@ pip install bluer_ugv
64
65
 
65
66
  [![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
67
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.648.1`](https://github.com/kamangir/bluer-ugv).
68
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.662.1`](https://github.com/kamangir/bluer-ugv).
68
69
 
69
70
 
70
71
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,4 +1,4 @@
1
- bluer_ugv/__init__.py,sha256=7h5uF4UN9iOVlN2Q7EKVdCbNUghSJ61W23JwSaD8dvY,288
1
+ bluer_ugv/__init__.py,sha256=KBrfpYD6YrpkPHFeVfWUplbZzTk671B0nbr4Nol2Lpo,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
3
  bluer_ugv/config.env,sha256=I718Cfy1GaGqVI80vb7iYsoJ0P7SKLW8USaBYb2sub4,1055
4
4
  bluer_ugv/env.py,sha256=oEJiyKf1cCJ9kgZqgwnWemT0U_cO2RmCN3MRSS2vitY,1875
@@ -9,9 +9,11 @@ bluer_ugv/urls.py,sha256=Bjdewssljt0LIefjixBem9JN0kkghPvmrIETj3GdXbY,17
9
9
  bluer_ugv/.abcli/abcli.sh,sha256=oaYgx1TCS6UWaYCO8__Mz2H5_zEN9dL3v_RjuwBAo0o,198
10
10
  bluer_ugv/.abcli/actions.sh,sha256=SqOmx12IOMopT2PgiHgAu5BwLgIi92I98LZ64dZSsXw,224
11
11
  bluer_ugv/.abcli/aka.sh,sha256=RHDU_JbEEL2B0vvvRJ3NVSsRSEjSu09jNY85n7DLe-k,21
12
- bluer_ugv/.abcli/alias.sh,sha256=WgSjjtC6rCqs7kChT-89dILSmp4f79R9iY3wYkRPSkY,77
12
+ bluer_ugv/.abcli/alias.sh,sha256=AorjNOAzLMA5IH9HQLjh79VSj31LdTk4njse0NCS8-g,109
13
13
  bluer_ugv/.abcli/bluer_UGV.sh,sha256=d1R6TQgIQugKeUK3RZbxgm-6d9QqkJwwoPCQKOC8Xb0,250
14
+ bluer_ugv/.abcli/rangin.sh,sha256=DDQavMiK8F_40S-0VllQSZ3IInjdhJ6fNuuY9pYRoKQ,356
14
15
  bluer_ugv/.abcli/swallow.sh,sha256=b3LpA-OSCa7ykRtLnWDQYrqmOvMfoP15al90krLmb2I,319
16
+ bluer_ugv/.abcli/rangin/init.sh,sha256=4KGq--6iioBEiA0meYYE6ygVtuKkk6P_Yakgs5AUjqs,374
15
17
  bluer_ugv/.abcli/swallow/dataset.sh,sha256=rHRTCShdP3Uls5ZmTKhRzQHX6a5bZvi8Cj1QDpO4tH4,343
16
18
  bluer_ugv/.abcli/swallow/debug.sh,sha256=JVjExhotePW3gZG2MUS6IzbXVQwMAefKYJiSP88wqlk,559
17
19
  bluer_ugv/.abcli/swallow/env.sh,sha256=5rKCdZhrQa_9Lr96j1h7XrWBcf0YEeV3w3o0vLWGd0M,360
@@ -40,7 +42,7 @@ bluer_ugv/.abcli/swallow/video/playlist/download.sh,sha256=_HsWoW3rtLWMZpAxd2iem
40
42
  bluer_ugv/.abcli/swallow/video/playlist/edit.sh,sha256=_l-XpJOybxIkfcE797DBXwlcBcWSZqzTwIEGxk14-BY,403
41
43
  bluer_ugv/.abcli/swallow/video/playlist/upload.sh,sha256=8yGQtenNTNPQvifffED0FCP4Rjz0jHHvaDdcTv-vn9M,206
42
44
  bluer_ugv/.abcli/tests/README.sh,sha256=w1xjPWgCfWbLtON_LEn2cvSmPLulzm7kTBPEC3LJixs,142
43
- bluer_ugv/.abcli/tests/help.sh,sha256=_W98Uef-Yahu4WQD20AWnZKKo_xOSzHEFpIHjf0_V6I,1535
45
+ bluer_ugv/.abcli/tests/help.sh,sha256=AiFNv3i0_JEcUuHXuxlXf7i-AdReetws_b0_vOxkpQM,1590
44
46
  bluer_ugv/.abcli/tests/swallow_dataset_combine.sh,sha256=tXjZj5iOOmCz3ito9lBDYjaAvR2odNzs2LRXsrM6d6c,291
45
47
  bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh,sha256=Ff4V7fi-h1myRT9ajjaKXesNrpaxLZMGDidBT8G31Kw,360
46
48
  bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh,sha256=N3Iq-zJV2OfEoft44D1BBLOlrkAbUDN_Rp_sAmjCEVk,311
@@ -53,7 +55,7 @@ bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh,sha256=4LxfOGRAUJsZ5dnxrkwXCj
53
55
  bluer_ugv/.abcli/tests/version.sh,sha256=7nVT4lERxIe-GkuDn86nfur9E_WGbvWtet_AJtr2S48,147
54
56
  bluer_ugv/.abcli/ugv/git.sh,sha256=U5p_5qrNwLw8O7HfHu7QZgLblbDc6Z6lIumgKwu3mzY,299
55
57
  bluer_ugv/README/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- bluer_ugv/README/alias.py,sha256=MdTRUMg3rLbWS_AQz1WXwbkEjKEjBx5uM_fDwYmMGFY,173
58
+ bluer_ugv/README/alias.py,sha256=jxUWypojpblFjrMU0AUqQK50fioWplaCJg7-th9D-Jw,165
57
59
  bluer_ugv/README/beast.py,sha256=6sOpm4vNXxNtNMZszgiuqqJaBBWG02WaSgKfbdt7J4E,57
58
60
  bluer_ugv/README/build.py,sha256=ZMLb4cRdEo7jc_ZrVQaxR_20l8TxhVEw65uWizUz5Bo,1495
59
61
  bluer_ugv/README/consts.py,sha256=bQ98yk28E8-EBh2wUgMNr-sZ90IC3q7BmTzJe5XCS3g,257
@@ -84,7 +86,7 @@ bluer_ugv/README/eagle/items.py,sha256=ombp026VFK_w1oP7p9X6jcRskr4jTDOXqoxD0UB5R
84
86
  bluer_ugv/README/fire/__init__.py,sha256=JZcj-UQvUpDFOOW-uPVf63dvseGnEKVBeydHrQwIpnU,643
85
87
  bluer_ugv/README/fire/consts.py,sha256=xM3UXPvQlyuxbqjhs3wrqAH7rMgebpW1KabBZJ3I-pI,114
86
88
  bluer_ugv/README/fire/items.py,sha256=1r7sUjj0SrrPfHCadFEBORw3x0l6mXwk1T9Eu-QDzZk,74
87
- bluer_ugv/README/rangin/__init__.py,sha256=ZMlr71hyosGu8qf92mZkY9BVnEPQh_c7spqL3nlCvlE,2402
89
+ bluer_ugv/README/rangin/__init__.py,sha256=yalXau0iJR_nhn4zQP2uCQiWfKHZ8OtT7E3-rlEjA78,2462
88
90
  bluer_ugv/README/rangin/consts.py,sha256=QOtHe3TL9XoVQk3KD8bxBCdnXXjjnyCtobsYqYVPJ7s,270
89
91
  bluer_ugv/README/rangin/items.py,sha256=PZST5IQl4fTHG5RIe3gJGa2dqiH4tXa0WXPGkhwKbgw,243
90
92
  bluer_ugv/README/ravin/__init__.py,sha256=T_JGY6XXeiutQ80JRCaxSIx-lkovRoXj6Vl_g1eXtq0,243
@@ -105,8 +107,8 @@ bluer_ugv/README/swallow/digital/design/mechanical.py,sha256=OwgMrFIpRA-RR9CwurX
105
107
  bluer_ugv/README/swallow/digital/design/parts.py,sha256=R_CePkG5zF3qn1X4hvQyd8Iunc0u6yfWXyJJZi3fWBw,549
106
108
  bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py,sha256=VefIdTUXnsxVj3rmjsguV7N2BD9tPRiiaHjjRl84QUM,1517
107
109
  bluer_ugv/README/ugvs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
- bluer_ugv/README/ugvs/db.py,sha256=EzRonSj4Zsk-Nscg1-udVVJZBEAEvo4PaIVCpClj06U,1484
109
- bluer_ugv/README/ugvs/docs.py,sha256=Yef40N1hVZP3fEZBQyekFDRfcXJLA_adlMak0jSios8,1920
110
+ bluer_ugv/README/ugvs/db.py,sha256=YqUqljIWi_4Qzi45WW7MVXtINBbgjFc0H7hQVvqvsrc,1732
111
+ bluer_ugv/README/ugvs/docs.py,sha256=ZtX6abCe1PEIhAWXenH6jNqXcYzbn7QuK8m0LlQS17E,1952
110
112
  bluer_ugv/README/ugvs/comparison/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
113
  bluer_ugv/README/ugvs/comparison/build.py,sha256=Dj86jYV0gGHZQrTRH0wZ_Q8eh3yREBx5bgQ1Sw2bahA,4634
112
114
  bluer_ugv/README/ugvs/comparison/features/DYI.py,sha256=ED5Tlc4KcEFpLPHjwfSNGE47guKCeBG7Q84TS0BPJgE,187
@@ -145,8 +147,9 @@ bluer_ugv/designs/ravin/ravin4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
145
147
  bluer_ugv/designs/ravin/ravin4/parts.py,sha256=Skgkut_OCRPUwtLX_gIe70A1n_r2-48aPW-f6K6zbmE,845
146
148
  bluer_ugv/help/__init__.py,sha256=ajz1GSNU9xYVrFEDSz6Xwg7amWQ_yvW75tQa1ZvRIWc,3
147
149
  bluer_ugv/help/__main__.py,sha256=ww3p0cIRZm-SDODZ_fYAzPV_-nucxtidjK1IP2idW8g,229
148
- bluer_ugv/help/functions.py,sha256=_JcncL82A-6m9P9J6MX6Z_FtZ09k6HWuirozKl48xXY,367
150
+ bluer_ugv/help/functions.py,sha256=foHX7SB5oa59FgqyX3L7uQZcJogVzHDt4Msk-cgqloE,462
149
151
  bluer_ugv/help/git.py,sha256=4CcaA8lHoplrrFgF5lolwVT79SLr3gE2iqXpAIfzH64,319
152
+ bluer_ugv/help/rangin.py,sha256=uIQNz7aZjeinG6xNa1hTYEKFGMZnsj7mwVQcc6apWGA,388
150
153
  bluer_ugv/help/swallow/__init__.py,sha256=13rjEuN0KXX6PpYlKzG8Pf3H3TKS3U8f9AZBhqacfSA,842
151
154
  bluer_ugv/help/swallow/dataset.py,sha256=59D5XLQG1PRWfPwfM73Jz1-f0qh_cO0q18qLtsxXtj0,2495
152
155
  bluer_ugv/help/swallow/debug.py,sha256=70krqg-YtjxPjPwWnx4J1Fxlvw46hHyAYq7pA7yPt50,481
@@ -213,8 +216,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
213
216
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
214
217
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
215
218
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
216
- bluer_ugv-7.648.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
217
- bluer_ugv-7.648.1.dist-info/METADATA,sha256=UbgqhHI_9ZmamrdZ7OujOZMHrIisnrmKefS60TB6k1Q,5579
218
- bluer_ugv-7.648.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
219
- bluer_ugv-7.648.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
220
- bluer_ugv-7.648.1.dist-info/RECORD,,
219
+ bluer_ugv-7.662.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
220
+ bluer_ugv-7.662.1.dist-info/METADATA,sha256=TIyU_n3y81IK-Jvt1NFTqp2KWdJCAwjhYwNySbtINFQ,5673
221
+ bluer_ugv-7.662.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
222
+ bluer_ugv-7.662.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
223
+ bluer_ugv-7.662.1.dist-info/RECORD,,