bluer-objects 6.274.1__py3-none-any.whl → 6.290.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.

@@ -2,6 +2,8 @@
2
2
 
3
3
  alias @ai=bluer_ai
4
4
 
5
+ alias @assets=bluer_objects_assets
6
+
5
7
  alias @create_test_asset=bluer_objects_create_test_asset
6
8
 
7
9
  alias @download=bluer_objects_download
@@ -0,0 +1,20 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_assets_cd() {
4
+ local options=$1
5
+ local do_create=$(bluer_ai_option_int "$options" create 0)
6
+ local volume=$(bluer_ai_option "$options" vol)
7
+
8
+ local path=$2
9
+ path=$abcli_path_git/assets$volume/$path
10
+
11
+ if [[ "$do_create" == 1 ]]; then
12
+ mkdir -pv $path
13
+ [[ $? -ne 0 ]] && return 1
14
+ fi
15
+
16
+ cd $path
17
+ [[ $? -ne 0 ]] && return 1
18
+
19
+ bluer_ai_log "🔗 $path"
20
+ }
@@ -0,0 +1,34 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_assets_mv() {
4
+ local options=$1
5
+ local do_create=$(bluer_ai_option_int "$options" create 0)
6
+ local extension=$(bluer_ai_option "$options" extension jpg)
7
+ local volume=$(bluer_ai_option "$options" vol)
8
+
9
+ local path=$2
10
+ path=$abcli_path_git/assets$volume/$path
11
+
12
+ if [[ "$do_create" == 1 ]]; then
13
+ mkdir -pv $path
14
+ [[ $? -ne 0 ]] && return 1
15
+ fi
16
+
17
+ bluer_ai_log "Downloads/.$extension -> assets$volume/path"
18
+
19
+ mv -v \
20
+ $HOME/Downloads/*.$extension \
21
+ $path
22
+ [[ $? -ne 0 ]] && return 1
23
+
24
+ local push_options=$3
25
+ local do_push=$(bluer_ai_option_int "$push_options" push 0)
26
+ [[ "$do_push" == 0 ]] &&
27
+ return 0
28
+
29
+ bluer_ai_git \
30
+ assets$volume \
31
+ push \
32
+ "$path += " \
33
+ $push_options
34
+ }
@@ -0,0 +1,37 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_assets_publish() {
4
+ local options=$1
5
+
6
+ local do_download=$(bluer_ai_option_int "$options" download 0)
7
+ local do_pull=$(bluer_ai_option_int "$options" pull 1)
8
+ local do_push=$(bluer_ai_option_int "$options" push 0)
9
+ local extensions=$(bluer_ai_option "$options" extensions png)
10
+
11
+ [[ "$do_pull" == 1 ]] &&
12
+ bluer_ai_git \
13
+ assets \
14
+ pull \
15
+ ~all
16
+
17
+ local object_name=$(bluer_ai_clarify_object $2 .)
18
+
19
+ [[ "$do_download" == 1 ]] &&
20
+ bluer_objects_download - $object_name
21
+
22
+ bluer_ai_eval dryrun=$do_dryrun \
23
+ python3 -m bluer_objects.assets \
24
+ publish \
25
+ --object_name $object_name \
26
+ --extensions $extensions \
27
+ "${@:3}"
28
+ [[ $? -ne 0 ]] && return 1
29
+
30
+ [[ "$do_push" == 1 ]] &&
31
+ bluer_ai_git \
32
+ assets \
33
+ push \
34
+ "$object_name update."
35
+
36
+ return 0
37
+ }
@@ -0,0 +1,15 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_assets() {
4
+ local task=$1
5
+
6
+ local function_name=bluer_objects_assets_$task
7
+ if [[ $(type -t $function_name) == "function" ]]; then
8
+ $function_name "${@:2}"
9
+ return
10
+ fi
11
+
12
+ python3 -m bluer_objects.assets "$@"
13
+ }
14
+
15
+ bluer_ai_source_caller_suffix_path /assets
@@ -8,6 +8,11 @@ function test_bluer_objects_help() {
8
8
 
9
9
  local module
10
10
  for module in \
11
+ "@assets" \
12
+ "@assets cd" \
13
+ "@assets mv" \
14
+ "@assets publish" \
15
+ \
11
16
  "@cp" \
12
17
  \
13
18
  "@create_test_asset" \
@@ -30,18 +30,29 @@ def build_me() -> bool:
30
30
  ),
31
31
  )
32
32
  for path in [
33
+ "../docs/aliases",
34
+ "../docs",
33
35
  "../..",
34
36
  ".",
35
- # aliases
36
- "../docs/aliases/clone.md",
37
- "../docs/aliases/download.md",
38
- "../docs/aliases/gif.md",
39
- "../docs/aliases/host.md",
40
- "../docs/aliases/ls.md",
41
- "../docs/aliases/metadata.md",
42
- "../docs/aliases/mlflow.md",
43
- "../docs/aliases/upload.md",
44
- # modules
45
- "../mlflow/lock",
37
+ ]
38
+ + [
39
+ f"../docs/aliases/{alias}.md"
40
+ for alias in [
41
+ "assets",
42
+ "clone",
43
+ "download",
44
+ "gif",
45
+ "host",
46
+ "ls",
47
+ "metadata",
48
+ "mlflow",
49
+ "upload",
50
+ ]
51
+ ]
52
+ + [
53
+ f"../mlflow/{module_name}"
54
+ for module_name in [
55
+ "lock",
56
+ ]
46
57
  ]
47
58
  )
@@ -0,0 +1,26 @@
1
+ from typing import Union
2
+
3
+ github_kamangir = "https://github.com/kamangir"
4
+ designs_repo = f"{github_kamangir}/designs/"
5
+
6
+
7
+ def designs_url(suffix: str) -> str:
8
+ return f"{designs_repo}/blob/main/{suffix}"
9
+
10
+
11
+ def asset_volume(volume: Union[str, int] = "") -> str:
12
+ return f"{github_kamangir}/assets{str(volume)}/raw/main"
13
+
14
+
15
+ assets = asset_volume(volume="")
16
+ assets2 = asset_volume(volume="2")
17
+
18
+
19
+ def assets_path(
20
+ suffix: str,
21
+ volume: Union[str, int] = "",
22
+ ) -> str:
23
+ return "{}/{}".format(
24
+ asset_volume(volume=volume),
25
+ suffix,
26
+ )
@@ -42,6 +42,7 @@ def build(
42
42
  help_function: Union[Callable[[List[str]], str], None] = None,
43
43
  legacy_mode: bool = True,
44
44
  assets_repo: str = "kamangir/assets",
45
+ download: bool = True,
45
46
  ) -> bool:
46
47
  if path:
47
48
  if path.endswith(".md"):
@@ -103,7 +104,7 @@ def build(
103
104
  object_name,
104
105
  key,
105
106
  {},
106
- download=True,
107
+ download=download,
107
108
  )
108
109
 
109
110
  logger.info(f"metadata[{object_name_and_key}] = {value}")
bluer_objects/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} Object management in Bash."
6
6
 
7
- VERSION = "6.274.1"
7
+ VERSION = "6.290.1"
8
8
 
9
9
  REPO_NAME = "bluer-objects"
10
10
 
File without changes
@@ -0,0 +1,57 @@
1
+ import argparse
2
+
3
+ from blueness import module
4
+ from blueness.argparse.generic import sys_exit
5
+
6
+ from bluer_objects import NAME
7
+ from bluer_objects.assets.functions import publish
8
+ from bluer_objects.logger import logger
9
+
10
+ NAME = module.name(__file__, NAME)
11
+
12
+ parser = argparse.ArgumentParser(NAME)
13
+ parser.add_argument(
14
+ "task",
15
+ type=str,
16
+ help="publish",
17
+ )
18
+ parser.add_argument(
19
+ "--arg",
20
+ type=bool,
21
+ default=0,
22
+ help="0|1",
23
+ )
24
+ parser.add_argument(
25
+ "--object_name",
26
+ type=str,
27
+ )
28
+ parser.add_argument(
29
+ "--extensions",
30
+ type=str,
31
+ default="png",
32
+ help="png+txt",
33
+ )
34
+ parser.add_argument(
35
+ "--prefix",
36
+ type=str,
37
+ default="",
38
+ )
39
+ parser.add_argument(
40
+ "--asset_name",
41
+ type=str,
42
+ default="",
43
+ )
44
+ args = parser.parse_args()
45
+
46
+ success = False
47
+ if args.task == "publish":
48
+ success = publish(
49
+ object_name=args.object_name,
50
+ list_of_extensions=args.extensions.split("+"),
51
+ prefix=args.prefix,
52
+ asset_name=args.asset_name,
53
+ )
54
+ else:
55
+ success = None
56
+
57
+ sys_exit(logger, NAME, args.task, success)
@@ -0,0 +1,62 @@
1
+ import os
2
+ from typing import List
3
+ import glob
4
+ from tqdm import tqdm
5
+
6
+ from blueness import module
7
+
8
+ from bluer_objects import objects, file
9
+ from bluer_objects.env import abcli_path_git
10
+ from bluer_objects import NAME
11
+ from bluer_objects.logger import logger
12
+
13
+
14
+ NAME = module.name(__file__, NAME)
15
+
16
+
17
+ def publish(
18
+ object_name: str,
19
+ list_of_extensions: List[str],
20
+ prefix: str = "",
21
+ asset_name: str = "",
22
+ log: bool = True,
23
+ ) -> bool:
24
+ if not asset_name:
25
+ asset_name = object_name
26
+ logger.info(
27
+ "{}.publish: {}/{}.* for {} -> {}".format(
28
+ NAME,
29
+ object_name,
30
+ prefix,
31
+ ", ".join(list_of_extensions),
32
+ asset_name,
33
+ )
34
+ )
35
+
36
+ for extension in tqdm(list_of_extensions):
37
+ for filename in glob.glob(
38
+ objects.path_of(
39
+ filename=f"{prefix}*.{extension}",
40
+ object_name=object_name,
41
+ )
42
+ ):
43
+ published_filename = os.path.join(
44
+ abcli_path_git,
45
+ "assets",
46
+ asset_name,
47
+ file.name_and_extension(filename).replace(
48
+ object_name,
49
+ asset_name,
50
+ ),
51
+ )
52
+
53
+ if not file.copy(
54
+ filename,
55
+ published_filename,
56
+ log=log,
57
+ ):
58
+ return False
59
+
60
+ logger.info(f"🔗 https://github.com/kamangir/assets/tree/main/{asset_name}")
61
+
62
+ return True
@@ -0,0 +1,96 @@
1
+ from typing import List
2
+
3
+ from bluer_options.terminal import show_usage, xtra
4
+ from bluer_ai.help.git import push_options
5
+
6
+
7
+ def help_cd(
8
+ tokens: List[str],
9
+ mono: bool,
10
+ ) -> str:
11
+ options = "".join(
12
+ [
13
+ xtra("create,", mono=mono),
14
+ "vol=<2>",
15
+ ]
16
+ )
17
+
18
+ return show_usage(
19
+ [
20
+ "@assets",
21
+ "cd",
22
+ f"[{options}]",
23
+ "[<path>]",
24
+ ],
25
+ "cd assets volume.",
26
+ mono=mono,
27
+ )
28
+
29
+
30
+ def help_mv(
31
+ tokens: List[str],
32
+ mono: bool,
33
+ ) -> str:
34
+ options = "".join(
35
+ [
36
+ xtra("create,", mono=mono),
37
+ "extension=<png>,vol=<2>",
38
+ ]
39
+ )
40
+
41
+ return show_usage(
42
+ [
43
+ "@assets",
44
+ "mv",
45
+ f"[{options}]",
46
+ "[<path>]",
47
+ "[push,{}]".format(
48
+ push_options(
49
+ mono=mono,
50
+ uses_actions=False,
51
+ uses_pull_request=False,
52
+ uses_workflows=False,
53
+ )
54
+ ),
55
+ ],
56
+ "mv assets to volume.",
57
+ mono=mono,
58
+ )
59
+
60
+
61
+ def help_publish(
62
+ tokens: List[str],
63
+ mono: bool,
64
+ ) -> str:
65
+ options = "".join(
66
+ [
67
+ xtra("download,", mono=mono),
68
+ "extensions=<png+txt>",
69
+ xtra(",~pull,", mono=mono),
70
+ "push",
71
+ ]
72
+ )
73
+
74
+ args = [
75
+ "[--asset_name <other-object-name>]",
76
+ "[--prefix <prefix>]",
77
+ ]
78
+
79
+ return show_usage(
80
+ [
81
+ "@assets",
82
+ "publish",
83
+ f"[{options}]",
84
+ "[.|<object-name>]",
85
+ ]
86
+ + args,
87
+ "<object-name>/<prefix> -> assets.",
88
+ mono=mono,
89
+ )
90
+
91
+
92
+ help_functions = {
93
+ "cd": help_cd,
94
+ "mv": help_mv,
95
+ "publish": help_publish,
96
+ }
@@ -1,6 +1,7 @@
1
1
  from bluer_ai.help.generic import help_functions as generic_help_functions
2
2
 
3
3
  from bluer_objects import ALIAS
4
+ from bluer_objects.help.assets import help_functions as help_assets
4
5
  from bluer_objects.help.clone import help_clone
5
6
  from bluer_objects.help.create_test_asset import help_create_test_asset
6
7
  from bluer_objects.help.download import help_download
@@ -16,6 +17,7 @@ help_functions = generic_help_functions(plugin_name=ALIAS)
16
17
 
17
18
  help_functions.update(
18
19
  {
20
+ "assets": help_assets,
19
21
  "clone": help_clone,
20
22
  "create_test_asset": help_create_test_asset,
21
23
  "download": help_download,
@@ -0,0 +1,55 @@
1
+ import pytest
2
+ from bluer_objects.README.consts import (
3
+ assets_path,
4
+ asset_volume,
5
+ designs_repo,
6
+ designs_url,
7
+ )
8
+
9
+
10
+ @pytest.mark.parametrize(
11
+ ["suffix"],
12
+ [
13
+ ["this"],
14
+ ["that/which"],
15
+ ],
16
+ )
17
+ @pytest.mark.parametrize(
18
+ ["volume"],
19
+ [
20
+ [""],
21
+ ["2"],
22
+ [2],
23
+ ],
24
+ )
25
+ def test_README_assets(
26
+ suffix: str,
27
+ volume: str,
28
+ ):
29
+ volume_path = asset_volume(volume=volume)
30
+ assert isinstance(volume_path, str)
31
+ assert volume_path.endswith(volume_path)
32
+
33
+ path = assets_path(
34
+ suffix=suffix,
35
+ volume=volume,
36
+ )
37
+
38
+ assert isinstance(path, str)
39
+ assert path.endswith(suffix)
40
+ assert volume_path in path
41
+
42
+
43
+ @pytest.mark.parametrize(
44
+ ["suffix"],
45
+ [
46
+ ["this"],
47
+ ["that/which"],
48
+ ],
49
+ )
50
+ def test_README_designs_url(suffix):
51
+ url = designs_url(suffix=suffix)
52
+
53
+ assert isinstance(url, str)
54
+ assert url.startswith(designs_repo)
55
+ assert url.endswith(suffix)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.274.1
3
+ Version: 6.290.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -46,6 +46,7 @@ pip install bluer-objects
46
46
 
47
47
  # aliases
48
48
 
49
+ [@assets](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/assets.md),
49
50
  [@clone](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/clone.md),
50
51
  [@download](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/download.md),
51
52
  [@gif](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/gif.md),
@@ -64,6 +65,6 @@ pip install bluer-objects
64
65
 
65
66
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
66
67
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.274.1`](https://github.com/kamangir/bluer-objects).
68
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.290.1`](https://github.com/kamangir/bluer-objects).
68
69
 
69
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,4 +1,4 @@
1
- bluer_objects/__init__.py,sha256=qguszjUwVKp81xY-4IuJseuE-ATSnXD3BRojFctJBbU,315
1
+ bluer_objects/__init__.py,sha256=8pA3dik6x3OE-KYly2w3bzvXfvLB17zT32_dXdVxebI,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
@@ -10,7 +10,8 @@ bluer_objects/urls.py,sha256=paHaYlLMQOI46-EYNch5ohu9Q09BMkF2vvJy1QufrVI,19
10
10
  bluer_objects/.abcli/abcli.sh,sha256=zcqSfpuonb7u9YZCO6jbYeU63pTi0WD5q7lBMSUBXqw,352
11
11
  bluer_objects/.abcli/actions.sh,sha256=HZI-X5KUy6bXEHmxywfBN1zbHalU0mcTblTQ2HvIfOE,236
12
12
  bluer_objects/.abcli/aka.sh,sha256=odRbw4KZb9Ld7uXny6H2pPi64_5kowKX3s68N6YvRmI,23
13
- bluer_objects/.abcli/alias.sh,sha256=nYrAqpaXkL3xOTc_MQdZGSXB4kuUxxAqeXZrI5-E3e8,788
13
+ bluer_objects/.abcli/alias.sh,sha256=c0-q9wale9DJ6e8gqIcpgLMG062_GoZ-7QFXUkZI50M,824
14
+ bluer_objects/.abcli/assets.sh,sha256=LFdj9h5Ka16eYZ4EnEx2o6N7htNGKJ2OknnaM0VJfVI,327
14
15
  bluer_objects/.abcli/bluer_objects.sh,sha256=x7qf8hSAp3dAl0Hes4J07vL6qP-mWFUkJhvUXzTJC_8,210
15
16
  bluer_objects/.abcli/clone.sh,sha256=KqC5d4MAXwo7UZGhKnfCq9k9CCSl3I1dpU1igYs0Yrs,1975
16
17
  bluer_objects/.abcli/create_test_asset.sh,sha256=ONIdad_WRjZWdW6V2RalRW2qSJwybEwzU-_KsvaJ9og,245
@@ -26,6 +27,9 @@ bluer_objects/.abcli/select.sh,sha256=CVcqVRN6bMLtEo0SptZS_QGY90_lT1Su71DlcVyddX
26
27
  bluer_objects/.abcli/storage.sh,sha256=iYHxdXJI9sGR-WKxDuYKOB06FccSQ0G0-uZn9UJQGnc,321
27
28
  bluer_objects/.abcli/upload.sh,sha256=CFw2GkqYDbjOm2dAqg3gmcVEFohjPvjc2ttl15NOmlU,1208
28
29
  bluer_objects/.abcli/url.sh,sha256=1YF6XNG109ItH6l3SUvvbRkm4JBojiUoLZ2wJYwM28U,315
30
+ bluer_objects/.abcli/assets/cd.sh,sha256=Lc6ceZAaOsU-yTqyKWmmq3eArOCdYPgVqz0DQ3FUxLw,440
31
+ bluer_objects/.abcli/assets/mv.sh,sha256=o_Ya_2K8CyD8cvoJnZqczqC9BE4vZA5MUF9PAdpJQKI,829
32
+ bluer_objects/.abcli/assets/publish.sh,sha256=nMz2_7pWHGFKy_ADkV5McJ7SPHYfz383Co09beQd868,945
29
33
  bluer_objects/.abcli/metadata/get.sh,sha256=6W9x0akZwwozTyOlKCW_0MndYVUAL4v1HSUPxTAsfKA,835
30
34
  bluer_objects/.abcli/metadata/post.sh,sha256=UdvZNuRu6_NcyRVvDMFZ9GEwOm3K8rsNqM0FFr9LskA,570
31
35
  bluer_objects/.abcli/mlflow/browse.sh,sha256=jPHAKLgG7yDLCdSAW5acVmCOcOltAkZQ8FrttrX401s,1166
@@ -51,7 +55,7 @@ bluer_objects/.abcli/tests/README.sh,sha256=gk2KuNLFTuV3qdVgH8BNfJmur3gZoSV8EwLb
51
55
  bluer_objects/.abcli/tests/clone.sh,sha256=Rl9pHvmRJ4H-y-iMA80q11UdSZFrguNaMTez0LTtJjA,473
52
56
  bluer_objects/.abcli/tests/create_test_asset.sh,sha256=onRGc3VjDWA7On3isxKD3J7mxA6n349AVXRj90Z3Jzc,386
53
57
  bluer_objects/.abcli/tests/gif.sh,sha256=qLbVHcvndl8s3YDHd35T06VR5reAdV-TN7eTXHgTn-s,488
54
- bluer_objects/.abcli/tests/help.sh,sha256=y1_iNyS5YQzS7vRV_HpqjBiXihJFAZXHTZEAX7ZRLKU,1885
58
+ bluer_objects/.abcli/tests/help.sh,sha256=J8AnCuPcPyMM_eYN5OjqzU3IaTrZVKDqvh2WSm3GfwM,1989
55
59
  bluer_objects/.abcli/tests/host.sh,sha256=GBuTLNw1sU3fAb5jS-ew_qAfovVCQ5CLaz5ad04IkoA,144
56
60
  bluer_objects/.abcli/tests/ls.sh,sha256=l8t2YW5-XbAFC35sAfX0XjAJQjsoz8i-_RnDaLXN-G8,747
57
61
  bluer_objects/.abcli/tests/metadata.sh,sha256=OP1c0h0TSlDycrv0UglKLyBtTQwqh9M0nqVAdQUzkno,1723
@@ -69,10 +73,14 @@ bluer_objects/.abcli/tests/web_is_accessible.sh,sha256=3R33_LQM9PIfl8Bks4HrPHp4u
69
73
  bluer_objects/.abcli/tests/web_where_am_ai.sh,sha256=BJ9G_m4id8cx_UB_l_jV2xY6AfQEpG7O4IBsuVjodxk,104
70
74
  bluer_objects/.abcli/web/is_accessible.sh,sha256=Luv_6IvpscRYx7f39V0RnkkNEWTRfVGyQVUeij3iqa0,262
71
75
  bluer_objects/.abcli/web/where_am_i.sh,sha256=QPBXFo6Ni4pZEoOx0rtuJUxk6tOlp0ESMyAc9YPy9zg,92
72
- bluer_objects/README/__init__.py,sha256=JwxdTVAK3LeUaw7rMJujOFIXZA59HaLCtxpsR1C-vpo,1311
73
- bluer_objects/README/functions.py,sha256=myga8anMnsIZuFP5vTaVuz8p1rvDD_n7GR966q8E_j8,5813
76
+ bluer_objects/README/__init__.py,sha256=AG9_REFcYVrfMbzK4y02Omie-fCjf6UBP4OnJyNSZ6w,1434
77
+ bluer_objects/README/consts.py,sha256=w4dy8r9bXukgloyzTDX7uRMBUu4maDvp1Hhg4AY6V94,560
78
+ bluer_objects/README/functions.py,sha256=PvFawBlJ8IginQn8Kk1QewAyOYRQ4wCuRKpJwr5mUJ8,5844
74
79
  bluer_objects/README/items.py,sha256=go4BpNhpdjiRIHf6EHDR5x9YlnboIgkvg7KvCt5rbVU,1508
75
80
  bluer_objects/README/utils.py,sha256=WsEm0ad-gpMGMJ6X11W2nXYY5fBokOGPGNFvzjYZc5o,8241
81
+ bluer_objects/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ bluer_objects/assets/__main__.py,sha256=X1s4ABevs8y5pafPIhZBj5oFX_kMOLWLTMaCFF6_Rio,1064
83
+ bluer_objects/assets/functions.py,sha256=ZxvjbM_XBRJJewAyE8qdzTZdisQTviFdShYL9cVjM_E,1497
76
84
  bluer_objects/file/__init__.py,sha256=c_79ipBkKl6OFDimOev0vnaVdpUk-Bl3oJUapOreMXc,681
77
85
  bluer_objects/file/__main__.py,sha256=v2IXWvZeh_B2sGYWzv1CiUY-7HWHXXghZM5M4IPjbu4,1277
78
86
  bluer_objects/file/classes.py,sha256=TRgeRP2yxInPkBnywhuB4BsoBcBRA3UmQzX1dI43UxU,872
@@ -88,10 +96,11 @@ bluer_objects/graphics/signature.py,sha256=JLml1OR3b4uotZyaAjyrOJworUXuPhp8nDHxH
88
96
  bluer_objects/graphics/text.py,sha256=nnJrLUD4LIurBntSeUFwBOsbhzALXrzHzfDnBVEcFKA,4382
89
97
  bluer_objects/help/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
98
  bluer_objects/help/__main__.py,sha256=Dxg-JpMOIlYWZklI_J2LyiHnRui5lUwWmfM7FLRzUXA,237
99
+ bluer_objects/help/assets.py,sha256=j_Ur84bQFv25wCA6j-ZFcag88LvqyjQyoJfNEd9Bdc8,1808
91
100
  bluer_objects/help/clone.py,sha256=PDnQs7zc4sqmoBHPjVRfX7jIaePiohPGCNA5bxeerik,553
92
101
  bluer_objects/help/create_test_asset.py,sha256=oxJORm2qk4b_q7EC6-dEuNu1_pK9Ri60PcHhrE8ruxM,375
93
102
  bluer_objects/help/download.py,sha256=9zC_IvH4p2vMXb_qcAS176CBFp5fJe4Z9DFMPdSGBac,751
94
- bluer_objects/help/functions.py,sha256=PuiRYDIBDbw3TB0d03dqAvDEc-xqC6fRIAZLYzDpg50,1114
103
+ bluer_objects/help/functions.py,sha256=wgHOtkhEv7oQYcRpiTH6J_70lGKqLbxoBOBV4_O8LIU,1213
95
104
  bluer_objects/help/gif.py,sha256=0yrTJ0U-vyqc94GH5xstAc_C9Ld0pxptdBusOpnbfzQ,1007
96
105
  bluer_objects/help/host.py,sha256=4t4yrPGjTbnFtODcuBjfIzpA5pmmvc5s4QrjIqPPVsM,988
97
106
  bluer_objects/help/ls.py,sha256=mD6QyMzR5YLnjmtumudVc7AoCPXkevZRexXyTazekGo,972
@@ -139,6 +148,7 @@ bluer_objects/testing/__main__.py,sha256=hhJV9qn0V_8FxzNDcoHCHr4A7zf9UudnNGJCAPk
139
148
  bluer_objects/testing/functions.py,sha256=AXAfzWLcEPkbSYTehdahshjKJ45C4IJkRs_TgrHOntc,1355
140
149
  bluer_objects/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
150
  bluer_objects/tests/test_README.py,sha256=5D4UV8VcjbeAPThsYVynYtVFuP8gwMAhIjEWuOQZsWs,89
151
+ bluer_objects/tests/test_README_consts.py,sha256=bkPsl1g2k-Zcs9oZSlYmRIZraU4X_ZHUsOYoruUhj1Q,975
142
152
  bluer_objects/tests/test_env.py,sha256=HgVCbnHGLIXK8GiaWNWORW9nAHs7fqvIoo6S5Jj29-g,1132
143
153
  bluer_objects/tests/test_file_download.py,sha256=1_adHYqgSifkdP-I7TQVW0t8MLCujQ61fvRbcrSkcmg,512
144
154
  bluer_objects/tests/test_file_load_save.py,sha256=unqxfiqba6RVhMS95AtHZWsT7Q097jBOKdckAT9PyFU,2390
@@ -171,8 +181,8 @@ bluer_objects/tests/test_web_is_accessible.py,sha256=2Y20NAEDMblg0MKnhnqcfw3XVKE
171
181
  bluer_objects/web/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
172
182
  bluer_objects/web/__main__.py,sha256=xf2Ob54FI8JEokfGhFmiyOBdD9nBactwqmZvsKsdioU,624
173
183
  bluer_objects/web/functions.py,sha256=KNufAFOc6N3BYf83lN2rUpKUdsnzb2anWyp9koFRVUo,172
174
- bluer_objects-6.274.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
175
- bluer_objects-6.274.1.dist-info/METADATA,sha256=AQiHVCtw66KzSwwKivunNMghqIWNi7S-Sp-2X3x37FY,3678
176
- bluer_objects-6.274.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
177
- bluer_objects-6.274.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
178
- bluer_objects-6.274.1.dist-info/RECORD,,
184
+ bluer_objects-6.290.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
185
+ bluer_objects-6.290.1.dist-info/METADATA,sha256=qnj8FwyyTr4KOVqrVPNEn90NJ_2FYuCcpKH1PA4Uvec,3780
186
+ bluer_objects-6.290.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
187
+ bluer_objects-6.290.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
188
+ bluer_objects-6.290.1.dist-info/RECORD,,