blue-sandbox 5.61.1__py3-none-any.whl → 5.87.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,7 @@
1
1
  #! /usr/bin/env bash
2
2
 
3
3
  function abcli_install_blue_sandbox() {
4
- abcli_git_clone https://github.com/microsoft/building-damage-assessment.git
5
-
6
- [[ "$abcli_is_mac" == true ]] &&
7
- brew install wget
8
-
9
- return 0
4
+ abcli_log "✅"
10
5
  }
11
6
 
12
7
  abcli_install_module blue_sandbox 1.1.1
@@ -0,0 +1,49 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function blue_sandbox_microsoft_building_damage_assessment_install() {
4
+ local options=$1
5
+ local do_dryrun=$(abcli_option_int "$options" dryrun 0)
6
+ local recreate_env=$(abcli_option_int "$options" recreate_env 0)
7
+
8
+ if [[ -d "$abcli_path_git/building-damage-assessment" ]]; then
9
+ abcli_log "✅ building-damage-assessment"
10
+ else
11
+ abcli_git_clone https://github.com/microsoft/building-damage-assessment.git
12
+ [[ $? -ne 0 ]] && return 1
13
+ fi
14
+
15
+ [[ "$abcli_is_github_workflow" == true ]] &&
16
+ return 0
17
+
18
+ if [[ "$recreate_env" == 1 ]]; then
19
+ abcli_conda_rm name=bda
20
+ [[ $? -ne 0 ]] && return 1
21
+ fi
22
+
23
+ local exists=$(abcli_conda_exists name=bda)
24
+ if [[ "$exists" == 0 ]]; then
25
+ # https://github.com/microsoft/building-damage-assessment?tab=readme-ov-file#setup
26
+ conda env create \
27
+ -f $abcli_path_git/building-damage-assessment/environment.yml
28
+ [[ $? -ne 0 ]] && return 1
29
+ fi
30
+
31
+ conda activate bda
32
+ [[ $? -ne 0 ]] && return 1
33
+
34
+ pushd $abcli_path_git/blue-sandbox >/dev/null
35
+ pip3 install -e .
36
+ [[ $? -ne 0 ]] && return 1
37
+ popd >/dev/null
38
+
39
+ [[ "$abcli_is_mac" == true ]] &&
40
+ brew install wget
41
+
42
+ return 0
43
+ }
44
+
45
+ function abcli_install_microsoft_building_damage_assessment() {
46
+ blue_sandbox_microsoft_building_damage_assessment_install "$@"
47
+ }
48
+
49
+ abcli_install_module microsoft_building_damage_assessment 1.1.1
@@ -0,0 +1,21 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function blue_sandbox_microsoft_building_damage_assessment_tensorboard() {
4
+ local options=$1
5
+ local do_dryrun=$(abcli_option_int "$options" dryrun 0)
6
+ local do_browse=$(abcli_option_int "$options" browse $(abcli_not $do_dryrun))
7
+ local do_download=$(abcli_option_int "$options" download $(abcli_not $do_dryrun))
8
+ local port=$(abcli_option "$options" port 8889)
9
+
10
+ local model_object_name=$(abcli_clarify_object $2 .)
11
+ [[ "$do_download" == 1 ]] &&
12
+ abcli_download - $model_object_name
13
+
14
+ [[ "$do_browse" == 1 ]] &&
15
+ abcli_browse http://localhost:$port/
16
+
17
+ abcli_eval ,$options \
18
+ tensorboard \
19
+ --logdir $ABCLI_OBJECT_ROOT/$model_object_name/logs/ \
20
+ --port $port
21
+ }
@@ -0,0 +1,53 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function blue_sandbox_microsoft_building_damage_assessment_train() {
4
+ local options=$1
5
+ local do_dryrun=$(abcli_option_int "$options" dryrun 0)
6
+ local do_download=$(abcli_option_int "$options" download $(abcli_not $do_dryrun))
7
+ local do_upload=$(abcli_option_int "$options" upload $(abcli_not $do_dryrun))
8
+
9
+ local dataset_object_name=$(abcli_clarify_object $2 .)
10
+ [[ "$do_download" == 1 ]] &&
11
+ abcli_download - $dataset_object_name
12
+
13
+ local model_object_name=$(abcli_clarify_object $3 $dataset_object_name-model-$(abcli_string_timestamp_short))
14
+
15
+ abcli_log "training $dataset_object_name -> $model_object_name ..."
16
+
17
+ conda activate bda
18
+ [[ $? -ne 0 ]] && return 1
19
+
20
+ abcli_eval dryrun=$do_dryrun \
21
+ python3 -m blue_sandbox.microsoft_building_damage_assessment \
22
+ train \
23
+ --dataset_object_name $dataset_object_name \
24
+ --model_object_name $model_object_name \
25
+ "${@:4}"
26
+ [[ $? -ne 0 ]] && return 1
27
+
28
+ abcli_eval dryrun=$do_dryrun,path=$abcli_path_git/building-damage-assessment \
29
+ python3 project_setup.py \
30
+ --skip_health_check \
31
+ --config $ABCLI_OBJECT_ROOT/$model_object_name/config.yml
32
+ [[ $? -ne 0 ]] && return 1
33
+
34
+ abcli_eval dryrun=$do_dryrun,path=$abcli_path_git/building-damage-assessment \
35
+ python3 create_masks.py \
36
+ --config $ABCLI_OBJECT_ROOT/$model_object_name/config.yml
37
+ [[ $? -ne 0 ]] && return 1
38
+
39
+ abcli_eval dryrun=$do_dryrun,path=$abcli_path_git/building-damage-assessment \
40
+ python3 fine_tune.py \
41
+ --config $ABCLI_OBJECT_ROOT/$model_object_name/config.yml
42
+ [[ $? -ne 0 ]] && return 1
43
+
44
+ abcli_eval dryrun=$do_dryrun,path=$abcli_path_git/building-damage-assessment \
45
+ python3 inference.py \
46
+ --config $ABCLI_OBJECT_ROOT/$model_object_name/config.yml
47
+ [[ $? -ne 0 ]] && return 1
48
+
49
+ [[ "$do_upload" == 1 ]] &&
50
+ abcli_upload - $model_object_name
51
+
52
+ return 0
53
+ }
@@ -10,7 +10,10 @@ function test_blue_sandbox_help() {
10
10
  "@damages" \
11
11
  "@damages ingest" \
12
12
  "@damages ingest list" \
13
+ "@damages install" \
13
14
  "@damages label" \
15
+ "@damages tensorboard" \
16
+ "@damages train" \
14
17
  \
15
18
  "blue_sandbox"; do
16
19
  abcli_eval ,$options \
@@ -0,0 +1,20 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function test_blue_sandbox_microsoft_building_damage_assessment_train() {
4
+ local options=$1
5
+
6
+ abcli_log_warning "disabled."
7
+ return 0
8
+
9
+ abcli_eval ,$options \
10
+ blue_sandbox_microsoft_building_damage_assessment \
11
+ train \
12
+ ~upload,$options \
13
+ $DAMAGES_TEST_DATASET_OBJECT_NAME \
14
+ test_blue_sandbox_microsoft_building_damage_assessment_train-$(abcli_string_timestamp_short) \
15
+ --verbose 1 \
16
+ "${@:2}"
17
+
18
+ # ignore error - TODO: disable
19
+ return 0
20
+ }
blue_sandbox/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} A sandbox for ideas and experiments."
6
6
 
7
- VERSION = "5.61.1"
7
+ VERSION = "5.87.1"
8
8
 
9
9
  REPO_NAME = "blue-sandbox"
10
10
 
blue_sandbox/env.py CHANGED
@@ -9,3 +9,5 @@ DAMAGES_TEST_DATASET_OBJECT_NAME = os.getenv(
9
9
  "DAMAGES_TEST_DATASET_OBJECT_NAME",
10
10
  "",
11
11
  )
12
+
13
+ ENCODED_BLOB_SAS_TOKEN = os.getenv("ENCODED_BLOB_SAS_TOKEN", "")
@@ -8,10 +8,13 @@ list_of_steps: Dict[str, Dict] = {
8
8
  "image_name": "Maui-Hawaii-fires-Aug-23-damage-2025-01-09-GgnjQC",
9
9
  },
10
10
  "label": {
11
- "object_name": DAMAGES_TEST_DATASET_OBJECT_NAME,
11
+ "object_name": "",
12
12
  "image_name": DAMAGES_TEST_DATASET_OBJECT_NAME,
13
13
  },
14
- "train": {"object_name": "", "image_name": ""},
14
+ "train": {
15
+ "object_name": "",
16
+ "image_name": "Maui-Hawaii-fires-Aug-23-model-2025-01-10-NQb8IS",
17
+ },
15
18
  "predict": {"object_name": "", "image_name": ""},
16
19
  "summarize": {"object_name": "", "image_name": ""},
17
20
  }
@@ -6,6 +6,11 @@ from blueness.argparse.generic import sys_exit
6
6
  from blue_sandbox import NAME
7
7
  from blue_sandbox.microsoft_building_damage_assessment.ingest import ingest
8
8
  from blue_sandbox.microsoft_building_damage_assessment.label import label
9
+ from blue_sandbox.microsoft_building_damage_assessment.train import train
10
+ from blue_sandbox.microsoft_building_damage_assessment.sas_token import (
11
+ decode_token,
12
+ encode_token,
13
+ )
9
14
  from blue_sandbox.help.microsoft_building_damage_assessment import list_of_events
10
15
  from blue_sandbox.logger import logger
11
16
 
@@ -15,12 +20,20 @@ parser = argparse.ArgumentParser(NAME)
15
20
  parser.add_argument(
16
21
  "task",
17
22
  type=str,
18
- help="ingest | label",
23
+ help="decode_token | encode_token | ingest | label | train",
19
24
  )
20
25
  parser.add_argument(
21
26
  "--object_name",
22
27
  type=str,
23
28
  )
29
+ parser.add_argument(
30
+ "--dataset_object_name",
31
+ type=str,
32
+ )
33
+ parser.add_argument(
34
+ "--model_object_name",
35
+ type=str,
36
+ )
24
37
  parser.add_argument(
25
38
  "--event_name",
26
39
  type=str,
@@ -33,10 +46,20 @@ parser.add_argument(
33
46
  default=0,
34
47
  help="0|1",
35
48
  )
49
+ parser.add_argument(
50
+ "--token",
51
+ type=str,
52
+ )
36
53
  args = parser.parse_args()
37
54
 
38
55
  success = False
39
- if args.task == "ingest":
56
+ if args.task == "decode_token":
57
+ success = True
58
+ print(decode_token(args.token))
59
+ elif args.task == "encode_token":
60
+ success = True
61
+ print(encode_token(args.token))
62
+ elif args.task == "ingest":
40
63
  success = ingest(
41
64
  object_name=args.object_name,
42
65
  event_name=args.event_name,
@@ -47,6 +70,12 @@ elif args.task == "label":
47
70
  object_name=args.object_name,
48
71
  verbose=args.verbose == 1,
49
72
  )
73
+ elif args.task == "train":
74
+ success = train(
75
+ dataset_object_name=args.dataset_object_name,
76
+ model_object_name=args.model_object_name,
77
+ verbose=args.verbose == 1,
78
+ )
50
79
  else:
51
80
  success = None
52
81
 
@@ -0,0 +1,9 @@
1
+ import base64
2
+
3
+
4
+ def encode_token(token: str) -> str:
5
+ return base64.b64encode(token.encode()).decode()
6
+
7
+
8
+ def decode_token(encoded_token: str) -> str:
9
+ return base64.b64decode(encoded_token.encode()).decode()
@@ -0,0 +1,95 @@
1
+ import os
2
+
3
+ from blueness import module
4
+ from blue_objects import mlflow, metadata, file, objects, path
5
+ from blue_objects.env import abcli_path_git
6
+
7
+ from blue_sandbox import NAME
8
+ from blue_sandbox.env import ENCODED_BLOB_SAS_TOKEN
9
+ from blue_sandbox.microsoft_building_damage_assessment.sas_token import decode_token
10
+ from blue_sandbox.logger import logger
11
+
12
+
13
+ NAME = module.name(__file__, NAME)
14
+
15
+
16
+ # ... copy `configs/example_config.yml` and fill the first three sections.
17
+ def train(
18
+ dataset_object_name: str,
19
+ model_object_name: str,
20
+ verbose: bool = False,
21
+ ) -> bool:
22
+ logger.info(f"{NAME}.train: {dataset_object_name} -> {model_object_name}")
23
+
24
+ config_filename = os.path.join(
25
+ abcli_path_git,
26
+ "building-damage-assessment/configs/example_config.yml",
27
+ )
28
+ success, config = file.load_yaml(config_filename)
29
+ if not success:
30
+ return False
31
+
32
+ config["experiment_dir"] = objects.object_path(model_object_name)
33
+ config["experiment_name"] = model_object_name
34
+
35
+ config["imagery"]["rgb_fn"] = config["imagery"]["raw_fn"] = objects.path_of(
36
+ filename="raw/maxar_lahaina_8_12_2023-visual.tif",
37
+ object_name=dataset_object_name,
38
+ )
39
+
40
+ config["inference"]["output_subdir"] = objects.path_of(
41
+ filename="outputs/",
42
+ object_name=model_object_name,
43
+ )
44
+ config["inference"]["checkpoint_fn"] = objects.path_of(
45
+ filename="checkpoints/last.ckpt",
46
+ object_name=model_object_name,
47
+ )
48
+
49
+ config["infrastructure"]["container_name"] = "sandbox"
50
+ config["infrastructure"][
51
+ "storage_account"
52
+ ] = "https://kamangir.blob.core.windows.net/"
53
+ config["infrastructure"]["sas_token"] = decode_token(ENCODED_BLOB_SAS_TOKEN)
54
+ config["infrastructure"]["relative_path"] = dataset_object_name
55
+
56
+ config["labels"]["fn"] = objects.path_of(
57
+ filename="label.geojson",
58
+ object_name=dataset_object_name,
59
+ )
60
+
61
+ config["training"]["log_dir"] = objects.path_of(
62
+ filename="logs/",
63
+ object_name=model_object_name,
64
+ )
65
+ config["training"]["checkpoint_subdir"] = objects.path_of(
66
+ filename="checkpoints/",
67
+ object_name=model_object_name,
68
+ )
69
+
70
+ if not file.save_yaml(
71
+ objects.path_of(
72
+ filename="config.yml",
73
+ object_name=model_object_name,
74
+ ),
75
+ config,
76
+ ):
77
+ return False
78
+
79
+ return all(
80
+ [
81
+ mlflow.set_tags(
82
+ model_object_name,
83
+ {
84
+ "dataset": dataset_object_name,
85
+ },
86
+ ),
87
+ metadata.post_to_object(
88
+ model_object_name,
89
+ "train",
90
+ {
91
+ "dataset": dataset_object_name,
92
+ },
93
+ ),
94
+ ]
95
+ )
blue_sandbox/sample.env CHANGED
@@ -0,0 +1 @@
1
+ ENCODED_BLOB_SAS_TOKEN=value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: blue_sandbox
3
- Version: 5.61.1
3
+ Version: 5.87.1
4
4
  Summary: 🌀 A sandbox for ideas and experiments.
5
5
  Home-page: https://github.com/kamangir/blue-sandbox
6
6
  Author: Arash Abadpour (Kamangir)
@@ -13,9 +13,12 @@ Classifier: Operating System :: OS Independent
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
15
  Requires-Dist: blueness
16
+ Requires-Dist: abcli
16
17
  Requires-Dist: blue-options
17
18
  Requires-Dist: blue_objects
18
- Requires-Dist: abcli
19
+ Requires-Dist: blue_geo
20
+ Requires-Dist: blueflow
21
+ Requires-Dist: blue_plugin
19
22
  Requires-Dist: boto3
20
23
  Requires-Dist: geojson
21
24
  Requires-Dist: geopandas
@@ -28,6 +31,9 @@ Requires-Dist: pylint
28
31
  Requires-Dist: pytest
29
32
  Requires-Dist: python-dotenv[cli]
30
33
  Requires-Dist: tqdm
34
+ Requires-Dist: azure-storage-blob
35
+ Requires-Dist: fiona
36
+ Requires-Dist: tensorboard
31
37
  Dynamic: author
32
38
  Dynamic: author-email
33
39
  Dynamic: classifier
@@ -55,4 +61,4 @@ pip install blue-sandbox
55
61
 
56
62
  [![pylint](https://github.com/kamangir/blue-sandbox/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/blue-sandbox/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/blue-sandbox/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/blue-sandbox/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/blue-sandbox/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/blue-sandbox/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/blue-sandbox.svg)](https://pypi.org/project/blue-sandbox/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/blue-sandbox)](https://pypistats.org/packages/blue-sandbox)
57
63
 
58
- built by 🌀 [`blue_options-4.180.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`blue_sandbox-5.61.1`](https://github.com/kamangir/blue-sandbox).
64
+ built by 🌀 [`blue_options-4.180.1`](https://github.com/kamangir/awesome-bash-cli), based on 🌀 [`blue_sandbox-5.87.1`](https://github.com/kamangir/blue-sandbox).
@@ -1,12 +1,12 @@
1
1
  blue_sandbox/README.py,sha256=Q45yMxvgjPLPQAZCRzMQZx7Znxa0OAOaf3PZNvdaAyc,1563
2
- blue_sandbox/__init__.py,sha256=PBOIZ8-3TUnl55Va85G6Nei76QFokd4SvH4mwVsMyxM,322
2
+ blue_sandbox/__init__.py,sha256=EZzxJTfEvzoa0q1G0mM346fmyKOTcdzq4xXL-X5cBLI,322
3
3
  blue_sandbox/__main__.py,sha256=aPRHSpGpk-bDbzhHpfLNsd3y1gGEHpnhoTF-RBweNwc,361
4
4
  blue_sandbox/config.env,sha256=SHQeFdzivHKDimmTyHzVziCfAONN48DSDmc3WVG6gEw,82
5
- blue_sandbox/env.py,sha256=EkFH_CX0foWzDaZrirjJpCKu_4wuvfLGqImmqnJMejk,201
5
+ blue_sandbox/env.py,sha256=dpRUbxT2vq-9s-G5MP3IlZBdC1hFvDb7mJxzU5lUd-Q,267
6
6
  blue_sandbox/functions.py,sha256=U41kQFNPpfYV6KJpMnkqgqLkozqXiG4tgV6rj8IW1BU,7
7
7
  blue_sandbox/host.py,sha256=uJpiM105rnm6ySF16zA7waWekGBdec-dlpoRRU_QqwU,210
8
8
  blue_sandbox/logger.py,sha256=ZoFrTIfJJGNtZUm2d7lkQjdB2SPl_KBKDmHJOcIivPM,107
9
- blue_sandbox/sample.env,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ blue_sandbox/sample.env,sha256=ovfKDKAIeuqWBmMDKeAint_SKTnZuyDU1TCBZ-Y3Iqg,28
10
10
  blue_sandbox/urls.py,sha256=tIZ36ONJEoUBM-tFhOpkVhLwb1OgLegUeEaBDqW4USM,24
11
11
  blue_sandbox/.abcli/abcli.sh,sha256=xsJ4IzuQsvLZog6U8VTBFVXsEi6ADe13L8rn47XtlbU,196
12
12
  blue_sandbox/.abcli/actions.sh,sha256=vImEUI105GRcxs2mAKGMqcvoErtmOPZZ-7dfSmUUxvE,230
@@ -14,27 +14,33 @@ blue_sandbox/.abcli/aka.sh,sha256=RHDU_JbEEL2B0vvvRJ3NVSsRSEjSu09jNY85n7DLe-k,21
14
14
  blue_sandbox/.abcli/alias.sh,sha256=q8j-uG7c0ZLp5BZhBKTXyESjMa_kcEH5Mf8pX4EgC7A,118
15
15
  blue_sandbox/.abcli/blue_sandbox.sh,sha256=PGRJOgNGlC3XL5cw4ecZH40LDuc_6NVazTKhCWtZ-3g,233
16
16
  blue_sandbox/.abcli/browse.sh,sha256=f8qa4qDVts2Am6_ldDwNeJXzhBQTk9PUKl0-a9wW1ww,287
17
- blue_sandbox/.abcli/install.sh,sha256=gRbmZfSMWd7RlmQaaXqQKuzuG9EXXA4at1R3KUfQ-qU,263
17
+ blue_sandbox/.abcli/install.sh,sha256=zvl0GsHBmfw62ORmkMlhug264N_Zr8nc3rlPGFoq7Mk,125
18
18
  blue_sandbox/.abcli/microsoft_building_damage_assessment.sh,sha256=wIP7BvltFj3Gx5VmSgT6hY67K1BnubELef93HHwKOU0,470
19
19
  blue_sandbox/.abcli/microsoft_building_damage_assessment/ingest.sh,sha256=w_EUK_i4iSBpSy22TeexfF9jEAqzNwZuvjhpRraGKhA,2662
20
+ blue_sandbox/.abcli/microsoft_building_damage_assessment/install.sh,sha256=UQTjsVf-GS_Q3bhTJzj6PMDZZzTNouMVh_3kEFSl5uo,1455
20
21
  blue_sandbox/.abcli/microsoft_building_damage_assessment/label.sh,sha256=RROjENj93FhCBOkbe8K05e1fR5QNny0syobkX14rwho,795
22
+ blue_sandbox/.abcli/microsoft_building_damage_assessment/tensorboard.sh,sha256=BHdnOvorV9gjO1ET64tbLOqSGviNFR96S67XHmJz2hs,746
23
+ blue_sandbox/.abcli/microsoft_building_damage_assessment/train.sh,sha256=XyTTFB2AD7p8XT0x1vvQLwndyscGN23QEDA80wS3cjk,1970
21
24
  blue_sandbox/.abcli/microsoft_building_damage_assessment/ingest/list.sh,sha256=9bEjpbwO7Heqd-E2RTM-ck4Q39Eqsv4ged6e0WmxmSs,452
22
25
  blue_sandbox/.abcli/tests/README.sh,sha256=rmJM-BPnTcmpPbJ5GXsF8vd_a84JKryeKkZyVScUing,145
23
- blue_sandbox/.abcli/tests/help.sh,sha256=Nz7paLJB7fSthgfgBf4VGO6xcIs4Gt9OXeH-hQle_0M,434
26
+ blue_sandbox/.abcli/tests/help.sh,sha256=QeHmHpFRye7Ht7fYLAzqBo8b9OTSLBR_0qn77qrvIQU,523
24
27
  blue_sandbox/.abcli/tests/microsoft_building_damage_assessment_ingest.sh,sha256=oUUF8Kuyohxiqxo9FLY9EO0qlgkagntgfuFda6niHeM,426
25
28
  blue_sandbox/.abcli/tests/microsoft_building_damage_assessment_ingest_list.sh,sha256=5P0H-FHV7YKt1fenXAs_0cSFhJYWZ9u3LzRpfSRSptw,577
26
29
  blue_sandbox/.abcli/tests/microsoft_building_damage_assessment_label.sh,sha256=Envac5i9eGa5usDCO8MYfGFfyAZAT-f0KrrsAkaR91U,311
30
+ blue_sandbox/.abcli/tests/microsoft_building_damage_assessment_train.sh,sha256=0FlwyR1drn6wAKX9IHU_ma7WTmH1Iv8DoTNsdsyj3PA,533
27
31
  blue_sandbox/.abcli/tests/version.sh,sha256=jF8zoJN1eKE3LfDeRVG9uHEosmEVJX6RtKfdioyeN-o,150
28
32
  blue_sandbox/help/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
29
33
  blue_sandbox/help/__main__.py,sha256=3Cqp5oISrZCOUApmwoQoCj_0sQgtkiEkm_ob3LFKzRE,234
30
34
  blue_sandbox/help/functions.py,sha256=Ki0nUGyHKDo2t0WnIVzBwxEVJHyRmHh-hIRv3ohJK3c,431
31
- blue_sandbox/microsoft_building_damage_assessment/README.py,sha256=9-nfIbvfkOtFubKjuCheWZjWmjIXt559exBvLqb5x_s,1234
35
+ blue_sandbox/microsoft_building_damage_assessment/README.py,sha256=qqe1wXoc4TjKS4o3gskwNCBuX8PTVduQEAaVHeovsrE,1275
32
36
  blue_sandbox/microsoft_building_damage_assessment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- blue_sandbox/microsoft_building_damage_assessment/__main__.py,sha256=fOx7ijbm8SII94qqafU7sV6mT3MRYbq2RRvaZb4QR-E,1218
37
+ blue_sandbox/microsoft_building_damage_assessment/__main__.py,sha256=RnyXyJdLmzLzccVmb6VZvD17Dwx-g1wByDugIisoPmQ,1995
34
38
  blue_sandbox/microsoft_building_damage_assessment/ingest.py,sha256=tBchn4dWPIqArwAe8JjEM2xZZlFtrgBRDV_Ko26OEiM,639
35
39
  blue_sandbox/microsoft_building_damage_assessment/label.py,sha256=mpRNOsF8ChxSLwOyvwGmXiD7aO2xfivJPZTC5qwnLaw,823
36
- blue_sandbox-5.61.1.dist-info/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
37
- blue_sandbox-5.61.1.dist-info/METADATA,sha256=J3rNu-FENZdGbH_QQ5rKLOIrm0oaCumgzsWfu9tKJUI,2785
38
- blue_sandbox-5.61.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
39
- blue_sandbox-5.61.1.dist-info/top_level.txt,sha256=4D9Cb9QUCaqdYAmBiCwvtlaYBtUYVVxv0Sxcr_pzgS8,13
40
- blue_sandbox-5.61.1.dist-info/RECORD,,
40
+ blue_sandbox/microsoft_building_damage_assessment/sas_token.py,sha256=t6oTXc6C52CH3tFbQo2H9YUB_7upAsfUwws43Iu9pHI,214
41
+ blue_sandbox/microsoft_building_damage_assessment/train.py,sha256=8DUt0S4LuKkRIi9XpASOg5skPaM3D2VaSBg5FEn8qog,2778
42
+ blue_sandbox-5.87.1.dist-info/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
43
+ blue_sandbox-5.87.1.dist-info/METADATA,sha256=9M7nPtpmiI0fX-oeF4ZwG31fT9TnSdndE7Vyt7iB_AU,2942
44
+ blue_sandbox-5.87.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
45
+ blue_sandbox-5.87.1.dist-info/top_level.txt,sha256=4D9Cb9QUCaqdYAmBiCwvtlaYBtUYVVxv0Sxcr_pzgS8,13
46
+ blue_sandbox-5.87.1.dist-info/RECORD,,