dcicutils 8.13.3.1b23__tar.gz → 8.13.3.1b25__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/PKG-INFO +1 -1
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/misc_utils.py +5 -7
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/pyproject.toml +1 -1
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/LICENSE.txt +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/README.rst +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/__init__.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/base.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/beanstalk_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/bundle_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/captured_output.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/cloudformation_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/codebuild_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/command_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/common.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/contribution_scripts.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/contribution_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/creds_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/data_readers.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/data_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/datetime_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/deployment_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/diff_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/docker_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/ecr_scripts.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/ecr_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/ecs_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/env_base.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/env_manager.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/env_scripts.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/env_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/env_utils_legacy.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/es_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/exceptions.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/ff_mocks.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/ff_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/file_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/function_cache_decorator.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/glacier_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/hack_for_elasticsearch_numpy_usage.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/http_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/jh_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/kibana/dashboards.json +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/kibana/readme.md +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/lang_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/log_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/obfuscation_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/opensearch_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/portal_object_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/portal_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/progress_bar.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/project_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/qa_checkers.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/qa_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/redis_tools.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/redis_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/s3_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/schema_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/scripts/publish_to_pypi.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/scripts/run_license_checker.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/scripts/update_portal_object.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/scripts/view_portal_object.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/secrets_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/sheet_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/snapshot_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/ssl_certificate_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/structured_data.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/submitr/progress_constants.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/task_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/tmpfile_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/trace_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/validation_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/variant_utils.py +0 -0
- {dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/zip_utils.py +0 -0
@@ -1005,16 +1005,12 @@ _MULTIPLIER_T = 1000 * _MULTIPLIER_G
|
|
1005
1005
|
|
1006
1006
|
_MULTIPLIER_SUFFIXES = {
|
1007
1007
|
"K": _MULTIPLIER_K,
|
1008
|
-
"Kb": _MULTIPLIER_K,
|
1009
1008
|
"KB": _MULTIPLIER_K,
|
1010
1009
|
"M": _MULTIPLIER_M,
|
1011
|
-
"Mb": _MULTIPLIER_M,
|
1012
1010
|
"MB": _MULTIPLIER_M,
|
1013
1011
|
"G": _MULTIPLIER_G,
|
1014
|
-
"Gb": _MULTIPLIER_G,
|
1015
1012
|
"GB": _MULTIPLIER_G,
|
1016
1013
|
"T": _MULTIPLIER_T,
|
1017
|
-
"Tb": _MULTIPLIER_T,
|
1018
1014
|
"TB": _MULTIPLIER_T
|
1019
1015
|
}
|
1020
1016
|
|
@@ -1051,8 +1047,9 @@ def to_number(value: str,
|
|
1051
1047
|
return fallback
|
1052
1048
|
|
1053
1049
|
if allow_multiplier_suffix is True:
|
1050
|
+
value_upper = value.upper()
|
1054
1051
|
for suffix in _MULTIPLIER_SUFFIXES:
|
1055
|
-
if
|
1052
|
+
if value_upper.endswith(suffix):
|
1056
1053
|
value_multiplier *= _MULTIPLIER_SUFFIXES[suffix]
|
1057
1054
|
if not (value := value[:-len(suffix)].strip()):
|
1058
1055
|
return fallback
|
@@ -1062,7 +1059,6 @@ def to_number(value: str,
|
|
1062
1059
|
if (dot_index := value.rfind(".")) >= 0:
|
1063
1060
|
if value_fraction := value[dot_index + 1:].strip():
|
1064
1061
|
try:
|
1065
|
-
# value_fraction = float(f"0.{value_fraction}")
|
1066
1062
|
value_fraction = float(f"0.{value_fraction}")
|
1067
1063
|
except Exception:
|
1068
1064
|
return fallback
|
@@ -1109,12 +1105,14 @@ def to_boolean(value: str, fallback: Optional[Any]) -> Optional[Any]:
|
|
1109
1105
|
return fallback
|
1110
1106
|
|
1111
1107
|
|
1112
|
-
def to_enum(value: str, enumerators: List[str]) -> Optional[str]:
|
1108
|
+
def to_enum(value: str, enumerators: List[str], fuzzy: bool = False) -> Optional[str]:
|
1113
1109
|
matches = []
|
1114
1110
|
if isinstance(value, str) and (value := value.strip()) and isinstance(enumerators, List):
|
1115
1111
|
enum_specifiers = {str(enum).lower(): enum for enum in enumerators}
|
1116
1112
|
if (enum_value := enum_specifiers.get(lower_value := value.lower())) is not None:
|
1117
1113
|
return enum_value
|
1114
|
+
if fuzzy is not True:
|
1115
|
+
return value
|
1118
1116
|
for enum_canonical, _ in enum_specifiers.items():
|
1119
1117
|
if enum_canonical.startswith(lower_value):
|
1120
1118
|
matches.append(enum_canonical)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "dcicutils"
|
3
|
-
version = "8.13.3.
|
3
|
+
version = "8.13.3.1b25" # TODO: To become 8.14.0
|
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
|
{dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/hack_for_elasticsearch_numpy_usage.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/c4-infrastructure.jsonc
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/dcicutils/license_policies/park-lab-common.jsonc
RENAMED
File without changes
|
File without changes
|
{dcicutils-8.13.3.1b23 → dcicutils-8.13.3.1b25}/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
|
File without changes
|