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

@@ -21,6 +21,8 @@ alias @host=bluer_objects_host
21
21
 
22
22
  alias @ls=bluer_objects_ls
23
23
 
24
+ alias @lock=bluer_objects_mlflow_lock
25
+
24
26
  alias @metadata=bluer_objects_metadata
25
27
 
26
28
  alias @mlflow=bluer_objects_mlflow
@@ -0,0 +1,11 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_mlflow_lock_lock() {
4
+ local object_name=$(bluer_ai_clarify_object $1 .)
5
+
6
+ bluer_ai_eval dryrun=$do_dryrun \
7
+ python3 -m bluer_objects.mlflow.lock \
8
+ lock \
9
+ --object_name $object_name \
10
+ "${@:2}"
11
+ }
@@ -0,0 +1,12 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_mlflow_lock_unlock() {
4
+ local object_name=$(bluer_ai_clarify_object $1 .)
5
+
6
+ bluer_ai_eval dryrun=$do_dryrun \
7
+ python3 -m bluer_objects.mlflow.lock \
8
+ unlock \
9
+ --object_name $object_name \
10
+ "${@:2}"
11
+
12
+ }
@@ -0,0 +1,15 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_objects_mlflow_lock() {
4
+ local task=$1
5
+
6
+ local function_name=bluer_objects_mlflow_lock_$task
7
+ if [[ $(type -t $function_name) == "function" ]]; then
8
+ $function_name "${@:2}"
9
+ return
10
+ fi
11
+
12
+ python3 -m bluer_objects.mlflow.lock "$@"
13
+ }
14
+
15
+ bluer_ai_source_caller_suffix_path /lock
@@ -37,6 +37,10 @@ function test_bluer_objects_help() {
37
37
  "@host reboot" \
38
38
  "@host shutdown" \
39
39
  \
40
+ "@lock" \
41
+ "@lock lock" \
42
+ "@lock unlock" \
43
+ \
40
44
  "@metadata" \
41
45
  "@metadata get" \
42
46
  "@metadata post" \
@@ -0,0 +1,30 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function test_bluer_objects_mlflow_lock() {
4
+ local options=$1
5
+
6
+ local object_name="test-object-$(bluer_ai_string_timestamp_short)"
7
+ local lock_name="lock-$(bluer_ai_string_random)"
8
+
9
+ bluer_ai_eval ,$options \
10
+ bluer_objects_mlflow_lock \
11
+ lock \
12
+ $object_name \
13
+ --lock $lock_name \
14
+ --timeout 10
15
+ [[ $? -ne 0 ]] && return 1
16
+
17
+ bluer_ai_eval ,$options \
18
+ bluer_objects_mlflow_lock \
19
+ lock \
20
+ $object_name \
21
+ --lock $lock_name \
22
+ --timeout 10
23
+ [[ $? -eq 0 ]] && return 1
24
+
25
+ bluer_ai_eval ,$options \
26
+ bluer_objects_mlflow_lock \
27
+ unlock \
28
+ $object_name \
29
+ --lock $lock_name
30
+ }
@@ -41,5 +41,7 @@ def build_me() -> bool:
41
41
  "../docs/aliases/metadata.md",
42
42
  "../docs/aliases/mlflow.md",
43
43
  "../docs/aliases/upload.md",
44
+ # modules
45
+ "../mlflow/lock",
44
46
  ]
45
47
  )
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.155.1"
7
+ VERSION = "6.164.1"
8
8
 
9
9
  REPO_NAME = "bluer-objects"
10
10
 
bluer_objects/config.env CHANGED
@@ -1,5 +1,8 @@
1
1
  ABCLI_MLFLOW_EXPERIMENT_PREFIX=experiment/
2
2
 
3
+ MLFLOW_LOCK_WAIT_FOR_CLEARANCE=3
4
+ MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY=1
5
+
3
6
  S3_STORAGE_BUCKET=kamangir
4
7
 
5
8
  BLUER_OBJECTS_STORAGE_INTERFACE=s3
bluer_objects/env.py CHANGED
@@ -54,6 +54,9 @@ else:
54
54
  os.environ["MLFLOW_TRACKING_URI"] = MLFLOW_TRACKING_URI
55
55
  MLFLOW_LOG_ARTIFACTS = "arvan" not in MLFLOW_DEPLOYMENT
56
56
 
57
+ MLFLOW_LOCK_WAIT_FOR_CLEARANCE = get_env("MLFLOW_LOCK_WAIT_FOR_CLEARANCE", 3)
58
+ MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY = get_env("MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY", 1)
59
+
57
60
  WEBDAV_HOSTNAME = get_env("WEBDAV_HOSTNAME")
58
61
  WEBDAV_LOGIN = get_env("WEBDAV_LOGIN")
59
62
  WEBDAV_PASSWORD = get_env("WEBDAV_PASSWORD")
@@ -3,6 +3,7 @@ from typing import List
3
3
  from bluer_options.terminal import show_usage, xtra
4
4
 
5
5
  from bluer_objects.help.mlflow.cache import help_functions as help_cache
6
+ from bluer_objects.help.mlflow.lock import help_functions as help_lock
6
7
  from bluer_objects.help.mlflow.tags import help_functions as help_tags
7
8
  from bluer_ai import env
8
9
 
@@ -202,6 +203,7 @@ help_functions = {
202
203
  "get_id": help_get_id,
203
204
  "get_run_id": help_get_run_id,
204
205
  "list_registered_models": help_list_registered_models,
206
+ "lock": help_lock,
205
207
  "log_artifacts": help_log_artifacts,
206
208
  "log_run": help_log_run,
207
209
  "rm": help_rm,
@@ -0,0 +1,52 @@
1
+ from typing import List
2
+
3
+ from bluer_options.terminal import show_usage, xtra
4
+
5
+
6
+ def help_lock(
7
+ tokens: List[str],
8
+ mono: bool,
9
+ ) -> str:
10
+ args = [
11
+ "[--lock <lock-name>]",
12
+ "[--timeout <10>]",
13
+ "[--verbose 0]",
14
+ ]
15
+
16
+ return show_usage(
17
+ [
18
+ "@lock",
19
+ "lock",
20
+ "[.|<object-name>]",
21
+ ]
22
+ + args,
23
+ "lock <object-name>.",
24
+ mono=mono,
25
+ )
26
+
27
+
28
+ def help_unlock(
29
+ tokens: List[str],
30
+ mono: bool,
31
+ ) -> str:
32
+ args = [
33
+ "[--lock <lock-name>]",
34
+ "[--verbose 0]",
35
+ ]
36
+
37
+ return show_usage(
38
+ [
39
+ "@lock",
40
+ "unlock",
41
+ "[.|<object-name>]",
42
+ ]
43
+ + args,
44
+ "unlock <object-name>.",
45
+ mono=mono,
46
+ )
47
+
48
+
49
+ help_functions = {
50
+ "lock": help_lock,
51
+ "unlock": help_unlock,
52
+ }
@@ -31,6 +31,12 @@ def test_bluer_objects_env():
31
31
 
32
32
  assert env.MLFLOW_DEPLOYMENT
33
33
 
34
+ assert isinstance(env.MLFLOW_LOCK_WAIT_FOR_CLEARANCE, int)
35
+ assert env.MLFLOW_LOCK_WAIT_FOR_CLEARANCE > 0
36
+
37
+ assert isinstance(env.MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY, int)
38
+ assert env.MLFLOW_LOCK_WAIT_FOR_EXCLUSIVITY > 0
39
+
34
40
  assert env.WEBDAV_HOSTNAME
35
41
  assert env.WEBDAV_LOGIN
36
42
  assert env.WEBDAV_PASSWORD
@@ -0,0 +1,26 @@
1
+ from bluer_options import string
2
+
3
+ from bluer_objects import objects
4
+ from bluer_objects.mlflow.lock.functions import lock, unlock
5
+
6
+
7
+ def test_mlflow_lock():
8
+ object_name = objects.unique_object("test_mlflow_lock")
9
+ lock_name = "lock-{}".format(string.random())
10
+
11
+ assert lock(
12
+ object_name=object_name,
13
+ lock_name=lock_name,
14
+ timeout=10,
15
+ )
16
+
17
+ assert not lock(
18
+ object_name=object_name,
19
+ lock_name=lock_name,
20
+ timeout=10,
21
+ )
22
+
23
+ assert unlock(
24
+ object_name=object_name,
25
+ lock_name=lock_name,
26
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.155.1
3
+ Version: 6.164.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -36,7 +36,7 @@ Dynamic: summary
36
36
 
37
37
  🌀 `bluer-objects` are the inputs and outputs of [AI algo](https://github.com/kamangir/giza). They are maintained in cloud storage (supports [WebDav](https://pypi.org/project/webdavclient3/)) and their metadata is tracked by [MLflow](https://mlflow.org/). Examples are the Sentinel-2 [datacube](https://github.com/kamangir/blue-geo/tree/main/blue_geo/datacube) `datacube-EarthSearch-sentinel_2_l1c-S2A_10UDC_20240731_0_L1C` and 🌐 [`@geo watch` outputs](https://github.com/kamangir/blue-geo/tree/main/blue_geo/watch).
38
38
 
39
- Also home to 🌀 [bluer README](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/README/).
39
+ Also home to 🌀 [bluer README](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/README/), and the 🔒 [`Lock`](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/mlflow/lock/).
40
40
 
41
41
  # installation
42
42
 
@@ -64,6 +64,6 @@ pip install bluer-objects
64
64
 
65
65
  [![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
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.155.1`](https://github.com/kamangir/bluer-objects).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.164.1`](https://github.com/kamangir/bluer-objects).
68
68
 
69
69
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,7 +1,7 @@
1
- bluer_objects/__init__.py,sha256=SI2bYRTAof62w9VKNRAYmPllTvuhoSuD6p4KuzBTd34,315
1
+ bluer_objects/__init__.py,sha256=MapXenwFvLfJK_3xBUL7zkS9Xk66E8WWYkOJOBq2AKc,315
2
2
  bluer_objects/__main__.py,sha256=Yqfov833_hJuRne19WrGhT5DWAPtdffpoMxeSXS7EGw,359
3
- bluer_objects/config.env,sha256=95lXp0kUrsGoUetHgxJpQ4QD16TdFyf-u1AiKBhtrlQ,106
4
- bluer_objects/env.py,sha256=ZVA8hZfpyuZ493lVkN9vFbUjVlrkrrH6wjC_DcZg52k,1795
3
+ bluer_objects/config.env,sha256=cpmtTuKHIBvVjX30MpAImFgwM0g24qTHwoO-lCJRInA,175
4
+ bluer_objects/env.py,sha256=aImjtNh8NKaua2rpQVFXWp86QF7nY87fDuMOO14O58E,1956
5
5
  bluer_objects/markdown.py,sha256=PhAwCTHIisO9qOpKHeb63U5oD9Zi8LnIQKTx_OWS4wE,938
6
6
  bluer_objects/objects.py,sha256=EYzA1vKngY2c_gdMKnUfrKVUcf-5wpFKgBFaVJA4cLE,1626
7
7
  bluer_objects/path.py,sha256=9uspZqObI29NerVDF30uILLaouDtloASh0Mywyq2_ew,3946
@@ -10,7 +10,7 @@ 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=g0avaLQ6SNbCNuP54-VZW2GTlMTcn0eQp_MBlCsu_W0,719
13
+ bluer_objects/.abcli/alias.sh,sha256=wrYmXLozAQKQ3XWoI5id9MFWgU8NvI3wnU8cFs2G3DE,758
14
14
  bluer_objects/.abcli/bluer_objects.sh,sha256=x7qf8hSAp3dAl0Hes4J07vL6qP-mWFUkJhvUXzTJC_8,210
15
15
  bluer_objects/.abcli/clone.sh,sha256=KqC5d4MAXwo7UZGhKnfCq9k9CCSl3I1dpU1igYs0Yrs,1975
16
16
  bluer_objects/.abcli/create_test_asset.sh,sha256=ONIdad_WRjZWdW6V2RalRW2qSJwybEwzU-_KsvaJ9og,245
@@ -31,12 +31,15 @@ bluer_objects/.abcli/mlflow/browse.sh,sha256=jPHAKLgG7yDLCdSAW5acVmCOcOltAkZQ8Fr
31
31
  bluer_objects/.abcli/mlflow/cache.sh,sha256=tpdCqL3jMFpfRmYS6UTgLiycv43_z_N_J1ux2XsDgdA,556
32
32
  bluer_objects/.abcli/mlflow/deploy.sh,sha256=oTdFUDOAtDhREstbQCOZkgwJgdua9Tp8w9aYSV-C4yc,772
33
33
  bluer_objects/.abcli/mlflow/list_registered_models.sh,sha256=cZGtAzfLx-kW3-zi0mLrfhzk4B8KyUL2sq2tD7lK5q8,191
34
+ bluer_objects/.abcli/mlflow/lock.sh,sha256=MXq8srb4qAq5gZb0QC4Nkf6x7mME9L0cf46nGkTkbYY,340
34
35
  bluer_objects/.abcli/mlflow/log_artifacts.sh,sha256=3sCdDHoRVFqCg_DPF8zw3HSAj8Grr-Mbwmf0iUlDmrk,243
35
36
  bluer_objects/.abcli/mlflow/log_run.sh,sha256=-oDsAxVnw3wot-Jk4mju_6fgW_6K2VnhlWtAtom-tlc,231
36
37
  bluer_objects/.abcli/mlflow/run.sh,sha256=4eywpZJ1Qc8sGObzRiS6iyeySOxTHsq2ygvSDFMHX3U,260
37
38
  bluer_objects/.abcli/mlflow/tags.sh,sha256=IdynOEpoID-s2Lq2Ht8Hyo3IC48qQl_LXZ32LbxEYDA,373
38
39
  bluer_objects/.abcli/mlflow/test.sh,sha256=LvnsMQnEzecb-jeNQ9YXFA-ijOTIqcDgThayh55ZcAQ,256
39
40
  bluer_objects/.abcli/mlflow/transition.sh,sha256=6-FxiK6AV92kdHEYvWTLqp6_HyMqyw6A8ZwS4pLsLcQ,615
41
+ bluer_objects/.abcli/mlflow/lock/lock.sh,sha256=FQaLlwG5P5bw80tCloj6nH-fF0JA8jyAPC94RrSwB10,277
42
+ bluer_objects/.abcli/mlflow/lock/unlock.sh,sha256=KS0RRlBhPah93F66ny5AbJ0OxKa1eMAJPHNqWlmmb5s,282
40
43
  bluer_objects/.abcli/mlflow/tags/clone.sh,sha256=HY2tigFx9fG4BVDjcoQAUCKil01yESv1f4H9Y5_thm4,440
41
44
  bluer_objects/.abcli/mlflow/tags/get.sh,sha256=hsI_zzwJkRmnxvAKlCPdkGlEbn5Ol3eVp8sOi_iA2o8,233
42
45
  bluer_objects/.abcli/mlflow/tags/search.sh,sha256=kJBLkd7_ACeMUXdRk-zXkBfOoiyDWwO8sUit2NkIhNY,299
@@ -51,17 +54,18 @@ bluer_objects/.abcli/tests/README.sh,sha256=gk2KuNLFTuV3qdVgH8BNfJmur3gZoSV8EwLb
51
54
  bluer_objects/.abcli/tests/clone.sh,sha256=Rl9pHvmRJ4H-y-iMA80q11UdSZFrguNaMTez0LTtJjA,473
52
55
  bluer_objects/.abcli/tests/create_test_asset.sh,sha256=onRGc3VjDWA7On3isxKD3J7mxA6n349AVXRj90Z3Jzc,386
53
56
  bluer_objects/.abcli/tests/gif.sh,sha256=2FvcomiyYTzJa527a7Wk2EJt5N9_vZt8tmQD1QVetDg,461
54
- bluer_objects/.abcli/tests/help.sh,sha256=FHY1Ma38XGnHS-1IhYdxtjvtbPyZx1RIpAvIdzUFLhg,1783
57
+ bluer_objects/.abcli/tests/help.sh,sha256=g3sBEvdkvUWPuxPF_yFdkxiuCAssJ1_8lc7dvOC_q5E,1859
55
58
  bluer_objects/.abcli/tests/host.sh,sha256=GBuTLNw1sU3fAb5jS-ew_qAfovVCQ5CLaz5ad04IkoA,144
56
59
  bluer_objects/.abcli/tests/ls.sh,sha256=oOvcnEQZgnNlwCK4SvkdAjCBs2_z0qBOhgFLsXDBSXM,555
57
60
  bluer_objects/.abcli/tests/metadata.sh,sha256=OP1c0h0TSlDycrv0UglKLyBtTQwqh9M0nqVAdQUzkno,1723
58
61
  bluer_objects/.abcli/tests/mlflow_cache.sh,sha256=EEAPGasQgN4j6YLp30_IMYAPCTUBxmTgoMzMSpseVbw,388
62
+ bluer_objects/.abcli/tests/mlflow_lock.sh,sha256=TJwp6HbVUOT1HqRfXPS8_zpKAL7-mBee_yyOhmKNzt4,717
59
63
  bluer_objects/.abcli/tests/mlflow_logging.sh,sha256=TVzHhk9qRthpP2xdKwu3LwK00S77GqH50io3oVyS2UE,305
60
64
  bluer_objects/.abcli/tests/mlflow_tags.sh,sha256=pX4sEK_z2Vrb7a6Bq4qWurFVPZkvjpS10K4MLx3mf64,811
61
65
  bluer_objects/.abcli/tests/mlflow_test.sh,sha256=7MXxYq2GgD2MEJbQlpx80qLT2HaaVn_PFFMpSA_hWA4,125
62
66
  bluer_objects/.abcli/tests/storage.sh,sha256=194FlYzc8Eplsl2Xxi0n0iTh1r_44oIDB0Fbn7tRJxs,1314
63
67
  bluer_objects/.abcli/tests/version.sh,sha256=k-lXozSjyFgFR58cTzUYla0Ef-upx3sSK641zI5ynfE,169
64
- bluer_objects/README/__init__.py,sha256=5ghygLdrsjqP2Tui5O3Ax9DR8nEHHh1HydKV05dhRhc,1259
68
+ bluer_objects/README/__init__.py,sha256=JwxdTVAK3LeUaw7rMJujOFIXZA59HaLCtxpsR1C-vpo,1311
65
69
  bluer_objects/README/functions.py,sha256=IriuSysrApSTEgOZHqq32-eyks5v5Tn-KvmwYQUIloc,10752
66
70
  bluer_objects/README/items.py,sha256=-XaNCr5b_NGRkZVfIQ6hBFgJw5GIVcMJdktT3hWoam4,755
67
71
  bluer_objects/file/__init__.py,sha256=c_79ipBkKl6OFDimOev0vnaVdpUk-Bl3oJUapOreMXc,681
@@ -88,8 +92,9 @@ bluer_objects/help/host.py,sha256=4t4yrPGjTbnFtODcuBjfIzpA5pmmvc5s4QrjIqPPVsM,98
88
92
  bluer_objects/help/ls.py,sha256=acvRLDxjJOzQ1a9ZQ4Mn9aBZ8Vf17IDHcAxC2O3R33Y,627
89
93
  bluer_objects/help/metadata.py,sha256=fk22NasBcZU1ffY4fu6AxrCzMQtTI28p_ghaSVRrrPM,2811
90
94
  bluer_objects/help/upload.py,sha256=p-nRw9d_S6PI7PcD0mBwWqQRPWQG4r3usjvOIzAbTeM,368
91
- bluer_objects/help/mlflow/__init__.py,sha256=oimroGIHpMzvP3iTT99mUk3MA2BfaSWA2B8hSq3uCUA,4019
95
+ bluer_objects/help/mlflow/__init__.py,sha256=xox0NM53OIRxpvWzDJh8DYspwIX_teNsQlEeGZdWgWk,4113
92
96
  bluer_objects/help/mlflow/cache.py,sha256=O8O1oaiq1e1z2HCi8fRe4hjSNimzvCaCAIu-u2GDHkE,704
97
+ bluer_objects/help/mlflow/lock.py,sha256=REdB4LmlHu2_6SF1nDA50KBbYtNIKRDbYH7KduUnuEg,848
93
98
  bluer_objects/help/mlflow/tags.py,sha256=C3FcMRe-JhelhCQkAyZ5jlxGtgYxhNjtIhxka8k_ytI,2137
94
99
  bluer_objects/host/__init__.py,sha256=Ko43SWnZNsGKuIPU_l0w17pYrxCgVHQx3_zEoUNaHZY,272
95
100
  bluer_objects/host/__main__.py,sha256=J0MO2sUzrI_t_X4VVYyM6n41ND0yhhSXOmZSkDAC4rg,1751
@@ -122,7 +127,7 @@ bluer_objects/testing/__main__.py,sha256=hhJV9qn0V_8FxzNDcoHCHr4A7zf9UudnNGJCAPk
122
127
  bluer_objects/testing/functions.py,sha256=AXAfzWLcEPkbSYTehdahshjKJ45C4IJkRs_TgrHOntc,1355
123
128
  bluer_objects/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
129
  bluer_objects/tests/test_README.py,sha256=5D4UV8VcjbeAPThsYVynYtVFuP8gwMAhIjEWuOQZsWs,89
125
- bluer_objects/tests/test_env.py,sha256=Oe-Y-WC0tLVAW7n4QwMqx9pZN7a9nOyu1RPDomUdDos,818
130
+ bluer_objects/tests/test_env.py,sha256=Kh3aVc7UbXkv39-oJPvRxg6nCKFlLQnEnK_wO-UlGEo,1050
126
131
  bluer_objects/tests/test_file_download.py,sha256=1_adHYqgSifkdP-I7TQVW0t8MLCujQ61fvRbcrSkcmg,512
127
132
  bluer_objects/tests/test_file_load_save.py,sha256=unqxfiqba6RVhMS95AtHZWsT7Q097jBOKdckAT9PyFU,2390
128
133
  bluer_objects/tests/test_file_load_save_text.py,sha256=3XnBGlv3KZvheHY-RlX1Su6LOBkkn57pkf9_dXR81r8,1017
@@ -138,6 +143,7 @@ bluer_objects/tests/test_logger_matrix.py,sha256=qedidEDGusMWQM04kgk3mt74yFm4iU3
138
143
  bluer_objects/tests/test_markdown.py,sha256=KtCWKIDs4U1M3qAGFMYhzVpdGiDV2VU8z7dCaU3s3Ec,217
139
144
  bluer_objects/tests/test_metadata.py,sha256=Qy-Zp5yFrHmZ5tjujuLNcvI2YEyzNuAFXgy0L7sJOJ0,4389
140
145
  bluer_objects/tests/test_mlflow.py,sha256=Ee6T7r2qT1fvUv2ommC3Wl5Gwz1olURvMvhoaM0779M,1419
146
+ bluer_objects/tests/test_mlflow_lock.py,sha256=rDNfyWHZu3U88yIIFrPeQPsTneU0GR8n9gSgqpj0q9k,569
141
147
  bluer_objects/tests/test_objects.py,sha256=pqdXvnAJ5WPlHvqqaKrd9-vqktrE9GOVxSgqHs8yK8w,1441
142
148
  bluer_objects/tests/test_path.py,sha256=JjONWyhZyMM_u1SzD1RI_iZ5vYJDUe-B51fbbHczIig,85
143
149
  bluer_objects/tests/test_storage.py,sha256=3kFq4lVuvHIpHYob6YprqNdiPaZKgSdMJSsCZ-nvXdI,822
@@ -147,8 +153,8 @@ bluer_objects/tests/test_storage_webdav_request.py,sha256=h2b8PeIx0-hQ2d6PmQcJZy
147
153
  bluer_objects/tests/test_storage_webdav_zip.py,sha256=C19qxhkcHyTwVFzW35vL85SOcXJPkqXXaWUNll0Uyqc,1017
148
154
  bluer_objects/tests/test_testing.py,sha256=d2NH435yqJBl9wmfMqGGd-f0Y0jsL2QhHUXkty9AwPA,235
149
155
  bluer_objects/tests/test_version.py,sha256=Lyf3PMcA22e17BNRk_2VgPrtao6dWEgVoXo68Uds8SE,75
150
- bluer_objects-6.155.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
151
- bluer_objects-6.155.1.dist-info/METADATA,sha256=ABeLks5OcoMNh-1udT5ZXQx0EGkm5dr9VvGQLQnrvh4,3575
152
- bluer_objects-6.155.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
153
- bluer_objects-6.155.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
154
- bluer_objects-6.155.1.dist-info/RECORD,,
156
+ bluer_objects-6.164.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
157
+ bluer_objects-6.164.1.dist-info/METADATA,sha256=bXZyizINJFJrFLPKqNJTkcATAQZCVUmEhBvPAfAWISE,3678
158
+ bluer_objects-6.164.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
159
+ bluer_objects-6.164.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
160
+ bluer_objects-6.164.1.dist-info/RECORD,,