dcicutils 8.8.3.1b24__tar.gz → 8.8.3.1b27__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/PKG-INFO +1 -1
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/progress_bar.py +21 -14
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/pyproject.toml +1 -1
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/LICENSE.txt +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/README.rst +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/__init__.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/base.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/beanstalk_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/bundle_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/captured_output.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/cloudformation_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/codebuild_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/command_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/common.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/contribution_scripts.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/contribution_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/creds_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/data_readers.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/data_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/datetime_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/deployment_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/diff_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/docker_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/ecr_scripts.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/ecr_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/ecs_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/env_base.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/env_manager.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/env_scripts.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/env_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/env_utils_legacy.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/es_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/exceptions.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/ff_mocks.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/ff_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/file_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/function_cache_decorator.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/glacier_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/jh_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/kibana/dashboards.json +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/kibana/readme.md +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/lang_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/log_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/misc_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/obfuscation_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/opensearch_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/portal_object_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/portal_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/project_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/qa_checkers.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/qa_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/redis_tools.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/redis_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/s3_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/schema_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/scripts/publish_to_pypi.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/scripts/run_license_checker.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/scripts/view_portal_object.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/secrets_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/sheet_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/snapshot_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/ssl_certificate_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/structured_data.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/submitr/progress_constants.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/task_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/tmpfile_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/trace_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/validation_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/variant_utils.py +0 -0
- {dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/zip_utils.py +0 -0
@@ -133,7 +133,7 @@ class ProgressBar:
|
|
133
133
|
if not _norefresh:
|
134
134
|
self._bar.refresh()
|
135
135
|
|
136
|
-
def increment_progress(self, value: int) -> None:
|
136
|
+
def increment_progress(self, value: int = 1) -> None:
|
137
137
|
if isinstance(value, int) and value > 0:
|
138
138
|
if (self._bar is not None) or self._initialize():
|
139
139
|
self._bar.update(value)
|
@@ -300,12 +300,11 @@ class ProgressBar:
|
|
300
300
|
return
|
301
301
|
if sentinel_internal in text:
|
302
302
|
spinc = spina[spini % spinn] if not ("100%|" in text) else "✓"
|
303
|
-
if last_spin_change_time is None or ((now - last_spin_change_time) >= 0.
|
303
|
+
if last_spin_change_time is None or ((now - last_spin_change_time) >= 0.06):
|
304
304
|
spini += 1
|
305
305
|
last_spin_change_time = now
|
306
306
|
text = replace_first(text, sentinel_internal, f" {spinc}")
|
307
307
|
text = replace_first(text, "%|", "% ◀|")
|
308
|
-
text = remove_extra_trailing_spaces(text) + f"{spinc} "
|
309
308
|
# Another oddity: for the rate sometimes tqdm intermittently prints
|
310
309
|
# something like "1.54s/" rather than "1.54/s"; something to do with
|
311
310
|
# the unit we gave, which is empty; idunno; just replace it here.
|
@@ -324,9 +323,6 @@ class ProgressBar:
|
|
324
323
|
# This function obviously has intimate knowledge of the output; better here than in tests.
|
325
324
|
def replace_time_dependent_values_with_static(text: str) -> str:
|
326
325
|
blocks = "\u2587|\u2588|\u2589|\u258a|\u258b|\u258c|\u258d|\u258e|\u258f"
|
327
|
-
if text.endswith("| "):
|
328
|
-
# In case "|" is in the trailing spinner it messes up regex below.
|
329
|
-
text = set_nth(text, len(text) - 2, "-")
|
330
326
|
if (n := find_nth_from_end(text, "|", 5)) >= 8:
|
331
327
|
pattern = re.compile(
|
332
328
|
rf"(\s*)(\d*%? ◀\|)(?:\s*{blocks}|#)*\s*(\|\s*\d+/\d+)?(\s*\|\s*)"
|
@@ -349,14 +345,25 @@ class ProgressBar:
|
|
349
345
|
# Fun with ASCII spinner characters.
|
350
346
|
# Dots borrowed from "rich" python package (others: ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏).
|
351
347
|
# Others: "◴◷◶◵" "◰◳◲◱" "◡⊙◠" "⠁⠂⠄⡀⢀⠠⠐⠈" "▁▃▄▅▆▇█▇▆▅▄▃" "◢◣◤◥" "◐◓◑◒" "✶✸✹✺✹✷" "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏"
|
352
|
-
spinner_chars_a = "⣾⣽⣻⢿⡿⣟⣯⣷"
|
353
|
-
spinner_chars_b = "
|
354
|
-
spinner_chars_c = "
|
355
|
-
spinner_chars_d = "
|
356
|
-
spinner_chars_e = "
|
357
|
-
|
358
|
-
|
359
|
-
|
348
|
+
spinner_chars_a = list("⣾⣽⣻⢿⡿⣟⣯⣷"[::-1]) * 8
|
349
|
+
spinner_chars_b = list("⠋⠙⠹⠸⢰⣰⣠⣄⣆⡆⡖⠖⠚⠙⠋⠏⠇⡆⣆⣄⣠⣰⢰⢲⠲")
|
350
|
+
spinner_chars_c = list("⣀⣤⣶⣿⣶⣤")
|
351
|
+
spinner_chars_d = list("⡀⡄⡆⠇⠋⠙⠸⢰⢠⢀⢠⢰⠸⠙⠋⠇⡆⡄")
|
352
|
+
spinner_chars_e = list("⠀⡀⠄⠂⠁⠈⠐⠠⢀⣀⢄⢂⢁⢈⢐⢠⣠⢤⢢⢡⢨⢰⣰⢴⢲⢱⢸⣸⢼⢺⢹⣹⢽⢻⣻⢿⣿⣶⣤⣀")
|
353
|
+
spinner_chars_f = list("⠉⠒⠤⣀⠤⠒")
|
354
|
+
spinner_chars_g = list("⠋⠙⠹⠸⢰⣰⣠⣄⣆⡆⠇⠏")
|
355
|
+
spinner_chars_h = list("⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⢤⣠⣀⢀⢀⣀⣠⢤⠤⠄⠄⠤⠴⠲⠒⠂⠂⠒⠚⠙⠉⠁")
|
356
|
+
spinner_chars_i = list("◐◓◑◒")
|
357
|
+
spinner_chars_j = list("|/—*—\\")
|
358
|
+
return (spinner_chars_a + (spinner_chars_b * 2) +
|
359
|
+
spinner_chars_a + (spinner_chars_c * 4) +
|
360
|
+
spinner_chars_a + (spinner_chars_d * 2) +
|
361
|
+
spinner_chars_a + (spinner_chars_e * 2) +
|
362
|
+
spinner_chars_a + (spinner_chars_f * 4) +
|
363
|
+
spinner_chars_a + (spinner_chars_g * 5) +
|
364
|
+
spinner_chars_a + (spinner_chars_h * 2) +
|
365
|
+
spinner_chars_a + (spinner_chars_i * 5) +
|
366
|
+
spinner_chars_a + (spinner_chars_j * 4))
|
360
367
|
sys.stdout.write = tidy_stdout_write
|
361
368
|
spina = ascii_spinners() ; spini = 0 ; spinn = len(spina) # noqa
|
362
369
|
sentinel = "[progress]" ; sentinel_internal = f"{sentinel}:" # noqa
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "dcicutils"
|
3
|
-
version = "8.8.3.
|
3
|
+
version = "8.8.3.1b27" # TODO: To become 8.8.4
|
4
4
|
description = "Utility package for interacting with the 4DN Data Portal and other 4DN resources"
|
5
5
|
authors = ["4DN-DCIC Team <support@4dnucleome.org>"]
|
6
6
|
license = "MIT"
|
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
|
{dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/c4-infrastructure.jsonc
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-common.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.3.1b24 → dcicutils-8.8.3.1b27}/dcicutils/license_policies/park-lab-pipeline.jsonc
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
|