pythagoras 0.25.3__py3-none-any.whl → 0.25.4__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pythagoras
3
- Version: 0.25.3
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
- For example, `unused_ram(Gb=5)` ensures 5GB of free memory before execution, while `installed_packages("numpy")`
224
- verifies or installs required dependencies. Validators help ensure reliable execution across distributed
225
- systems by validating requirements and system state. Multiple validators can be combined using the
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 **immutable value**, derived from its content
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 DataPortal's storage (if not already stored), allowing that value to be retrieved later
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
 
@@ -62,6 +62,6 @@ pythagoras/_900_project_stats_collector/__init__.py,sha256=Eagt-BhPPtBGgpMywx2lk
62
62
  pythagoras/_900_project_stats_collector/project_analyzer.py,sha256=uhycFKjUIXEpYcZYnak3yn4JFhchl-oZ7wt6spFxhoY,3574
63
63
  pythagoras/__init__.py,sha256=oA6bi5Ov3Io9Adn8zEmSIMqb2NAJM2MUN5fV1y7bgHA,1312
64
64
  pythagoras/core/__init__.py,sha256=yfamQZNt_7FL7vfxSoCTZq2ZL6rupp6qzcp9CHhTj3E,2674
65
- pythagoras-0.25.3.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
66
- pythagoras-0.25.3.dist-info/METADATA,sha256=0gDVXOPe0N5MUec2GLaP2avLwe5sFkU2qFYXIlzJ0u8,12390
67
- pythagoras-0.25.3.dist-info/RECORD,,
65
+ pythagoras-0.25.4.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
66
+ pythagoras-0.25.4.dist-info/METADATA,sha256=I25zNNhzraBPPIT-N_m1TzImFCdW-SeZEMSjlbh2w9g,12471
67
+ pythagoras-0.25.4.dist-info/RECORD,,