dcicutils 8.13.3.1b22__tar.gz → 8.13.3.1b23__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/PKG-INFO +1 -1
  2. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/misc_utils.py +14 -7
  3. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/structured_data.py +2 -2
  4. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/pyproject.toml +1 -1
  5. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/LICENSE.txt +0 -0
  6. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/README.rst +0 -0
  7. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/__init__.py +0 -0
  8. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/base.py +0 -0
  9. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/beanstalk_utils.py +0 -0
  10. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/bundle_utils.py +0 -0
  11. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/captured_output.py +0 -0
  12. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/cloudformation_utils.py +0 -0
  13. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/codebuild_utils.py +0 -0
  14. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/command_utils.py +0 -0
  15. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/common.py +0 -0
  16. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/contribution_scripts.py +0 -0
  17. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/contribution_utils.py +0 -0
  18. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/creds_utils.py +0 -0
  19. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/data_readers.py +0 -0
  20. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/data_utils.py +0 -0
  21. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/datetime_utils.py +0 -0
  22. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/deployment_utils.py +0 -0
  23. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/diff_utils.py +0 -0
  24. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/docker_utils.py +0 -0
  25. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/ecr_scripts.py +0 -0
  26. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/ecr_utils.py +0 -0
  27. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/ecs_utils.py +0 -0
  28. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/env_base.py +0 -0
  29. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/env_manager.py +0 -0
  30. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/env_scripts.py +0 -0
  31. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/env_utils.py +0 -0
  32. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/env_utils_legacy.py +0 -0
  33. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/es_utils.py +0 -0
  34. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/exceptions.py +0 -0
  35. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/ff_mocks.py +0 -0
  36. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/ff_utils.py +0 -0
  37. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/file_utils.py +0 -0
  38. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/function_cache_decorator.py +0 -0
  39. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/glacier_utils.py +0 -0
  40. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/hack_for_elasticsearch_numpy_usage.py +0 -0
  41. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/http_utils.py +0 -0
  42. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/jh_utils.py +0 -0
  43. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/kibana/dashboards.json +0 -0
  44. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/kibana/readme.md +0 -0
  45. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/lang_utils.py +0 -0
  46. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
  47. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
  48. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
  49. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
  50. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
  51. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
  52. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/license_utils.py +0 -0
  53. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/log_utils.py +0 -0
  54. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/obfuscation_utils.py +0 -0
  55. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/opensearch_utils.py +0 -0
  56. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/portal_object_utils.py +0 -0
  57. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/portal_utils.py +0 -0
  58. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/progress_bar.py +0 -0
  59. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/project_utils.py +0 -0
  60. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/qa_checkers.py +0 -0
  61. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/qa_utils.py +0 -0
  62. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/redis_tools.py +0 -0
  63. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/redis_utils.py +0 -0
  64. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/s3_utils.py +0 -0
  65. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/schema_utils.py +0 -0
  66. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/scripts/publish_to_pypi.py +0 -0
  67. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/scripts/run_license_checker.py +0 -0
  68. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/scripts/update_portal_object.py +0 -0
  69. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/scripts/view_portal_object.py +0 -0
  70. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/secrets_utils.py +0 -0
  71. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/sheet_utils.py +0 -0
  72. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/snapshot_utils.py +0 -0
  73. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/ssl_certificate_utils.py +0 -0
  74. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/submitr/progress_constants.py +0 -0
  75. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
  76. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/task_utils.py +0 -0
  77. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/tmpfile_utils.py +0 -0
  78. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/trace_utils.py +0 -0
  79. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/validation_utils.py +0 -0
  80. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/variant_utils.py +0 -0
  81. {dcicutils-8.13.3.1b22 → dcicutils-8.13.3.1b23}/dcicutils/zip_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.13.3.1b22
3
+ Version: 8.13.3.1b23
4
4
  Summary: Utility package for interacting with the 4DN Data Portal and other 4DN resources
5
5
  Home-page: https://github.com/4dn-dcic/utils
6
6
  License: MIT
@@ -1022,17 +1022,17 @@ _MULTIPLIER_SUFFIXES = {
1022
1022
  def to_number(value: str,
1023
1023
  allow_commas: bool = False,
1024
1024
  allow_multiplier_suffix: bool = False,
1025
- as_float: bool = False,
1025
+ allow_float: bool = False,
1026
1026
  fallback: Optional[Union[int, float]] = None) -> Optional[Union[int, float]]:
1027
1027
 
1028
1028
  """
1029
- Converts the give string value to an int, or float if as_float is True.
1029
+ Converts the give string value to an int, or possibly float if allow_float is True.
1030
1030
  If allow_commas is True (default: False) then allow commas (only) every three digits.
1031
1031
  If allow_multiplier_suffix is True (default: False) allow any of K, Kb, KB; or M, Mb, MB;
1032
1032
  or G, Gb, or GB; or T, Tb, TB, to mean multiply value by one thousand; one million;
1033
- one billion; or one trillion; respectively. If as_float is True (default: False)
1033
+ one billion; or one trillion; respectively. If allow_float is True (default: False)
1034
1034
  allow the value to be floating point (i.e. with a decimal point and a fractional part),
1035
- in which case the returned value will be of type float rather than int.
1035
+ in which case the returned value will be of type float, if it needs to be, and not int.
1036
1036
  If the string is not well formated then returns None.
1037
1037
  """
1038
1038
  if not (isinstance(value, str) and (value := value.strip())):
@@ -1058,10 +1058,11 @@ def to_number(value: str,
1058
1058
  return fallback
1059
1059
  break
1060
1060
 
1061
- if as_float is True:
1061
+ if allow_float is True:
1062
1062
  if (dot_index := value.rfind(".")) >= 0:
1063
1063
  if value_fraction := value[dot_index + 1:].strip():
1064
1064
  try:
1065
+ # value_fraction = float(f"0.{value_fraction}")
1065
1066
  value_fraction = float(f"0.{value_fraction}")
1066
1067
  except Exception:
1067
1068
  return fallback
@@ -1075,15 +1076,21 @@ def to_number(value: str,
1075
1076
  if not value.isdigit():
1076
1077
  return fallback
1077
1078
 
1078
- result = int(value) * value_multiplier
1079
+ result = int(value)
1079
1080
 
1080
1081
  if value_fraction:
1081
1082
  result += value_fraction
1082
1083
 
1084
+ result *= value_multiplier
1085
+
1083
1086
  if value_negative:
1084
1087
  result = -result
1085
1088
 
1086
- return float(result) if as_float is True else result
1089
+ if allow_float is True:
1090
+ if result == int(result):
1091
+ result = int(result)
1092
+
1093
+ return result
1087
1094
 
1088
1095
 
1089
1096
  def to_float(value: str, fallback: Optional[Any] = None) -> Optional[Any]:
@@ -727,7 +727,7 @@ class Schema(SchemaBase):
727
727
  allow_multiplier_suffix = typeinfo.get("allow_multiplier_suffix") is True
728
728
  def map_integer(value: str, src: Optional[str]) -> Any: # noqa
729
729
  nonlocal allow_commas, allow_multiplier_suffix
730
- return to_number(value, fallback=value, as_float=False,
730
+ return to_number(value, fallback=value, allow_float=False,
731
731
  allow_commas=allow_commas,
732
732
  allow_multiplier_suffix=allow_multiplier_suffix)
733
733
  return map_integer
@@ -737,7 +737,7 @@ class Schema(SchemaBase):
737
737
  allow_multiplier_suffix = typeinfo.get("allow_multiplier_suffix") is True
738
738
  def map_number(value: str, src: Optional[str]) -> Any: # noqa
739
739
  nonlocal allow_commas, allow_multiplier_suffix
740
- return to_number(value, fallback=value, as_float=True,
740
+ return to_number(value, fallback=value, allow_float=True,
741
741
  allow_commas=allow_commas,
742
742
  allow_multiplier_suffix=allow_multiplier_suffix)
743
743
  return map_number
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dcicutils"
3
- version = "8.13.3.1b22" # TODO: To become 8.14.0
3
+ version = "8.13.3.1b23" # 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"