bluer-objects 6.307.1__py3-none-any.whl → 6.317.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-objects might be problematic. Click here for more details.
- bluer_objects/.abcli/file.sh +15 -4
- bluer_objects/.abcli/tests/file.sh +64 -0
- bluer_objects/.abcli/tests/help.sh +4 -0
- bluer_objects/README/__init__.py +1 -0
- bluer_objects/__init__.py +1 -1
- bluer_objects/file/__main__.py +52 -7
- bluer_objects/help/file.py +59 -0
- bluer_objects/help/functions.py +2 -0
- bluer_objects/logger/stitch.py +107 -0
- bluer_objects/tests/test_logger_stitch_images.py +47 -0
- {bluer_objects-6.307.1.dist-info → bluer_objects-6.317.1.dist-info}/METADATA +2 -2
- {bluer_objects-6.307.1.dist-info → bluer_objects-6.317.1.dist-info}/RECORD +15 -11
- {bluer_objects-6.307.1.dist-info → bluer_objects-6.317.1.dist-info}/WHEEL +0 -0
- {bluer_objects-6.307.1.dist-info → bluer_objects-6.317.1.dist-info}/licenses/LICENSE +0 -0
- {bluer_objects-6.307.1.dist-info → bluer_objects-6.317.1.dist-info}/top_level.txt +0 -0
bluer_objects/.abcli/file.sh
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
#! /usr/bin/env bash
|
|
2
2
|
|
|
3
3
|
function bluer_objects_file() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
local options=$1
|
|
5
|
+
local do_sudo=$(bluer_ai_option_int "$options" sudo 0)
|
|
6
|
+
|
|
7
|
+
local task=$2
|
|
8
|
+
|
|
9
|
+
local prefix=""
|
|
10
|
+
[[ "$do_sudo" == 1 ]] &&
|
|
11
|
+
prefix="sudo -E"
|
|
12
|
+
|
|
13
|
+
local filename=$3
|
|
14
|
+
|
|
15
|
+
$prefix $(which python) -m bluer_objects.file \
|
|
16
|
+
"$task" \
|
|
17
|
+
--filename "$filename" \
|
|
18
|
+
"${@:4}"
|
|
8
19
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#! /usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
function test_file_asset() {
|
|
4
|
+
echo $abcli_path_git/bluer-objects/bluer_objects/.abcli/tests/file.sh
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function test_file_replace() {
|
|
8
|
+
local options=$1
|
|
9
|
+
|
|
10
|
+
local filename=$abcli_path_git/file.sh
|
|
11
|
+
|
|
12
|
+
cp -v \
|
|
13
|
+
$(test_file_asset) \
|
|
14
|
+
$filename
|
|
15
|
+
[[ $? -ne 0 ]] && return 1
|
|
16
|
+
|
|
17
|
+
bluer_objects_file - \
|
|
18
|
+
replace \
|
|
19
|
+
$filename \
|
|
20
|
+
--this function+local \
|
|
21
|
+
--that FUNCTION+LOCAL \
|
|
22
|
+
--cat 1 \
|
|
23
|
+
"${@:2}"
|
|
24
|
+
[[ $? -ne 0 ]] && return 1
|
|
25
|
+
bluer_ai_hr
|
|
26
|
+
|
|
27
|
+
# ---
|
|
28
|
+
|
|
29
|
+
bluer_objects_file - \
|
|
30
|
+
replace \
|
|
31
|
+
$filename \
|
|
32
|
+
--this "FUNCTION test_file_asset() {+echo" \
|
|
33
|
+
--that ":)+:(" \
|
|
34
|
+
--cat 1 \
|
|
35
|
+
--whole_line 1 \
|
|
36
|
+
"${@:2}"
|
|
37
|
+
[[ $? -ne 0 ]] && return 1
|
|
38
|
+
rm -v $filename
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function test_file_size() {
|
|
42
|
+
local options=$1
|
|
43
|
+
|
|
44
|
+
local size=$(bluer_objects_file - \
|
|
45
|
+
size \
|
|
46
|
+
$(test_file_asset))
|
|
47
|
+
|
|
48
|
+
bluer_ai_assert \
|
|
49
|
+
"$size" \
|
|
50
|
+
"1.18 kB"
|
|
51
|
+
[[ $? -ne 0 ]] && return 1
|
|
52
|
+
bluer_ai_hr
|
|
53
|
+
|
|
54
|
+
# ---
|
|
55
|
+
|
|
56
|
+
local size=$(bluer_objects_file - \
|
|
57
|
+
size \
|
|
58
|
+
$(test_file_asset) \
|
|
59
|
+
--pretty 0)
|
|
60
|
+
|
|
61
|
+
bluer_ai_assert \
|
|
62
|
+
"$size" \
|
|
63
|
+
"1209"
|
|
64
|
+
}
|
bluer_objects/README/__init__.py
CHANGED
bluer_objects/__init__.py
CHANGED
bluer_objects/file/__main__.py
CHANGED
|
@@ -31,24 +31,69 @@ parser.add_argument(
|
|
|
31
31
|
help="<that-1+that-2+that-3>",
|
|
32
32
|
)
|
|
33
33
|
parser.add_argument(
|
|
34
|
-
"--
|
|
34
|
+
"--pretty",
|
|
35
35
|
type=int,
|
|
36
|
-
default=
|
|
36
|
+
default=1,
|
|
37
|
+
help="0 | 1",
|
|
38
|
+
)
|
|
39
|
+
parser.add_argument(
|
|
40
|
+
"--save",
|
|
41
|
+
type=int,
|
|
42
|
+
default=1,
|
|
43
|
+
help="0 | 1",
|
|
44
|
+
)
|
|
45
|
+
parser.add_argument(
|
|
46
|
+
"--whole_line",
|
|
47
|
+
type=int,
|
|
48
|
+
default=0,
|
|
49
|
+
help="0 | 1",
|
|
50
|
+
)
|
|
51
|
+
parser.add_argument(
|
|
52
|
+
"--log",
|
|
53
|
+
type=int,
|
|
54
|
+
default=0,
|
|
55
|
+
help="0 | 1",
|
|
56
|
+
)
|
|
57
|
+
parser.add_argument(
|
|
58
|
+
"--cat",
|
|
59
|
+
type=int,
|
|
60
|
+
default=0,
|
|
61
|
+
help="0 | 1",
|
|
37
62
|
)
|
|
38
63
|
args = parser.parse_args()
|
|
39
64
|
|
|
40
65
|
success = False
|
|
41
66
|
if args.task == "replace":
|
|
42
|
-
logger.info(
|
|
67
|
+
logger.info(
|
|
68
|
+
f'{NAME}.{args.task}: "{args.this}" -> "{args.that}" in {args.filename}'
|
|
69
|
+
)
|
|
43
70
|
|
|
44
|
-
success, content = file.load_text(
|
|
71
|
+
success, content = file.load_text(
|
|
72
|
+
args.filename,
|
|
73
|
+
log=args.log == 1,
|
|
74
|
+
)
|
|
45
75
|
if success:
|
|
46
76
|
for this, that in tqdm(zip(args.this.split("+"), args.that.split("+"))):
|
|
47
|
-
|
|
77
|
+
if args.whole_line:
|
|
78
|
+
content = [that if line == this else line for line in content]
|
|
79
|
+
else:
|
|
80
|
+
content = [line.replace(this, that) for line in content]
|
|
81
|
+
|
|
82
|
+
if args.save == 1:
|
|
83
|
+
success = file.save_text(
|
|
84
|
+
args.filename,
|
|
85
|
+
content,
|
|
86
|
+
log=args.log == 1,
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
if success and args.cat:
|
|
90
|
+
for line in content:
|
|
91
|
+
if any(this in line for this in args.this.split("+")):
|
|
92
|
+
logger.info(line)
|
|
48
93
|
|
|
49
|
-
success = file.save_text(args.filename, content)
|
|
50
94
|
elif args.task == "size":
|
|
51
|
-
|
|
95
|
+
size = file.size(args.filename)
|
|
96
|
+
print(string.pretty_bytes(size) if args.pretty == 1 else size)
|
|
52
97
|
success = True
|
|
53
98
|
else:
|
|
54
99
|
success = None
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from bluer_options.terminal import show_usage, xtra
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def help_replace(
|
|
7
|
+
tokens: List[str],
|
|
8
|
+
mono: bool,
|
|
9
|
+
) -> str:
|
|
10
|
+
options = xtra("sudo", mono=mono)
|
|
11
|
+
|
|
12
|
+
args = [
|
|
13
|
+
"--cat 1",
|
|
14
|
+
"--save 0",
|
|
15
|
+
"--this this-1+this-2",
|
|
16
|
+
"--that that-1+that-2",
|
|
17
|
+
"--whole_line 1",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
return show_usage(
|
|
21
|
+
[
|
|
22
|
+
"@file",
|
|
23
|
+
f"[{options}]",
|
|
24
|
+
"replace",
|
|
25
|
+
"<filename>",
|
|
26
|
+
]
|
|
27
|
+
+ args,
|
|
28
|
+
"<this> -> <that> in <filename>.",
|
|
29
|
+
mono=mono,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def help_size(
|
|
34
|
+
tokens: List[str],
|
|
35
|
+
mono: bool,
|
|
36
|
+
) -> str:
|
|
37
|
+
options = "-"
|
|
38
|
+
|
|
39
|
+
args = [
|
|
40
|
+
"--pretty 0",
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
return show_usage(
|
|
44
|
+
[
|
|
45
|
+
"@file",
|
|
46
|
+
f"[{options}]",
|
|
47
|
+
"size",
|
|
48
|
+
"<filename>",
|
|
49
|
+
]
|
|
50
|
+
+ args,
|
|
51
|
+
"size of <filename>",
|
|
52
|
+
mono=mono,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
help_functions = {
|
|
57
|
+
"replace": help_replace,
|
|
58
|
+
"size": help_size,
|
|
59
|
+
}
|
bluer_objects/help/functions.py
CHANGED
|
@@ -6,6 +6,7 @@ from bluer_objects.help.clone import help_clone
|
|
|
6
6
|
from bluer_objects.help.create_test_asset import help_create_test_asset
|
|
7
7
|
from bluer_objects.help.download import help_download
|
|
8
8
|
from bluer_objects.help.gif import help_functions as help_gif
|
|
9
|
+
from bluer_objects.help.file import help_functions as help_file
|
|
9
10
|
from bluer_objects.help.host import help_functions as help_host
|
|
10
11
|
from bluer_objects.help.ls import help_ls
|
|
11
12
|
from bluer_objects.help.metadata import help_functions as help_metadata
|
|
@@ -21,6 +22,7 @@ help_functions.update(
|
|
|
21
22
|
"clone": help_clone,
|
|
22
23
|
"create_test_asset": help_create_test_asset,
|
|
23
24
|
"download": help_download,
|
|
25
|
+
"file": help_file,
|
|
24
26
|
"gif": help_gif,
|
|
25
27
|
"host": help_host,
|
|
26
28
|
"ls": help_ls,
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
import numpy as np
|
|
3
|
+
|
|
4
|
+
from blueness import module
|
|
5
|
+
from bluer_options import string
|
|
6
|
+
|
|
7
|
+
from bluer_objects import NAME
|
|
8
|
+
from bluer_objects.logger import logger
|
|
9
|
+
|
|
10
|
+
NAME = module.name(__file__, NAME)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def stitch_images(
|
|
14
|
+
list_of_images: List[np.ndarray],
|
|
15
|
+
cols: int = -1,
|
|
16
|
+
rows: int = -1,
|
|
17
|
+
log: bool = False,
|
|
18
|
+
) -> np.ndarray:
|
|
19
|
+
if not list_of_images:
|
|
20
|
+
return np.zeros((1, 1, 3), dtype=np.uint8)
|
|
21
|
+
|
|
22
|
+
list_of_images = list_of_images.copy()
|
|
23
|
+
|
|
24
|
+
if rows == -1:
|
|
25
|
+
rows = int(np.floor(np.sqrt(len(list_of_images))))
|
|
26
|
+
cols = -1
|
|
27
|
+
|
|
28
|
+
if cols == -1:
|
|
29
|
+
cols = int(np.ceil(len(list_of_images) / rows))
|
|
30
|
+
|
|
31
|
+
if log:
|
|
32
|
+
logger.info(
|
|
33
|
+
"{}.stitch_images[{}x{}]({}): {}".format(
|
|
34
|
+
NAME,
|
|
35
|
+
rows,
|
|
36
|
+
cols,
|
|
37
|
+
len(list_of_images),
|
|
38
|
+
", ".join(
|
|
39
|
+
[string.pretty_shape_of_matrix(image) for image in list_of_images]
|
|
40
|
+
),
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
for image in list_of_images:
|
|
45
|
+
if len(image.shape) == 2:
|
|
46
|
+
image = np.stack([image, image, image], axis=2)
|
|
47
|
+
|
|
48
|
+
if rows == 1:
|
|
49
|
+
output = np.zeros(
|
|
50
|
+
(
|
|
51
|
+
max([image.shape[0] for image in list_of_images]),
|
|
52
|
+
sum([image.shape[1] for image in list_of_images]),
|
|
53
|
+
3,
|
|
54
|
+
),
|
|
55
|
+
dtype=np.uint8,
|
|
56
|
+
)
|
|
57
|
+
x: int = 0
|
|
58
|
+
for image in list_of_images:
|
|
59
|
+
x_new = x + image.shape[1]
|
|
60
|
+
|
|
61
|
+
output[
|
|
62
|
+
: image.shape[0],
|
|
63
|
+
x:x_new,
|
|
64
|
+
:,
|
|
65
|
+
] = image
|
|
66
|
+
|
|
67
|
+
x = x_new
|
|
68
|
+
|
|
69
|
+
return output
|
|
70
|
+
|
|
71
|
+
if cols == 1:
|
|
72
|
+
output = np.zeros(
|
|
73
|
+
(
|
|
74
|
+
sum([image.shape[0] for image in list_of_images]),
|
|
75
|
+
max([image.shape[1] for image in list_of_images]),
|
|
76
|
+
3,
|
|
77
|
+
),
|
|
78
|
+
dtype=np.uint8,
|
|
79
|
+
)
|
|
80
|
+
y: int = 0
|
|
81
|
+
for image in list_of_images:
|
|
82
|
+
y_new = y + image.shape[0]
|
|
83
|
+
|
|
84
|
+
output[
|
|
85
|
+
y:y_new,
|
|
86
|
+
: image.shape[1],
|
|
87
|
+
:,
|
|
88
|
+
] = image
|
|
89
|
+
|
|
90
|
+
y = y_new
|
|
91
|
+
|
|
92
|
+
return output
|
|
93
|
+
|
|
94
|
+
return stitch_images(
|
|
95
|
+
list_of_images=[
|
|
96
|
+
stitch_images(
|
|
97
|
+
list_of_images[row * cols : (row + 1) * cols],
|
|
98
|
+
cols=cols,
|
|
99
|
+
rows=1,
|
|
100
|
+
log=log,
|
|
101
|
+
)
|
|
102
|
+
for row in range(rows)
|
|
103
|
+
],
|
|
104
|
+
cols=1,
|
|
105
|
+
rows=rows,
|
|
106
|
+
log=log,
|
|
107
|
+
)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
import numpy as np
|
|
3
|
+
import random
|
|
4
|
+
|
|
5
|
+
from bluer_objects.logger.stitch import stitch_images
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@pytest.mark.parametrize(
|
|
9
|
+
["count"],
|
|
10
|
+
[[count] for count in range(10)],
|
|
11
|
+
)
|
|
12
|
+
@pytest.mark.parametrize(
|
|
13
|
+
["cols"],
|
|
14
|
+
[[cols] for cols in [-1, 1, 3]],
|
|
15
|
+
)
|
|
16
|
+
@pytest.mark.parametrize(
|
|
17
|
+
["rows"],
|
|
18
|
+
[[rows] for rows in [-1, 1, 3]],
|
|
19
|
+
)
|
|
20
|
+
def test_logger_stitch_images(
|
|
21
|
+
count: int,
|
|
22
|
+
cols: int,
|
|
23
|
+
rows: int,
|
|
24
|
+
):
|
|
25
|
+
rng = np.random.default_rng()
|
|
26
|
+
|
|
27
|
+
list_of_images = list_of_images = [
|
|
28
|
+
rng.integers(
|
|
29
|
+
0,
|
|
30
|
+
256,
|
|
31
|
+
(
|
|
32
|
+
random.randint(1, 512),
|
|
33
|
+
random.randint(1, 512),
|
|
34
|
+
random.choice([1, 3]),
|
|
35
|
+
),
|
|
36
|
+
dtype=np.uint8,
|
|
37
|
+
)
|
|
38
|
+
for _ in range(count)
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
image = stitch_images(
|
|
42
|
+
list_of_images,
|
|
43
|
+
cols=cols,
|
|
44
|
+
rows=rows,
|
|
45
|
+
log=True,
|
|
46
|
+
)
|
|
47
|
+
assert isinstance(image, np.ndarray)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_objects
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.317.1
|
|
4
4
|
Summary: 🌀 Object management in Bash.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-objects
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -65,6 +65,6 @@ pip install bluer-objects
|
|
|
65
65
|
|
|
66
66
|
[](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-objects/) [](https://pypistats.org/packages/bluer-objects)
|
|
67
67
|
|
|
68
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.
|
|
68
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.317.1`](https://github.com/kamangir/bluer-objects).
|
|
69
69
|
|
|
70
70
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
bluer_objects/__init__.py,sha256=
|
|
1
|
+
bluer_objects/__init__.py,sha256=JkRIAGUXIONHpmIWt1EkQaI7NAmrG2fKp6UdYkev2oY,315
|
|
2
2
|
bluer_objects/__main__.py,sha256=Yqfov833_hJuRne19WrGhT5DWAPtdffpoMxeSXS7EGw,359
|
|
3
3
|
bluer_objects/config.env,sha256=ReX0OSH_dK2tdD4-zAlp-427BB57yw8uDTS6tLYN4K0,270
|
|
4
4
|
bluer_objects/env.py,sha256=ecwldUVsamxAjOI0a6PmbZPcyhdUZgzJ-nhAPh0CJRo,2085
|
|
@@ -16,7 +16,7 @@ bluer_objects/.abcli/bluer_objects.sh,sha256=x7qf8hSAp3dAl0Hes4J07vL6qP-mWFUkJhv
|
|
|
16
16
|
bluer_objects/.abcli/clone.sh,sha256=KqC5d4MAXwo7UZGhKnfCq9k9CCSl3I1dpU1igYs0Yrs,1975
|
|
17
17
|
bluer_objects/.abcli/create_test_asset.sh,sha256=ONIdad_WRjZWdW6V2RalRW2qSJwybEwzU-_KsvaJ9og,245
|
|
18
18
|
bluer_objects/.abcli/download.sh,sha256=SKv4JyjcWjOutK95-gurCqbRjpmcrmzxASEEdT23Ob4,650
|
|
19
|
-
bluer_objects/.abcli/file.sh,sha256=
|
|
19
|
+
bluer_objects/.abcli/file.sh,sha256=5yG-QCqQyudp7ZhJy6PcVcmN40vynUI-URMmO6IO21I,374
|
|
20
20
|
bluer_objects/.abcli/gif.sh,sha256=cskDoi_BJq5phOAqgJouxH2biC2z3LlDgd9JHAQqvM0,1363
|
|
21
21
|
bluer_objects/.abcli/host.sh,sha256=rOTrxGEYk4ikJGSvqCzNNfJDVEvAebOqGutVqJpSRxs,1051
|
|
22
22
|
bluer_objects/.abcli/ls.sh,sha256=9IGfGopZNdpkSwA31hXsRG7Ap0KzY3SGAM9takLQe24,639
|
|
@@ -54,8 +54,9 @@ bluer_objects/.abcli/storage/status.sh,sha256=HRbQq9EhoZ1S-GHXOTeclSOTbV-hrEieGA
|
|
|
54
54
|
bluer_objects/.abcli/tests/README.sh,sha256=gk2KuNLFTuV3qdVgH8BNfJmur3gZoSV8EwLboVjrCgM,150
|
|
55
55
|
bluer_objects/.abcli/tests/clone.sh,sha256=Rl9pHvmRJ4H-y-iMA80q11UdSZFrguNaMTez0LTtJjA,473
|
|
56
56
|
bluer_objects/.abcli/tests/create_test_asset.sh,sha256=onRGc3VjDWA7On3isxKD3J7mxA6n349AVXRj90Z3Jzc,386
|
|
57
|
+
bluer_objects/.abcli/tests/file.sh,sha256=1PSlslmfA41nK0iQHwcelTvXT8LAqswF83vcgK98DYU,1209
|
|
57
58
|
bluer_objects/.abcli/tests/gif.sh,sha256=qLbVHcvndl8s3YDHd35T06VR5reAdV-TN7eTXHgTn-s,488
|
|
58
|
-
bluer_objects/.abcli/tests/help.sh,sha256=
|
|
59
|
+
bluer_objects/.abcli/tests/help.sh,sha256=5B2xKSjVLV2XYzZ_hNDgIqzxiIKhYra_vMgr4z80vq8,2066
|
|
59
60
|
bluer_objects/.abcli/tests/host.sh,sha256=GBuTLNw1sU3fAb5jS-ew_qAfovVCQ5CLaz5ad04IkoA,144
|
|
60
61
|
bluer_objects/.abcli/tests/ls.sh,sha256=l8t2YW5-XbAFC35sAfX0XjAJQjsoz8i-_RnDaLXN-G8,747
|
|
61
62
|
bluer_objects/.abcli/tests/metadata.sh,sha256=OP1c0h0TSlDycrv0UglKLyBtTQwqh9M0nqVAdQUzkno,1723
|
|
@@ -73,7 +74,7 @@ bluer_objects/.abcli/tests/web_is_accessible.sh,sha256=3R33_LQM9PIfl8Bks4HrPHp4u
|
|
|
73
74
|
bluer_objects/.abcli/tests/web_where_am_ai.sh,sha256=BJ9G_m4id8cx_UB_l_jV2xY6AfQEpG7O4IBsuVjodxk,104
|
|
74
75
|
bluer_objects/.abcli/web/is_accessible.sh,sha256=Luv_6IvpscRYx7f39V0RnkkNEWTRfVGyQVUeij3iqa0,262
|
|
75
76
|
bluer_objects/.abcli/web/where_am_i.sh,sha256=QPBXFo6Ni4pZEoOx0rtuJUxk6tOlp0ESMyAc9YPy9zg,92
|
|
76
|
-
bluer_objects/README/__init__.py,sha256=
|
|
77
|
+
bluer_objects/README/__init__.py,sha256=YHZCAHdfwLpHXD8mxEZgV7epwHjiUl7kulH2NAWPbrs,1458
|
|
77
78
|
bluer_objects/README/consts.py,sha256=GYQ8EikslsUfr8JcrXoU0w4eMIGWpIiNmlchTQbSYV0,803
|
|
78
79
|
bluer_objects/README/functions.py,sha256=PvFawBlJ8IginQn8Kk1QewAyOYRQ4wCuRKpJwr5mUJ8,5844
|
|
79
80
|
bluer_objects/README/items.py,sha256=CiED7xNwqtCzgzmfhTZvgoqpcmW2ilQYhcV8DVFUVkk,2389
|
|
@@ -82,7 +83,7 @@ bluer_objects/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
82
83
|
bluer_objects/assets/__main__.py,sha256=X1s4ABevs8y5pafPIhZBj5oFX_kMOLWLTMaCFF6_Rio,1064
|
|
83
84
|
bluer_objects/assets/functions.py,sha256=ZxvjbM_XBRJJewAyE8qdzTZdisQTviFdShYL9cVjM_E,1497
|
|
84
85
|
bluer_objects/file/__init__.py,sha256=c_79ipBkKl6OFDimOev0vnaVdpUk-Bl3oJUapOreMXc,681
|
|
85
|
-
bluer_objects/file/__main__.py,sha256=
|
|
86
|
+
bluer_objects/file/__main__.py,sha256=katbvYg2ykEcs14ZY1kvCKaA6KB_vhlPCLPuJlMX_kY,2165
|
|
86
87
|
bluer_objects/file/classes.py,sha256=TRgeRP2yxInPkBnywhuB4BsoBcBRA3UmQzX1dI43UxU,872
|
|
87
88
|
bluer_objects/file/functions.py,sha256=YBJFaI5l-bY1LSz8S_hMhbCmym6cULZTF5fzP2W4Osk,6604
|
|
88
89
|
bluer_objects/file/load.py,sha256=1zt5xC95HFr89G9lsi3gCJMSvC4Bt0vVeeUEf3NjpOQ,4281
|
|
@@ -100,7 +101,8 @@ bluer_objects/help/assets.py,sha256=j_Ur84bQFv25wCA6j-ZFcag88LvqyjQyoJfNEd9Bdc8,
|
|
|
100
101
|
bluer_objects/help/clone.py,sha256=PDnQs7zc4sqmoBHPjVRfX7jIaePiohPGCNA5bxeerik,553
|
|
101
102
|
bluer_objects/help/create_test_asset.py,sha256=oxJORm2qk4b_q7EC6-dEuNu1_pK9Ri60PcHhrE8ruxM,375
|
|
102
103
|
bluer_objects/help/download.py,sha256=9zC_IvH4p2vMXb_qcAS176CBFp5fJe4Z9DFMPdSGBac,751
|
|
103
|
-
bluer_objects/help/
|
|
104
|
+
bluer_objects/help/file.py,sha256=WE-BoeWNTJC9-GpmDaFPpwmB1bS7NlWHDbSAwtXvY4g,970
|
|
105
|
+
bluer_objects/help/functions.py,sha256=faOjkzqlA4mHqIUR4v2-nE7uH6L0weqI1F5a66_H1t0,1304
|
|
104
106
|
bluer_objects/help/gif.py,sha256=0yrTJ0U-vyqc94GH5xstAc_C9Ld0pxptdBusOpnbfzQ,1007
|
|
105
107
|
bluer_objects/help/host.py,sha256=cq4Y8mo71pqJ0AUjCGkj3smZ-MOTo9aqyxm8q2FWVAs,1050
|
|
106
108
|
bluer_objects/help/ls.py,sha256=lbYo6tyNdepxr-0R5ICkFMNylCuibYxsgVPlgHRR1cQ,957
|
|
@@ -117,6 +119,7 @@ bluer_objects/host/functions.py,sha256=ADups78hYZDAnC6FlIICQ48WkFd4sPnRMWA0D6X-F
|
|
|
117
119
|
bluer_objects/logger/__init__.py,sha256=2aGNbx-qBXU3IlX9BDqtrFfN25lO_uarEg22cE3-3dU,102
|
|
118
120
|
bluer_objects/logger/image.py,sha256=wHpE6jCqKGmcjXU61vCMKbBeir7DAxH6nKx5kb_1Vv0,2617
|
|
119
121
|
bluer_objects/logger/matrix.py,sha256=cPKQIhd347MH_9LaB-Ym7Mix1pqampG9MIgkeh08KA4,5757
|
|
122
|
+
bluer_objects/logger/stitch.py,sha256=qFWQAxNyfOn7k5celRYIUPqaI-ZqDWKQ5ud1VyaIwM4,2515
|
|
120
123
|
bluer_objects/metadata/__init__.py,sha256=nRFzLb9zMQiVqESThflFFThVOnzC7Aq1ks9_K1OaOg4,311
|
|
121
124
|
bluer_objects/metadata/__main__.py,sha256=UAZBsf3AMUo-OHIgg4gS5_OowDOIO2T_zjismL3AfkI,2272
|
|
122
125
|
bluer_objects/metadata/enums.py,sha256=aMlAZckl_IjPZcGZhpJa7mb9MTDQ-gWuaQtJJQeHlho,759
|
|
@@ -164,6 +167,7 @@ bluer_objects/tests/test_graphics_text.py,sha256=_jLZVuAcQQYlKpATeQCBpPMa8UhKQ__
|
|
|
164
167
|
bluer_objects/tests/test_log_image_grid.py,sha256=qjSRMwY5jnJd9S3XZ3FDeoIsSJ9aFJ3yDhth1sV0A5g,737
|
|
165
168
|
bluer_objects/tests/test_logger.py,sha256=DdkZqj8YOErKf6T-SWEPtU21LGfQf_O3GKrCn3H0Ujs,88
|
|
166
169
|
bluer_objects/tests/test_logger_matrix.py,sha256=qedidEDGusMWQM04kgk3mt74yFm4iU3jIyjE4gRi_FQ,1703
|
|
170
|
+
bluer_objects/tests/test_logger_stitch_images.py,sha256=GW_EPbByNbAhwCJ3LwVXjwe4sTx6jcE0SXVvM8kL_LY,929
|
|
167
171
|
bluer_objects/tests/test_markdown.py,sha256=KtCWKIDs4U1M3qAGFMYhzVpdGiDV2VU8z7dCaU3s3Ec,217
|
|
168
172
|
bluer_objects/tests/test_metadata.py,sha256=Qy-Zp5yFrHmZ5tjujuLNcvI2YEyzNuAFXgy0L7sJOJ0,4389
|
|
169
173
|
bluer_objects/tests/test_metadata_flatten.py,sha256=edBaX0CF7Yte4jMSIMBM04FY6Umo3BpfSXXStqpx8IM,2760
|
|
@@ -182,8 +186,8 @@ bluer_objects/tests/test_web_is_accessible.py,sha256=2Y20NAEDMblg0MKnhnqcfw3XVKE
|
|
|
182
186
|
bluer_objects/web/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
183
187
|
bluer_objects/web/__main__.py,sha256=xf2Ob54FI8JEokfGhFmiyOBdD9nBactwqmZvsKsdioU,624
|
|
184
188
|
bluer_objects/web/functions.py,sha256=KNufAFOc6N3BYf83lN2rUpKUdsnzb2anWyp9koFRVUo,172
|
|
185
|
-
bluer_objects-6.
|
|
186
|
-
bluer_objects-6.
|
|
187
|
-
bluer_objects-6.
|
|
188
|
-
bluer_objects-6.
|
|
189
|
-
bluer_objects-6.
|
|
189
|
+
bluer_objects-6.317.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
190
|
+
bluer_objects-6.317.1.dist-info/METADATA,sha256=pKpKV9JJSzH37QSct--MYf0XDUMQ4Ltq1RS4mfdW-Lk,3780
|
|
191
|
+
bluer_objects-6.317.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
192
|
+
bluer_objects-6.317.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
|
|
193
|
+
bluer_objects-6.317.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|