pythagoras 0.23.15__tar.gz → 0.23.17__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.23.15 → pythagoras-0.23.17}/PKG-INFO +119 -2
- {pythagoras-0.23.15 → pythagoras-0.23.17}/README.md +118 -1
- {pythagoras-0.23.15 → pythagoras-0.23.17}/pyproject.toml +1 -1
- {pythagoras-0.23.15/src/pythagoras/_070_protected_code_portals → pythagoras-0.23.17/src/pythagoras}/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_010_basic_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_020_ordinary_code_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_030_data_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_040_logging_code_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_050_safe_code_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_060_autonomous_code_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_080_pure_code_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_090_swarming_portals/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_100_top_level_API/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_800_signatures_and_converters/.DS_Store +0 -0
- pythagoras-0.23.15/src/pythagoras/_900_project_stats_collector/.DS_Store +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/basic_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/exceptions.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/long_infoname.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/not_picklable_class.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/portal_tester.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/post_init_metaclass.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_020_ordinary_code_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_020_ordinary_code_portals/code_normalizer.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_020_ordinary_code_portals/function_processing.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_020_ordinary_code_portals/ordinary_decorator.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_020_ordinary_code_portals/ordinary_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_030_data_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_030_data_portals/data_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_030_data_portals/ready_and_get.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_030_data_portals/storable_decorator.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/exception_processing_tracking.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/execution_environment_summary.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/kw_args.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/logging_decorator.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/logging_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/notebook_checker.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/output_capturer.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/uncaught_exceptions.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_050_safe_code_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_050_safe_code_portals/safe_decorator.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_050_safe_code_portals/safe_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_060_autonomous_code_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_060_autonomous_code_portals/autonomous_decorators.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_060_autonomous_code_portals/autonomous_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_060_autonomous_code_portals/names_usage_analyzer.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/basic_pre_validators.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/fn_arg_names_checker.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/list_flattener.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/package_manager.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/protected_decorators.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/protected_portal_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/system_utils.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/validation_succesful_const.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_080_pure_code_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_080_pure_code_portals/pure_core_classes.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_080_pure_code_portals/pure_decorator.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_080_pure_code_portals/recursion_pre_validator.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_090_swarming_portals/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_090_swarming_portals/output_suppressor.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_090_swarming_portals/swarming_portals.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_100_top_level_API/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_100_top_level_API/default_local_portal.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_100_top_level_API/top_level_API.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_800_signatures_and_converters/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_800_signatures_and_converters/base_16_32_convertors.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_800_signatures_and_converters/current_date_gmt_str.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_800_signatures_and_converters/hash_signatures.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_800_signatures_and_converters/node_signature.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_800_signatures_and_converters/random_signatures.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_900_project_stats_collector/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_900_project_stats_collector/project_analyzer.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/__init__.py +0 -0
- {pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/core/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pythagoras
|
|
3
|
-
Version: 0.23.
|
|
3
|
+
Version: 0.23.17
|
|
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
|
|
@@ -66,7 +66,7 @@ data science, machine learning, and AI workflows.
|
|
|
66
66
|
Pythagoras excels at complex, long-running, resource-demanding computations.
|
|
67
67
|
It’s not recommended for real-time, latency-sensitive workflows.
|
|
68
68
|
|
|
69
|
-
##
|
|
69
|
+
## Tutorials
|
|
70
70
|
|
|
71
71
|
Pythagoras elevates two popular techniques — memoization and parallelization —
|
|
72
72
|
to a global scale and then fuses them, unlocking performance and scalability
|
|
@@ -85,6 +85,123 @@ preferred functional patterns, augmented by new capabilities.
|
|
|
85
85
|
|
|
86
86
|
**!!! BOOKMARK THIS PAGE AND COME BACK LATER, WE WILL PUBLISH MORE TUTORIALS SOON !!!**
|
|
87
87
|
|
|
88
|
+
## Videos
|
|
89
|
+
|
|
90
|
+
* [Data Phoenix Webinar, August 27, 2025](https://youtu.be/eb6_atu1RQI) ([slides](https://docs.google.com/presentation/d/1fGBqnp0aqVHPJ-BYGYnUll1_TJI_WObAbEVX89Z3-yA))
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## Usage Examples
|
|
94
|
+
|
|
95
|
+
Importing Pythagoras:
|
|
96
|
+
```python
|
|
97
|
+
from pythagoras.core import *
|
|
98
|
+
import pythagoras as pth
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Creating a portal based on a (shared) folder:
|
|
102
|
+
```python
|
|
103
|
+
my_portal = get_portal("./my_local_folder")
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Checking the state of a portal:
|
|
107
|
+
```python
|
|
108
|
+
my_portal.describe()
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Decorating a function:
|
|
112
|
+
```python
|
|
113
|
+
@pure()
|
|
114
|
+
def my_long_running_function(a:float, b:float) -> float:
|
|
115
|
+
from time import sleep # imports must be placed inside a pure function
|
|
116
|
+
for i in range(5):
|
|
117
|
+
sleep(1)
|
|
118
|
+
print("waiting....")
|
|
119
|
+
return a+10*b
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Using a decorated function synchronously:
|
|
123
|
+
```python
|
|
124
|
+
result = my_long_running_function(a=1, b=2)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Using a decorated function asynchronously:
|
|
128
|
+
```python
|
|
129
|
+
future_result_address = my_long_running_function.swarm(a=10, b=20)
|
|
130
|
+
if ready(future_result_address):
|
|
131
|
+
result = get(future_result_address)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Pre-conditions for executing a function:
|
|
135
|
+
```python
|
|
136
|
+
@pure(pre_validators=[
|
|
137
|
+
unused_ram(Gb=5),
|
|
138
|
+
installed_packages("scikit-learn","pandas"),
|
|
139
|
+
unused_cpu(cores=10)])
|
|
140
|
+
def my_long_running_function(a:float, b:float) -> float:
|
|
141
|
+
from time import sleep
|
|
142
|
+
for i in range(5):
|
|
143
|
+
sleep(1)
|
|
144
|
+
print(
|
|
145
|
+
"waiting...."
|
|
146
|
+
)
|
|
147
|
+
return a+10*b
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Recursion:
|
|
151
|
+
```python
|
|
152
|
+
@pure(pre_validators=[recursive_parameters("n")])
|
|
153
|
+
def factorial(n:int)->int:
|
|
154
|
+
if n == 1:
|
|
155
|
+
return 1
|
|
156
|
+
else:
|
|
157
|
+
return n*factorial(n=n-1)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Partial function application:
|
|
161
|
+
```python
|
|
162
|
+
@pure()
|
|
163
|
+
def my_map(input_list:list, transformer: PureFn)->list:
|
|
164
|
+
result = []
|
|
165
|
+
for element in input_list:
|
|
166
|
+
transformed_element = transformer(x=element)
|
|
167
|
+
result.append(transformed_element)
|
|
168
|
+
return result
|
|
169
|
+
|
|
170
|
+
@pure()
|
|
171
|
+
def my_square(x):
|
|
172
|
+
return x*x
|
|
173
|
+
|
|
174
|
+
result = my_map(input_list=[1,2,3,4,5], transformer=my_square)
|
|
175
|
+
|
|
176
|
+
my_square_map = my_map.fix_kwargs(transformer = my_square)
|
|
177
|
+
|
|
178
|
+
result = my_square_map(input_list=[1,2,3,4,5])
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Mutually recursive functions:
|
|
182
|
+
```python
|
|
183
|
+
@pure(pre_validators=recursive_parameters("n"))
|
|
184
|
+
def is_even(n:int, is_odd ,is_even)->bool:
|
|
185
|
+
if n in {0,2}:
|
|
186
|
+
return True
|
|
187
|
+
else:
|
|
188
|
+
return is_odd(n=n-1, is_even=is_even, is_odd=is_odd)
|
|
189
|
+
|
|
190
|
+
@pure(pre_validators=recursive_parameters("n"))
|
|
191
|
+
def is_odd(n:int, is_even, is_odd)->bool:
|
|
192
|
+
if n in {0,2}:
|
|
193
|
+
return False
|
|
194
|
+
else:
|
|
195
|
+
return is_even(n=n-1, is_odd=is_odd, is_even=is_even)
|
|
196
|
+
|
|
197
|
+
(is_even, is_odd) = (
|
|
198
|
+
is_even.fix_kwargs(is_odd=is_odd, is_even=is_even)
|
|
199
|
+
, is_odd.fix_kwargs(is_odd=is_odd, is_even=is_even) )
|
|
200
|
+
|
|
201
|
+
assert is_even(n=10)
|
|
202
|
+
assert is_odd(n=11)
|
|
203
|
+
```
|
|
204
|
+
|
|
88
205
|
## How to get it?
|
|
89
206
|
|
|
90
207
|
The source code is hosted on GitHub at: https://github.com/pythagoras-dev/pythagoras
|
|
@@ -14,7 +14,7 @@ data science, machine learning, and AI workflows.
|
|
|
14
14
|
Pythagoras excels at complex, long-running, resource-demanding computations.
|
|
15
15
|
It’s not recommended for real-time, latency-sensitive workflows.
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Tutorials
|
|
18
18
|
|
|
19
19
|
Pythagoras elevates two popular techniques — memoization and parallelization —
|
|
20
20
|
to a global scale and then fuses them, unlocking performance and scalability
|
|
@@ -33,6 +33,123 @@ preferred functional patterns, augmented by new capabilities.
|
|
|
33
33
|
|
|
34
34
|
**!!! BOOKMARK THIS PAGE AND COME BACK LATER, WE WILL PUBLISH MORE TUTORIALS SOON !!!**
|
|
35
35
|
|
|
36
|
+
## Videos
|
|
37
|
+
|
|
38
|
+
* [Data Phoenix Webinar, August 27, 2025](https://youtu.be/eb6_atu1RQI) ([slides](https://docs.google.com/presentation/d/1fGBqnp0aqVHPJ-BYGYnUll1_TJI_WObAbEVX89Z3-yA))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Usage Examples
|
|
42
|
+
|
|
43
|
+
Importing Pythagoras:
|
|
44
|
+
```python
|
|
45
|
+
from pythagoras.core import *
|
|
46
|
+
import pythagoras as pth
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Creating a portal based on a (shared) folder:
|
|
50
|
+
```python
|
|
51
|
+
my_portal = get_portal("./my_local_folder")
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Checking the state of a portal:
|
|
55
|
+
```python
|
|
56
|
+
my_portal.describe()
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Decorating a function:
|
|
60
|
+
```python
|
|
61
|
+
@pure()
|
|
62
|
+
def my_long_running_function(a:float, b:float) -> float:
|
|
63
|
+
from time import sleep # imports must be placed inside a pure function
|
|
64
|
+
for i in range(5):
|
|
65
|
+
sleep(1)
|
|
66
|
+
print("waiting....")
|
|
67
|
+
return a+10*b
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Using a decorated function synchronously:
|
|
71
|
+
```python
|
|
72
|
+
result = my_long_running_function(a=1, b=2)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Using a decorated function asynchronously:
|
|
76
|
+
```python
|
|
77
|
+
future_result_address = my_long_running_function.swarm(a=10, b=20)
|
|
78
|
+
if ready(future_result_address):
|
|
79
|
+
result = get(future_result_address)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Pre-conditions for executing a function:
|
|
83
|
+
```python
|
|
84
|
+
@pure(pre_validators=[
|
|
85
|
+
unused_ram(Gb=5),
|
|
86
|
+
installed_packages("scikit-learn","pandas"),
|
|
87
|
+
unused_cpu(cores=10)])
|
|
88
|
+
def my_long_running_function(a:float, b:float) -> float:
|
|
89
|
+
from time import sleep
|
|
90
|
+
for i in range(5):
|
|
91
|
+
sleep(1)
|
|
92
|
+
print(
|
|
93
|
+
"waiting...."
|
|
94
|
+
)
|
|
95
|
+
return a+10*b
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Recursion:
|
|
99
|
+
```python
|
|
100
|
+
@pure(pre_validators=[recursive_parameters("n")])
|
|
101
|
+
def factorial(n:int)->int:
|
|
102
|
+
if n == 1:
|
|
103
|
+
return 1
|
|
104
|
+
else:
|
|
105
|
+
return n*factorial(n=n-1)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Partial function application:
|
|
109
|
+
```python
|
|
110
|
+
@pure()
|
|
111
|
+
def my_map(input_list:list, transformer: PureFn)->list:
|
|
112
|
+
result = []
|
|
113
|
+
for element in input_list:
|
|
114
|
+
transformed_element = transformer(x=element)
|
|
115
|
+
result.append(transformed_element)
|
|
116
|
+
return result
|
|
117
|
+
|
|
118
|
+
@pure()
|
|
119
|
+
def my_square(x):
|
|
120
|
+
return x*x
|
|
121
|
+
|
|
122
|
+
result = my_map(input_list=[1,2,3,4,5], transformer=my_square)
|
|
123
|
+
|
|
124
|
+
my_square_map = my_map.fix_kwargs(transformer = my_square)
|
|
125
|
+
|
|
126
|
+
result = my_square_map(input_list=[1,2,3,4,5])
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Mutually recursive functions:
|
|
130
|
+
```python
|
|
131
|
+
@pure(pre_validators=recursive_parameters("n"))
|
|
132
|
+
def is_even(n:int, is_odd ,is_even)->bool:
|
|
133
|
+
if n in {0,2}:
|
|
134
|
+
return True
|
|
135
|
+
else:
|
|
136
|
+
return is_odd(n=n-1, is_even=is_even, is_odd=is_odd)
|
|
137
|
+
|
|
138
|
+
@pure(pre_validators=recursive_parameters("n"))
|
|
139
|
+
def is_odd(n:int, is_even, is_odd)->bool:
|
|
140
|
+
if n in {0,2}:
|
|
141
|
+
return False
|
|
142
|
+
else:
|
|
143
|
+
return is_even(n=n-1, is_odd=is_odd, is_even=is_even)
|
|
144
|
+
|
|
145
|
+
(is_even, is_odd) = (
|
|
146
|
+
is_even.fix_kwargs(is_odd=is_odd, is_even=is_even)
|
|
147
|
+
, is_odd.fix_kwargs(is_odd=is_odd, is_even=is_even) )
|
|
148
|
+
|
|
149
|
+
assert is_even(n=10)
|
|
150
|
+
assert is_odd(n=11)
|
|
151
|
+
```
|
|
152
|
+
|
|
36
153
|
## How to get it?
|
|
37
154
|
|
|
38
155
|
The source code is hosted on GitHub at: https://github.com/pythagoras-dev/pythagoras
|
|
index 5008ddf..8f975eb 100644
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/long_infoname.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/not_picklable_class.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/portal_tester.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_010_basic_portals/post_init_metaclass.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_020_ordinary_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_030_data_portals/storable_decorator.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_040_logging_code_portals/kw_args.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_050_safe_code_portals/safe_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_060_autonomous_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_070_protected_code_portals/system_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_080_pure_code_portals/pure_core_classes.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_080_pure_code_portals/pure_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_090_swarming_portals/output_suppressor.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_090_swarming_portals/swarming_portals.py
RENAMED
|
File without changes
|
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_100_top_level_API/default_local_portal.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/src/pythagoras/_100_top_level_API/top_level_API.py
RENAMED
|
File without changes
|
{pythagoras-0.23.15 → pythagoras-0.23.17}/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.23.15 → pythagoras-0.23.17}/src/pythagoras/_900_project_stats_collector/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|