pythagoras 0.25.3__tar.gz → 0.25.4__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.
- {pythagoras-0.25.3 → pythagoras-0.25.4}/PKG-INFO +17 -16
- {pythagoras-0.25.3 → pythagoras-0.25.4}/README.md +16 -15
- {pythagoras-0.25.3 → pythagoras-0.25.4}/pyproject.toml +1 -1
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/.DS_Store +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/.DS_Store +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/basic_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/long_infoname.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/portal_tester.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/post_init_metaclass.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/.DS_Store +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/code_normalizer.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/exceptions.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/function_processing.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/ordinary_decorator.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/ordinary_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/.DS_Store +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/data_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/ready_and_get.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/storable_decorator.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/exception_processing_tracking.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/execution_environment_summary.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/kw_args.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/logging_decorator.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/logging_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/notebook_checker.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/output_capturer.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/uncaught_exceptions.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_050_safe_code_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_050_safe_code_portals/safe_decorator.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_050_safe_code_portals/safe_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_060_autonomous_code_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_060_autonomous_code_portals/autonomous_decorators.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_060_autonomous_code_portals/autonomous_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_060_autonomous_code_portals/names_usage_analyzer.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/basic_pre_validators.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/fn_arg_names_checker.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/list_flattener.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/package_manager.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/protected_decorators.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/protected_portal_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/system_utils.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/validation_succesful_const.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_080_pure_code_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_080_pure_code_portals/pure_core_classes.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_080_pure_code_portals/pure_decorator.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_080_pure_code_portals/recursion_pre_validator.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_090_swarming_portals/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_090_swarming_portals/output_suppressor.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_090_swarming_portals/swarming_portals.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_100_top_level_API/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_100_top_level_API/default_local_portal.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_100_top_level_API/top_level_API.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/base_16_32_convertors.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/current_date_gmt_str.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/hash_signatures.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/node_signature.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/random_signatures.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_900_project_stats_collector/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_900_project_stats_collector/project_analyzer.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/__init__.py +0 -0
- {pythagoras-0.25.3 → pythagoras-0.25.4}/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.
|
|
3
|
+
Version: 0.25.4
|
|
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
|
|
@@ -198,6 +198,17 @@ assert is_odd(n=11)
|
|
|
198
198
|
|
|
199
199
|
## Core Concepts
|
|
200
200
|
|
|
201
|
+
* **Portal**: An application's "window" into the non-ephemeral world outside the current application
|
|
202
|
+
execution session. It's a connector that enables a link between a runtime-only ephemeral state and
|
|
203
|
+
a persistent state that can be saved and loaded across multiple runs of the application and across
|
|
204
|
+
multiple computers. Portals provide a unified interface for data persistence, caching, and state
|
|
205
|
+
management across distributed systems. They abstract away the complexities of storage backends
|
|
206
|
+
(local filesystem, cloud storage, etc.) and handle serialization/deserialization transparently.
|
|
207
|
+
This allows applications to seamlessly work with persistent data while maintaining isolation between
|
|
208
|
+
runtime and storage concerns. A program can use multiple portals, each with its own storage backend, and
|
|
209
|
+
each portal can be used by multiple applications. A portal defines a context for the execution of
|
|
210
|
+
pure functions, which is used to cache and retrieve results.
|
|
211
|
+
|
|
201
212
|
* **Autonomous Function**: A self-contained function that does not depend on external
|
|
202
213
|
imports or definitions. All necessary imports must be done inside the function body.
|
|
203
214
|
These functions cannot use global objects (except built-ins), yield statements, or nonlocal variables.
|
|
@@ -220,25 +231,15 @@ assert is_odd(n=11)
|
|
|
220
231
|
* **Validator**: A function that checks if certain conditions are met before or after the execution
|
|
221
232
|
of a pure function. Pre-validators run before the function, and post-validators run after.
|
|
222
233
|
They can be passive (e.g., check for available RAM) or active (e.g., install a missing library).
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
standard decorator syntax to create comprehensive validation chains.
|
|
227
|
-
|
|
228
|
-
* **Portal**: An application's "window" into the non-ephemeral world outside the current application
|
|
229
|
-
execution session. It's a connector that enables a link between a runtime-only ephemeral state and
|
|
230
|
-
a persistent state that can be saved and loaded across multiple runs of the application and across
|
|
231
|
-
multiple computers. Portals provide a unified interface for data persistence, caching, and state
|
|
232
|
-
management across distributed systems. They abstract away the complexities of storage backends
|
|
233
|
-
(local filesystem, cloud storage, etc.) and handle serialization/deserialization transparently.
|
|
234
|
-
This allows applications to seamlessly work with persistent data while maintaining isolation between
|
|
235
|
-
runtime and storage concerns.
|
|
234
|
+
Validators help ensure reliable execution across distributed systems by validating requirements
|
|
235
|
+
and system state. Multiple validators can be combined using the standard decorator syntax
|
|
236
|
+
to create comprehensive validation chains.
|
|
236
237
|
|
|
237
|
-
* **Value Address**: A globally unique address of an
|
|
238
|
+
* **Value Address**: A globally unique address of an ***immutable value***, derived from its content
|
|
238
239
|
(type and value). It consists of a human-readable descriptor (often based on the object's type
|
|
239
240
|
and shape/length) and a hash signature (SHA-256, encoded) split into parts for filesystem/storage
|
|
240
241
|
efficiency. Creating a ValueAddr(data) computes the content hash of data and stores the value
|
|
241
|
-
in the active
|
|
242
|
+
in the active portal's storage (if not already stored), allowing that value to be retrieved later
|
|
242
243
|
via the address. These addresses are used extensively by the portal to identify stored results
|
|
243
244
|
and to reference inputs/outputs across distributed systems.
|
|
244
245
|
|
|
@@ -146,6 +146,17 @@ assert is_odd(n=11)
|
|
|
146
146
|
|
|
147
147
|
## Core Concepts
|
|
148
148
|
|
|
149
|
+
* **Portal**: An application's "window" into the non-ephemeral world outside the current application
|
|
150
|
+
execution session. It's a connector that enables a link between a runtime-only ephemeral state and
|
|
151
|
+
a persistent state that can be saved and loaded across multiple runs of the application and across
|
|
152
|
+
multiple computers. Portals provide a unified interface for data persistence, caching, and state
|
|
153
|
+
management across distributed systems. They abstract away the complexities of storage backends
|
|
154
|
+
(local filesystem, cloud storage, etc.) and handle serialization/deserialization transparently.
|
|
155
|
+
This allows applications to seamlessly work with persistent data while maintaining isolation between
|
|
156
|
+
runtime and storage concerns. A program can use multiple portals, each with its own storage backend, and
|
|
157
|
+
each portal can be used by multiple applications. A portal defines a context for the execution of
|
|
158
|
+
pure functions, which is used to cache and retrieve results.
|
|
159
|
+
|
|
149
160
|
* **Autonomous Function**: A self-contained function that does not depend on external
|
|
150
161
|
imports or definitions. All necessary imports must be done inside the function body.
|
|
151
162
|
These functions cannot use global objects (except built-ins), yield statements, or nonlocal variables.
|
|
@@ -168,25 +179,15 @@ assert is_odd(n=11)
|
|
|
168
179
|
* **Validator**: A function that checks if certain conditions are met before or after the execution
|
|
169
180
|
of a pure function. Pre-validators run before the function, and post-validators run after.
|
|
170
181
|
They can be passive (e.g., check for available RAM) or active (e.g., install a missing library).
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
standard decorator syntax to create comprehensive validation chains.
|
|
175
|
-
|
|
176
|
-
* **Portal**: An application's "window" into the non-ephemeral world outside the current application
|
|
177
|
-
execution session. It's a connector that enables a link between a runtime-only ephemeral state and
|
|
178
|
-
a persistent state that can be saved and loaded across multiple runs of the application and across
|
|
179
|
-
multiple computers. Portals provide a unified interface for data persistence, caching, and state
|
|
180
|
-
management across distributed systems. They abstract away the complexities of storage backends
|
|
181
|
-
(local filesystem, cloud storage, etc.) and handle serialization/deserialization transparently.
|
|
182
|
-
This allows applications to seamlessly work with persistent data while maintaining isolation between
|
|
183
|
-
runtime and storage concerns.
|
|
182
|
+
Validators help ensure reliable execution across distributed systems by validating requirements
|
|
183
|
+
and system state. Multiple validators can be combined using the standard decorator syntax
|
|
184
|
+
to create comprehensive validation chains.
|
|
184
185
|
|
|
185
|
-
* **Value Address**: A globally unique address of an
|
|
186
|
+
* **Value Address**: A globally unique address of an ***immutable value***, derived from its content
|
|
186
187
|
(type and value). It consists of a human-readable descriptor (often based on the object's type
|
|
187
188
|
and shape/length) and a hash signature (SHA-256, encoded) split into parts for filesystem/storage
|
|
188
189
|
efficiency. Creating a ValueAddr(data) computes the content hash of data and stores the value
|
|
189
|
-
in the active
|
|
190
|
+
in the active portal's storage (if not already stored), allowing that value to be retrieved later
|
|
190
191
|
via the address. These addresses are used extensively by the portal to identify stored results
|
|
191
192
|
and to reference inputs/outputs across distributed systems.
|
|
192
193
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_010_basic_portals/post_init_metaclass.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/__init__.py
RENAMED
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/code_normalizer.py
RENAMED
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_020_ordinary_code_portals/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/data_portal_core_classes.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_030_data_portals/storable_decorator.py
RENAMED
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/notebook_checker.py
RENAMED
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_040_logging_code_portals/output_capturer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_050_safe_code_portals/safe_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_060_autonomous_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/list_flattener.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_070_protected_code_portals/system_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_080_pure_code_portals/pure_core_classes.py
RENAMED
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_080_pure_code_portals/pure_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_090_swarming_portals/output_suppressor.py
RENAMED
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_090_swarming_portals/swarming_portals.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_100_top_level_API/default_local_portal.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_800_signatures_and_converters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.25.3 → pythagoras-0.25.4}/src/pythagoras/_900_project_stats_collector/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|