pythagoras 0.25.7__tar.gz → 0.25.9__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.7 → pythagoras-0.25.9}/PKG-INFO +7 -4
  2. {pythagoras-0.25.7 → pythagoras-0.25.9}/README.md +6 -3
  3. {pythagoras-0.25.7 → pythagoras-0.25.9}/pyproject.toml +1 -1
  4. pythagoras-0.25.9/src/pythagoras/.DS_Store +0 -0
  5. {pythagoras-0.25.7/src/pythagoras/_040_logging_code_portals → pythagoras-0.25.9/src/pythagoras/_010_basic_portals}/.DS_Store +0 -0
  6. {pythagoras-0.25.7/src/pythagoras/_050_safe_code_portals → pythagoras-0.25.9/src/pythagoras/_020_ordinary_code_portals}/.DS_Store +0 -0
  7. {pythagoras-0.25.7/src/pythagoras/_080_pure_code_portals → pythagoras-0.25.9/src/pythagoras/_030_data_portals}/.DS_Store +0 -0
  8. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_080_pure_code_portals/recursion_pre_validator.py +5 -9
  9. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/__init__.py +4 -1
  10. pythagoras-0.25.7/src/pythagoras/.DS_Store +0 -0
  11. pythagoras-0.25.7/src/pythagoras/_010_basic_portals/.DS_Store +0 -0
  12. pythagoras-0.25.7/src/pythagoras/_020_ordinary_code_portals/.DS_Store +0 -0
  13. pythagoras-0.25.7/src/pythagoras/_030_data_portals/.DS_Store +0 -0
  14. pythagoras-0.25.7/src/pythagoras/_060_autonomous_code_portals/.DS_Store +0 -0
  15. pythagoras-0.25.7/src/pythagoras/_070_protected_code_portals/.DS_Store +0 -0
  16. pythagoras-0.25.7/src/pythagoras/_090_swarming_portals/.DS_Store +0 -0
  17. pythagoras-0.25.7/src/pythagoras/_100_top_level_API/.DS_Store +0 -0
  18. pythagoras-0.25.7/src/pythagoras/_800_signatures_and_converters/.DS_Store +0 -0
  19. pythagoras-0.25.7/src/pythagoras/_900_project_stats_collector/.DS_Store +0 -0
  20. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_010_basic_portals/__init__.py +0 -0
  21. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_010_basic_portals/basic_portal_core_classes.py +0 -0
  22. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_010_basic_portals/long_infoname.py +0 -0
  23. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_010_basic_portals/portal_tester.py +0 -0
  24. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_010_basic_portals/post_init_metaclass.py +0 -0
  25. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_020_ordinary_code_portals/__init__.py +0 -0
  26. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_020_ordinary_code_portals/code_normalizer.py +0 -0
  27. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_020_ordinary_code_portals/exceptions.py +0 -0
  28. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_020_ordinary_code_portals/function_processing.py +0 -0
  29. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_020_ordinary_code_portals/ordinary_decorator.py +0 -0
  30. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_020_ordinary_code_portals/ordinary_portal_core_classes.py +0 -0
  31. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_030_data_portals/__init__.py +0 -0
  32. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_030_data_portals/data_portal_core_classes.py +0 -0
  33. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_030_data_portals/ready_and_get.py +0 -0
  34. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_030_data_portals/storable_decorator.py +0 -0
  35. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/__init__.py +0 -0
  36. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/exception_processing_tracking.py +0 -0
  37. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/execution_environment_summary.py +0 -0
  38. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/kw_args.py +0 -0
  39. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/logging_decorator.py +0 -0
  40. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/logging_portal_core_classes.py +0 -0
  41. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/notebook_checker.py +0 -0
  42. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/output_capturer.py +0 -0
  43. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_040_logging_code_portals/uncaught_exceptions.py +0 -0
  44. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_050_safe_code_portals/__init__.py +0 -0
  45. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_050_safe_code_portals/safe_decorator.py +0 -0
  46. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_050_safe_code_portals/safe_portal_core_classes.py +0 -0
  47. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_060_autonomous_code_portals/__init__.py +0 -0
  48. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_060_autonomous_code_portals/autonomous_decorators.py +0 -0
  49. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_060_autonomous_code_portals/autonomous_portal_core_classes.py +0 -0
  50. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_060_autonomous_code_portals/names_usage_analyzer.py +0 -0
  51. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/__init__.py +0 -0
  52. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/basic_pre_validators.py +0 -0
  53. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/fn_arg_names_checker.py +0 -0
  54. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/list_flattener.py +0 -0
  55. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/package_manager.py +0 -0
  56. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/protected_decorators.py +0 -0
  57. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/protected_portal_core_classes.py +0 -0
  58. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/system_utils.py +0 -0
  59. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_070_protected_code_portals/validation_succesful_const.py +0 -0
  60. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_080_pure_code_portals/__init__.py +0 -0
  61. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_080_pure_code_portals/pure_core_classes.py +0 -0
  62. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_080_pure_code_portals/pure_decorator.py +0 -0
  63. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_090_swarming_portals/__init__.py +0 -0
  64. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_090_swarming_portals/output_suppressor.py +0 -0
  65. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_090_swarming_portals/swarming_portals.py +0 -0
  66. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_100_top_level_API/__init__.py +0 -0
  67. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_100_top_level_API/default_local_portal.py +0 -0
  68. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_100_top_level_API/top_level_API.py +0 -0
  69. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_800_signatures_and_converters/__init__.py +0 -0
  70. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_800_signatures_and_converters/base_16_32_convertors.py +0 -0
  71. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_800_signatures_and_converters/current_date_gmt_str.py +0 -0
  72. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_800_signatures_and_converters/hash_signatures.py +0 -0
  73. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_800_signatures_and_converters/node_signature.py +0 -0
  74. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_800_signatures_and_converters/random_signatures.py +0 -0
  75. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_900_project_stats_collector/__init__.py +0 -0
  76. {pythagoras-0.25.7 → pythagoras-0.25.9}/src/pythagoras/_900_project_stats_collector/project_analyzer.py +0 -0
  77. {pythagoras-0.25.7 → pythagoras-0.25.9}/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.7
3
+ Version: 0.25.9
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
@@ -57,9 +57,12 @@ Description-Content-Type: text/markdown
57
57
  # Pythagoras
58
58
 
59
59
  [![PyPI version](https://img.shields.io/pypi/v/Pythagoras.svg)](https://pypi.org/project/Pythagoras/)
60
- [![Python versions](https://img.shields.io/pypi/pyversions/Pythagoras.svg)](https://pypi.org/project/Pythagoras/)
61
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
62
- [![Downloads](https://static.pepy.tech/badge/Pythagoras)](https://pepy.tech/project/Pythagoras)
60
+ [![Python versions](https://img.shields.io/pypi/pyversions/Pythagoras.svg)](https://github.com/pythagoras-dev/Pythagoras)
61
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
62
+ [![Downloads](https://img.shields.io/pypi/dm/Pythagoras?color=blue)](https://pypistats.org/packages/pythagoras)
63
+ [![Code style: pep8](https://img.shields.io/badge/code_style-pep8-blue.svg)](https://peps.python.org/pep-0008/)
64
+ [![Docstring Style: Google](https://img.shields.io/badge/docstrings_style-Google-blue)](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
65
+
63
66
 
64
67
 
65
68
  Planet-scale distributed computing in Python.
@@ -1,9 +1,12 @@
1
1
  # Pythagoras
2
2
 
3
3
  [![PyPI version](https://img.shields.io/pypi/v/Pythagoras.svg)](https://pypi.org/project/Pythagoras/)
4
- [![Python versions](https://img.shields.io/pypi/pyversions/Pythagoras.svg)](https://pypi.org/project/Pythagoras/)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
6
- [![Downloads](https://static.pepy.tech/badge/Pythagoras)](https://pepy.tech/project/Pythagoras)
4
+ [![Python versions](https://img.shields.io/pypi/pyversions/Pythagoras.svg)](https://github.com/pythagoras-dev/Pythagoras)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
+ [![Downloads](https://img.shields.io/pypi/dm/Pythagoras?color=blue)](https://pypistats.org/packages/pythagoras)
7
+ [![Code style: pep8](https://img.shields.io/badge/code_style-pep8-blue.svg)](https://peps.python.org/pep-0008/)
8
+ [![Docstring Style: Google](https://img.shields.io/badge/docstrings_style-Google-blue)](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
9
+
7
10
 
8
11
 
9
12
  Planet-scale distributed computing in Python.
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "pythagoras"
7
- version = "0.25.7"
7
+ version = "0.25.9"
8
8
  authors = [
9
9
  {name = "Volodymyr (Vlad) Pavlov", email = "vlpavlov@ieee.org"},
10
10
  ]
@@ -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
 
@@ -33,6 +33,9 @@ from ._100_top_level_API import *
33
33
  from ._800_signatures_and_converters import *
34
34
 
35
35
  from importlib import metadata as _md
36
- __version__ = _md.version("pythagoras")
36
+ try:
37
+ __version__ = _md.version("pythagoras")
38
+ except _md.PackageNotFoundError:
39
+ __version__ = "unknown"
37
40
 
38
41
 
Binary file