pythagoras 0.25.5__tar.gz → 0.25.6__tar.gz

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.
Files changed (77) hide show
  1. {pythagoras-0.25.5 → pythagoras-0.25.6}/PKG-INFO +5 -1
  2. {pythagoras-0.25.5 → pythagoras-0.25.6}/pyproject.toml +5 -1
  3. pythagoras-0.25.6/src/pythagoras/.DS_Store +0 -0
  4. {pythagoras-0.25.5/src/pythagoras/_040_logging_code_portals → pythagoras-0.25.6/src/pythagoras/_010_basic_portals}/.DS_Store +0 -0
  5. {pythagoras-0.25.5/src/pythagoras/_050_safe_code_portals → pythagoras-0.25.6/src/pythagoras/_020_ordinary_code_portals}/.DS_Store +0 -0
  6. {pythagoras-0.25.5/src/pythagoras/_080_pure_code_portals → pythagoras-0.25.6/src/pythagoras/_030_data_portals}/.DS_Store +0 -0
  7. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_080_pure_code_portals/recursion_pre_validator.py +5 -9
  8. pythagoras-0.25.5/src/pythagoras/.DS_Store +0 -0
  9. pythagoras-0.25.5/src/pythagoras/_010_basic_portals/.DS_Store +0 -0
  10. pythagoras-0.25.5/src/pythagoras/_020_ordinary_code_portals/.DS_Store +0 -0
  11. pythagoras-0.25.5/src/pythagoras/_030_data_portals/.DS_Store +0 -0
  12. pythagoras-0.25.5/src/pythagoras/_060_autonomous_code_portals/.DS_Store +0 -0
  13. pythagoras-0.25.5/src/pythagoras/_070_protected_code_portals/.DS_Store +0 -0
  14. pythagoras-0.25.5/src/pythagoras/_090_swarming_portals/.DS_Store +0 -0
  15. pythagoras-0.25.5/src/pythagoras/_100_top_level_API/.DS_Store +0 -0
  16. pythagoras-0.25.5/src/pythagoras/_800_signatures_and_converters/.DS_Store +0 -0
  17. pythagoras-0.25.5/src/pythagoras/_900_project_stats_collector/.DS_Store +0 -0
  18. {pythagoras-0.25.5 → pythagoras-0.25.6}/README.md +0 -0
  19. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_010_basic_portals/__init__.py +0 -0
  20. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_010_basic_portals/basic_portal_core_classes.py +0 -0
  21. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_010_basic_portals/long_infoname.py +0 -0
  22. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_010_basic_portals/portal_tester.py +0 -0
  23. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_010_basic_portals/post_init_metaclass.py +0 -0
  24. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_020_ordinary_code_portals/__init__.py +0 -0
  25. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_020_ordinary_code_portals/code_normalizer.py +0 -0
  26. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_020_ordinary_code_portals/exceptions.py +0 -0
  27. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_020_ordinary_code_portals/function_processing.py +0 -0
  28. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_020_ordinary_code_portals/ordinary_decorator.py +0 -0
  29. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_020_ordinary_code_portals/ordinary_portal_core_classes.py +0 -0
  30. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_030_data_portals/__init__.py +0 -0
  31. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_030_data_portals/data_portal_core_classes.py +0 -0
  32. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_030_data_portals/ready_and_get.py +0 -0
  33. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_030_data_portals/storable_decorator.py +0 -0
  34. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/__init__.py +0 -0
  35. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/exception_processing_tracking.py +0 -0
  36. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/execution_environment_summary.py +0 -0
  37. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/kw_args.py +0 -0
  38. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/logging_decorator.py +0 -0
  39. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/logging_portal_core_classes.py +0 -0
  40. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/notebook_checker.py +0 -0
  41. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/output_capturer.py +0 -0
  42. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_040_logging_code_portals/uncaught_exceptions.py +0 -0
  43. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_050_safe_code_portals/__init__.py +0 -0
  44. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_050_safe_code_portals/safe_decorator.py +0 -0
  45. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_050_safe_code_portals/safe_portal_core_classes.py +0 -0
  46. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_060_autonomous_code_portals/__init__.py +0 -0
  47. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_060_autonomous_code_portals/autonomous_decorators.py +0 -0
  48. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_060_autonomous_code_portals/autonomous_portal_core_classes.py +0 -0
  49. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_060_autonomous_code_portals/names_usage_analyzer.py +0 -0
  50. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/__init__.py +0 -0
  51. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/basic_pre_validators.py +0 -0
  52. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/fn_arg_names_checker.py +0 -0
  53. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/list_flattener.py +0 -0
  54. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/package_manager.py +0 -0
  55. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/protected_decorators.py +0 -0
  56. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/protected_portal_core_classes.py +0 -0
  57. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/system_utils.py +0 -0
  58. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_070_protected_code_portals/validation_succesful_const.py +0 -0
  59. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_080_pure_code_portals/__init__.py +0 -0
  60. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_080_pure_code_portals/pure_core_classes.py +0 -0
  61. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_080_pure_code_portals/pure_decorator.py +0 -0
  62. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_090_swarming_portals/__init__.py +0 -0
  63. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_090_swarming_portals/output_suppressor.py +0 -0
  64. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_090_swarming_portals/swarming_portals.py +0 -0
  65. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_100_top_level_API/__init__.py +0 -0
  66. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_100_top_level_API/default_local_portal.py +0 -0
  67. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_100_top_level_API/top_level_API.py +0 -0
  68. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_800_signatures_and_converters/__init__.py +0 -0
  69. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_800_signatures_and_converters/base_16_32_convertors.py +0 -0
  70. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_800_signatures_and_converters/current_date_gmt_str.py +0 -0
  71. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_800_signatures_and_converters/hash_signatures.py +0 -0
  72. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_800_signatures_and_converters/node_signature.py +0 -0
  73. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_800_signatures_and_converters/random_signatures.py +0 -0
  74. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_900_project_stats_collector/__init__.py +0 -0
  75. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/_900_project_stats_collector/project_analyzer.py +0 -0
  76. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/__init__.py +0 -0
  77. {pythagoras-0.25.5 → pythagoras-0.25.6}/src/pythagoras/core/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pythagoras
3
- Version: 0.25.5
3
+ Version: 0.25.6
4
4
  Summary: Planet-scale distributed computing in Python.
5
5
  Keywords: cloud,ML,AI,serverless,distributed,parallel,machine-learning,deep-learning,pythagoras
6
6
  Author: Volodymyr (Vlad) Pavlov
@@ -10,6 +10,10 @@ Classifier: Intended Audience :: Developers
10
10
  Classifier: Intended Audience :: Science/Research
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
13
17
  Classifier: License :: OSI Approved :: MIT License
14
18
  Classifier: Operating System :: OS Independent
15
19
  Classifier: Topic :: Scientific/Engineering
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "pythagoras"
7
- version = "0.25.5"
7
+ version = "0.25.6"
8
8
  authors = [
9
9
  {name = "Volodymyr (Vlad) Pavlov", email = "vlpavlov@ieee.org"},
10
10
  ]
@@ -17,6 +17,10 @@ classifiers = [
17
17
  "Intended Audience :: Science/Research",
18
18
  "Programming Language :: Python",
19
19
  "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
20
24
  "License :: OSI Approved :: MIT License",
21
25
  "Operating System :: OS Independent",
22
26
  "Topic :: Scientific/Engineering",
@@ -50,17 +50,12 @@ def _recursion_pre_validator(
50
50
  raise TypeError(f"Parameter '{param_name}' must be int, got {type(param_value).__name__}")
51
51
  if param_value < 0:
52
52
  raise ValueError(f"Parameter '{param_name}' must be non-negative, got {param_value}")
53
- if param_value in {0,1,2,3,4}:
53
+ if param_value in {0,1}:
54
54
  return pth.VALIDATION_SUCCESSFUL
55
- unpacked_kwargs[param_name] = param_value - 1
56
- result_addr = pth.PureFnExecutionResultAddr(
57
- fn=fn, arguments=unpacked_kwargs)
58
- if result_addr.ready:
59
- return pth.VALIDATION_SUCCESSFUL
60
- result = result_addr.call_signature
61
-
55
+
62
56
  # Binary search to find the smallest n where result_addr.ready is not True
63
- left, right = 2, param_value - 2
57
+ left, right = 2, param_value - 1
58
+ result = pth.VALIDATION_SUCCESSFUL # Default result if all are ready
64
59
 
65
60
  while left <= right:
66
61
  mid = (left + right) // 2
@@ -77,6 +72,7 @@ def _recursion_pre_validator(
77
72
  # Result is ready, search in the right half
78
73
  left = mid + 1
79
74
 
75
+
80
76
  return result
81
77
 
82
78
 
Binary file
File without changes