bluer-objects 6.32.1__tar.gz → 6.34.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-objects might be problematic. Click here for more details.
- {bluer_objects-6.32.1/bluer_objects.egg-info → bluer_objects-6.34.1}/PKG-INFO +2 -2
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/README.md +1 -1
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/alias.sh +2 -2
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/clone.sh +1 -29
- bluer_objects-6.34.1/bluer_objects/.abcli/tests/clone.sh +19 -0
- bluer_objects-6.34.1/bluer_objects/.abcli/tests/gif.sh +20 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/help.sh +2 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/storage.sh +8 -11
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/README/functions.py +0 -1
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/__init__.py +1 -1
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/file/__main__.py +2 -10
- bluer_objects-6.34.1/bluer_objects/help/clone.py +28 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/help/functions.py +2 -0
- bluer_objects-6.34.1/bluer_objects/testing/__init__.py +1 -0
- bluer_objects-6.34.1/bluer_objects/testing/__main__.py +32 -0
- bluer_objects-6.34.1/bluer_objects/testing/functions.py +60 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_objects.py +2 -32
- bluer_objects-6.34.1/bluer_objects/tests/test_testing.py +8 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1/bluer_objects.egg-info}/PKG-INFO +2 -2
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects.egg-info/SOURCES.txt +5 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/setup.py +1 -0
- bluer_objects-6.32.1/bluer_objects/.abcli/tests/clone.sh +0 -32
- bluer_objects-6.32.1/bluer_objects/.abcli/tests/gif.sh +0 -13
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/LICENSE +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/MANIFEST.in +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/abcli.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/actions.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/aka.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/bluer_objects.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/cache.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/download.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/file.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/gif.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/host.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/ls.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/metadata/get.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/metadata/post.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/metadata.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/browse.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/cache.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/list_registered_models.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/log_artifacts.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/log_run.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/run.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/tags/clone.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/tags/get.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/tags/search.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/tags/set.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/tags.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/test.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/transition.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/object.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/publish.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/select.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage/clear.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage/download_file.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage/exists.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage/list.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage/rm.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage/status.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/storage.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/README.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/host.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/ls.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/metadata.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/mlflow_cache.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/mlflow_logging.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/mlflow_tags.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/mlflow_test.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/tests/version.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/upload.sh +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/README/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/README/items.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/config.env +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/env.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/file/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/file/classes.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/file/functions.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/file/load.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/file/save.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/frame.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/gif.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/screen.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/signature.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/graphics/text.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/help/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/help/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/help/download.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/help/upload.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/host/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/host/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/host/functions.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/logger/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/logger/matrix.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/markdown.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/metadata/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/metadata/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/metadata/enums.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/metadata/get.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/metadata/post.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/cache.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/logging.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/models.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/objects.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/runs.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/tags.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/mlflow/testing.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/objects.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/path.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/sample.env +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/storage/WebDAV.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/storage/WebDAVzip.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/storage/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/storage/__main__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/storage/base.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/__init__.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_README.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_env.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_file_load_save.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_fullname.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics_frame.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics_gif.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics_screen.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics_signature.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics_text.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_logger.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_logger_matrix.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_markdown.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_metadata.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_mlflow.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_path.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_storage.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_version.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/urls.py +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects.egg-info/dependency_links.txt +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects.egg-info/requires.txt +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects.egg-info/top_level.txt +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/pyproject.toml +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/requirements.txt +0 -0
- {bluer_objects-6.32.1 → bluer_objects-6.34.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_objects
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.34.1
|
|
4
4
|
Summary: 🌀 data objects for Bash.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-objects
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -53,6 +53,6 @@ Also home to [blue README](https://github.com/kamangir/bluer-objects/blob/main/b
|
|
|
53
53
|
|
|
54
54
|
[](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)
|
|
55
55
|
|
|
56
|
-
built by 🌀 [`bluer_options-5.28.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.
|
|
56
|
+
built by 🌀 [`bluer_options-5.28.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.34.1`](https://github.com/kamangir/bluer-objects).
|
|
57
57
|
|
|
58
58
|
built by 🌀 [`blueness-3.96.1`](https://github.com/kamangir/blueness).
|
|
@@ -19,4 +19,4 @@ Also home to [blue README](./bluer_objects/README/).
|
|
|
19
19
|
|
|
20
20
|
[](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)
|
|
21
21
|
|
|
22
|
-
built by 🌀 [`bluer_options-5.28.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.
|
|
22
|
+
built by 🌀 [`bluer_options-5.28.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.34.1`](https://github.com/kamangir/bluer-objects).
|
|
@@ -1,37 +1,9 @@
|
|
|
1
1
|
#! /usr/bin/env bash
|
|
2
2
|
|
|
3
|
-
function
|
|
3
|
+
function bluer_objects_clone() {
|
|
4
4
|
local options=$1
|
|
5
5
|
local do_relate=$(abcli_option_int "$options" relate 1)
|
|
6
6
|
local do_upload=$(abcli_option_int "$options" upload 0)
|
|
7
|
-
|
|
8
|
-
local from_s3=$(abcli_option_int "$options" s3 0)
|
|
9
|
-
if [[ "$from_s3" == 1 ]]; then
|
|
10
|
-
local s3_uri=${2:-void}
|
|
11
|
-
|
|
12
|
-
local object_name=$(abcli_clarify_object $3 .)
|
|
13
|
-
local object_path=$ABCLI_OBJECT_ROOT/$object_name
|
|
14
|
-
mkdir -pv $object_path
|
|
15
|
-
|
|
16
|
-
abcli_log "$s3_uri -clone-> $object_name"
|
|
17
|
-
|
|
18
|
-
aws s3 sync \
|
|
19
|
-
"$s3_uri" \
|
|
20
|
-
"$object_path" \
|
|
21
|
-
--exact-timestamps
|
|
22
|
-
[[ $? -ne 0 ]] && return 1
|
|
23
|
-
|
|
24
|
-
[[ "$do_relate" == 1 ]] &&
|
|
25
|
-
abcli_mlflow_tags set \
|
|
26
|
-
$object_name \
|
|
27
|
-
cloned.$s3_uri
|
|
28
|
-
|
|
29
|
-
[[ "$do_upload" == 1 ]] &&
|
|
30
|
-
bluer_objects_upload - $object_name
|
|
31
|
-
|
|
32
|
-
return 0
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
7
|
local clone_tags=$(abcli_option_int "$options" tags 1)
|
|
36
8
|
local copy_content=$(abcli_option_int "$options" content 1)
|
|
37
9
|
local do_download=$(abcli_option_int "$options" download 1)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#! /usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
function test_bluer_objects_clone() {
|
|
4
|
+
local options=$1
|
|
5
|
+
|
|
6
|
+
local source_object_name=test_bluer_objects_clone-$(abcli_string_timestamp_short)
|
|
7
|
+
|
|
8
|
+
python3 -m bluer_objects.testing \
|
|
9
|
+
create_test_asset \
|
|
10
|
+
--object_name $source_object_name
|
|
11
|
+
[[ $? -ne 0 ]] && return 1
|
|
12
|
+
|
|
13
|
+
local object_name=test_bluer_objects_clone-$(abcli_string_timestamp_short)
|
|
14
|
+
|
|
15
|
+
bluer_objects_clone \
|
|
16
|
+
~relate,~tags,~upload,$options \
|
|
17
|
+
$source_object_name \
|
|
18
|
+
$object_name
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#! /usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
function test_bluer_objects_gif() {
|
|
4
|
+
local options=$1
|
|
5
|
+
|
|
6
|
+
local source_object_name=test_bluer_objects_clone-$(abcli_string_timestamp_short)
|
|
7
|
+
|
|
8
|
+
python3 -m bluer_objects.testing \
|
|
9
|
+
create_test_asset \
|
|
10
|
+
--object_name $source_object_name
|
|
11
|
+
[[ $? -ne 0 ]] && return 1
|
|
12
|
+
|
|
13
|
+
abcli_gif \
|
|
14
|
+
~upload,$options \
|
|
15
|
+
$source_object_name \
|
|
16
|
+
--frame_duration 200 \
|
|
17
|
+
--output_filename test.gif \
|
|
18
|
+
--scale 2 \
|
|
19
|
+
--suffix .png
|
|
20
|
+
}
|
|
@@ -7,25 +7,22 @@ function test_bluer_objects_storage() {
|
|
|
7
7
|
local object_path=$ABCLI_OBJECT_ROOT/$object_name
|
|
8
8
|
mkdir -pv $object_path
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
create_a_file \
|
|
15
|
-
--filename $object_path/$suffix
|
|
16
|
-
done
|
|
10
|
+
python3 -m bluer_objects.testing \
|
|
11
|
+
create_test_asset \
|
|
12
|
+
--object_name $object_name
|
|
13
|
+
[[ $? -ne 0 ]] && return 1
|
|
17
14
|
|
|
18
15
|
# testing upload
|
|
19
16
|
abcli_hr
|
|
20
17
|
|
|
21
18
|
bluer_objects_upload \
|
|
22
|
-
filename=this
|
|
19
|
+
filename=this.yaml \
|
|
23
20
|
$object_name
|
|
24
21
|
[[ $? -ne 0 ]] && return 1
|
|
25
22
|
abcli_hr
|
|
26
23
|
|
|
27
24
|
bluer_objects_upload \
|
|
28
|
-
filename=subfolder/this
|
|
25
|
+
filename=subfolder/this.yaml \
|
|
29
26
|
$object_name
|
|
30
27
|
[[ $? -ne 0 ]] && return 1
|
|
31
28
|
abcli_hr
|
|
@@ -43,13 +40,13 @@ function test_bluer_objects_storage() {
|
|
|
43
40
|
# testing download
|
|
44
41
|
|
|
45
42
|
bluer_objects_download \
|
|
46
|
-
filename=this
|
|
43
|
+
filename=this.yaml \
|
|
47
44
|
$object_name
|
|
48
45
|
[[ $? -ne 0 ]] && return 1
|
|
49
46
|
abcli_hr
|
|
50
47
|
|
|
51
48
|
bluer_objects_download \
|
|
52
|
-
filename=subfolder/this
|
|
49
|
+
filename=subfolder/this.yaml \
|
|
53
50
|
$object_name
|
|
54
51
|
[[ $? -ne 0 ]] && return 1
|
|
55
52
|
abcli_hr
|
|
@@ -60,7 +60,6 @@ def build(
|
|
|
60
60
|
table_of_items = markdown.generate_table(items, cols=cols) if cols > 0 else items
|
|
61
61
|
|
|
62
62
|
signature = [
|
|
63
|
-
# f'to use on [AWS SageMaker](https://aws.amazon.com/sagemaker/) replace `<plugin-name>` with "{NAME}" and follow [these instructions](https://github.com/kamangir/notebooks-and-scripts/blob/main/SageMaker.md).',
|
|
64
63
|
"",
|
|
65
64
|
" ".join(
|
|
66
65
|
[
|
|
@@ -14,7 +14,7 @@ parser = argparse.ArgumentParser(NAME)
|
|
|
14
14
|
parser.add_argument(
|
|
15
15
|
"task",
|
|
16
16
|
type=str,
|
|
17
|
-
help="
|
|
17
|
+
help="replace | size",
|
|
18
18
|
)
|
|
19
19
|
parser.add_argument(
|
|
20
20
|
"--filename",
|
|
@@ -38,15 +38,7 @@ parser.add_argument(
|
|
|
38
38
|
args = parser.parse_args()
|
|
39
39
|
|
|
40
40
|
success = False
|
|
41
|
-
if args.task == "
|
|
42
|
-
success = file.save_yaml(
|
|
43
|
-
args.filename,
|
|
44
|
-
{
|
|
45
|
-
string.random(length=args.size): string.random(length=args.size)
|
|
46
|
-
for _ in range(args.size)
|
|
47
|
-
},
|
|
48
|
-
)
|
|
49
|
-
elif args.task == "replace":
|
|
41
|
+
if args.task == "replace":
|
|
50
42
|
logger.info(f"{NAME}.{args.task}: {args.this} -> {args.that} in {args.filename}")
|
|
51
43
|
|
|
52
44
|
success, content = file.load_text(args.filename)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from bluer_options.terminal import show_usage, xtra
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def help_clone(
|
|
7
|
+
tokens: List[str],
|
|
8
|
+
mono: bool,
|
|
9
|
+
) -> str:
|
|
10
|
+
options = "".join(
|
|
11
|
+
[
|
|
12
|
+
xtra("~content,cp,~download,", mono=mono),
|
|
13
|
+
"~relate",
|
|
14
|
+
xtra(",~tags,", mono=mono),
|
|
15
|
+
"upload",
|
|
16
|
+
]
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
return show_usage(
|
|
20
|
+
[
|
|
21
|
+
"@cp",
|
|
22
|
+
f"[{options}]",
|
|
23
|
+
"[..|<object-1>]",
|
|
24
|
+
"[.|<object-2>]",
|
|
25
|
+
],
|
|
26
|
+
"copy <object-1> -> <object-2>.",
|
|
27
|
+
mono=mono,
|
|
28
|
+
)
|
|
@@ -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.clone import help_clone
|
|
4
5
|
from bluer_objects.help.download import help_download
|
|
5
6
|
from bluer_objects.help.upload import help_upload
|
|
6
7
|
|
|
@@ -8,6 +9,7 @@ help_functions = generic_help_functions(plugin_name=ALIAS)
|
|
|
8
9
|
|
|
9
10
|
help_functions.update(
|
|
10
11
|
{
|
|
12
|
+
"clone": help_clone,
|
|
11
13
|
"download": help_download,
|
|
12
14
|
"upload": help_upload,
|
|
13
15
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from bluer_objects.testing.functions import create_test_asset
|
|
@@ -0,0 +1,32 @@
|
|
|
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.testing import create_test_asset
|
|
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="create_test_asset",
|
|
17
|
+
)
|
|
18
|
+
parser.add_argument(
|
|
19
|
+
"--object_name",
|
|
20
|
+
type=str,
|
|
21
|
+
)
|
|
22
|
+
args = parser.parse_args()
|
|
23
|
+
|
|
24
|
+
success = False
|
|
25
|
+
if args.task == "create_test_asset":
|
|
26
|
+
success = create_test_asset(
|
|
27
|
+
object_name=args.object_name,
|
|
28
|
+
)
|
|
29
|
+
else:
|
|
30
|
+
success = None
|
|
31
|
+
|
|
32
|
+
sys_exit(logger, NAME, args.task, success)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from blueness import module
|
|
2
|
+
import numpy as np
|
|
3
|
+
|
|
4
|
+
from bluer_options import string
|
|
5
|
+
|
|
6
|
+
from bluer_objects import NAME
|
|
7
|
+
from bluer_objects import file, objects
|
|
8
|
+
from bluer_objects.logger import logger
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
NAME = module.name(__file__, NAME)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def create_test_asset(
|
|
15
|
+
object_name: str,
|
|
16
|
+
depth: int = 10,
|
|
17
|
+
) -> bool:
|
|
18
|
+
logger.info(f"{NAME}.create_test_asset: {object_name}")
|
|
19
|
+
|
|
20
|
+
for suffix in range(10):
|
|
21
|
+
if not file.save_image(
|
|
22
|
+
objects.path_of(
|
|
23
|
+
object_name=object_name,
|
|
24
|
+
filename=f"test-{suffix:02d}.png",
|
|
25
|
+
),
|
|
26
|
+
(np.random.rand(512, 512, 3) * 255).astype(np.uint8),
|
|
27
|
+
log=True,
|
|
28
|
+
):
|
|
29
|
+
return False
|
|
30
|
+
|
|
31
|
+
data = {
|
|
32
|
+
string.random(length=depth): string.random(length=depth) for _ in range(depth)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
for filename in [
|
|
36
|
+
"this.yaml",
|
|
37
|
+
"that.yaml",
|
|
38
|
+
"subfolder/this.yaml",
|
|
39
|
+
"subfolder/that.yaml",
|
|
40
|
+
"test.yaml",
|
|
41
|
+
]:
|
|
42
|
+
if not file.save_yaml(
|
|
43
|
+
objects.path_of(
|
|
44
|
+
object_name=object_name,
|
|
45
|
+
filename=filename,
|
|
46
|
+
),
|
|
47
|
+
data,
|
|
48
|
+
):
|
|
49
|
+
return False
|
|
50
|
+
|
|
51
|
+
if not file.save_json(
|
|
52
|
+
objects.path_of(
|
|
53
|
+
object_name=object_name,
|
|
54
|
+
filename="test.json",
|
|
55
|
+
),
|
|
56
|
+
data,
|
|
57
|
+
):
|
|
58
|
+
return False
|
|
59
|
+
|
|
60
|
+
return True
|
|
@@ -1,45 +1,15 @@
|
|
|
1
1
|
import pytest
|
|
2
|
-
import numpy as np
|
|
3
|
-
|
|
4
|
-
from bluer_options import string
|
|
5
2
|
|
|
6
3
|
from bluer_objects import file, path, objects
|
|
7
|
-
from bluer_objects import
|
|
4
|
+
from bluer_objects.testing import create_test_asset
|
|
8
5
|
from bluer_objects.logger import logger
|
|
9
6
|
|
|
10
7
|
|
|
11
8
|
@pytest.fixture
|
|
12
9
|
def test_object():
|
|
13
10
|
object_name = objects.unique_object("test_object")
|
|
14
|
-
for suffix in range(10):
|
|
15
|
-
assert file.save_image(
|
|
16
|
-
objects.path_of(
|
|
17
|
-
object_name=object_name,
|
|
18
|
-
filename=f"test-{suffix:02d}.png",
|
|
19
|
-
),
|
|
20
|
-
(np.random.rand(512, 512, 3) * 255).astype(np.uint8),
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
depth = 10
|
|
24
|
-
data = {
|
|
25
|
-
string.random(length=depth): string.random(length=depth) for _ in range(depth)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
assert file.save_yaml(
|
|
29
|
-
objects.path_of(
|
|
30
|
-
object_name=object_name,
|
|
31
|
-
filename="test.yaml",
|
|
32
|
-
),
|
|
33
|
-
data,
|
|
34
|
-
)
|
|
35
11
|
|
|
36
|
-
assert
|
|
37
|
-
objects.path_of(
|
|
38
|
-
object_name=object_name,
|
|
39
|
-
filename="test.json",
|
|
40
|
-
),
|
|
41
|
-
data,
|
|
42
|
-
)
|
|
12
|
+
assert create_test_asset(object_name)
|
|
43
13
|
|
|
44
14
|
yield object_name
|
|
45
15
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_objects
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.34.1
|
|
4
4
|
Summary: 🌀 data objects for Bash.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-objects
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -53,6 +53,6 @@ Also home to [blue README](https://github.com/kamangir/bluer-objects/blob/main/b
|
|
|
53
53
|
|
|
54
54
|
[](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)
|
|
55
55
|
|
|
56
|
-
built by 🌀 [`bluer_options-5.28.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.
|
|
56
|
+
built by 🌀 [`bluer_options-5.28.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`bluer_objects-6.34.1`](https://github.com/kamangir/bluer-objects).
|
|
57
57
|
|
|
58
58
|
built by 🌀 [`blueness-3.96.1`](https://github.com/kamangir/blueness).
|
|
@@ -89,6 +89,7 @@ bluer_objects/graphics/signature.py
|
|
|
89
89
|
bluer_objects/graphics/text.py
|
|
90
90
|
bluer_objects/help/__init__.py
|
|
91
91
|
bluer_objects/help/__main__.py
|
|
92
|
+
bluer_objects/help/clone.py
|
|
92
93
|
bluer_objects/help/download.py
|
|
93
94
|
bluer_objects/help/functions.py
|
|
94
95
|
bluer_objects/help/upload.py
|
|
@@ -116,6 +117,9 @@ bluer_objects/storage/WebDAVzip.py
|
|
|
116
117
|
bluer_objects/storage/__init__.py
|
|
117
118
|
bluer_objects/storage/__main__.py
|
|
118
119
|
bluer_objects/storage/base.py
|
|
120
|
+
bluer_objects/testing/__init__.py
|
|
121
|
+
bluer_objects/testing/__main__.py
|
|
122
|
+
bluer_objects/testing/functions.py
|
|
119
123
|
bluer_objects/tests/__init__.py
|
|
120
124
|
bluer_objects/tests/test_README.py
|
|
121
125
|
bluer_objects/tests/test_env.py
|
|
@@ -135,4 +139,5 @@ bluer_objects/tests/test_mlflow.py
|
|
|
135
139
|
bluer_objects/tests/test_objects.py
|
|
136
140
|
bluer_objects/tests/test_path.py
|
|
137
141
|
bluer_objects/tests/test_storage.py
|
|
142
|
+
bluer_objects/tests/test_testing.py
|
|
138
143
|
bluer_objects/tests/test_version.py
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
function test_bluer_objects_clone() {
|
|
4
|
-
local options=$1
|
|
5
|
-
|
|
6
|
-
local source_object_name=$(abcli_mlflow_tags_search \
|
|
7
|
-
contains=latest-giza \
|
|
8
|
-
--log 0 \
|
|
9
|
-
--count 1)
|
|
10
|
-
abcli_assert $source_object_name - non-empty
|
|
11
|
-
|
|
12
|
-
local from_s3
|
|
13
|
-
for from_s3 in 0 1; do
|
|
14
|
-
local object_name=test_bluer_objects_clone-$(abcli_string_timestamp_short)
|
|
15
|
-
|
|
16
|
-
if [[ "$from_s3" == 0 ]]; then
|
|
17
|
-
abcli_clone \
|
|
18
|
-
~relate,~tags,~upload,$options \
|
|
19
|
-
$source_object_name \
|
|
20
|
-
$object_name
|
|
21
|
-
[[ $? -ne 0 ]] && return 1
|
|
22
|
-
else
|
|
23
|
-
abcli_clone \
|
|
24
|
-
~relate,s3,~upload,$options \
|
|
25
|
-
$ABCLI_S3_OBJECT_PREFIX/$source_object_name \
|
|
26
|
-
$object_name
|
|
27
|
-
[[ $? -ne 0 ]] && return 1
|
|
28
|
-
fi
|
|
29
|
-
done
|
|
30
|
-
|
|
31
|
-
return 0
|
|
32
|
-
}
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/.abcli/mlflow/list_registered_models.sh
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
{bluer_objects-6.32.1 → bluer_objects-6.34.1}/bluer_objects/tests/test_graphics_signature.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|