pythagoras 0.24.2__py3-none-any.whl → 0.24.3__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.
pythagoras/.DS_Store CHANGED
Binary file
@@ -32,7 +32,6 @@ be subclassed to provide additional functionality.
32
32
  """
33
33
 
34
34
  from .post_init_metaclass import *
35
- from .not_picklable_class import *
36
35
  from .exceptions import *
37
36
  from .basic_portal_core_classes import *
38
37
  from .portal_tester import _PortalTester
@@ -14,12 +14,11 @@ from abc import abstractmethod
14
14
  from pathlib import Path
15
15
  from typing import TypeVar, Type, Any, NewType
16
16
  import pandas as pd
17
- import parameterizable
17
+ from parameterizable import NotPicklableClass
18
18
  from parameterizable import ParameterizableClass, sort_dict_by_keys
19
19
 
20
20
  from persidict import PersiDict, FileDirDict, SafeStrTuple
21
21
  from .post_init_metaclass import PostInitMeta
22
- from .not_picklable_class import NotPicklable
23
22
  from .._800_signatures_and_converters import get_hash_signature
24
23
 
25
24
  def _describe_persistent_characteristic(name, value) -> pd.DataFrame:
@@ -205,7 +204,7 @@ def get_default_portal_base_dir() -> str:
205
204
  return target_directory_str
206
205
 
207
206
 
208
- class BasicPortal(NotPicklable,ParameterizableClass, metaclass = PostInitMeta):
207
+ class BasicPortal(NotPicklableClass,ParameterizableClass, metaclass = PostInitMeta):
209
208
  """A base class for portal objects that enable access to 'outside' world.
210
209
 
211
210
  In a Pythagoras-based application, a portal is the application's 'window'
@@ -359,17 +358,6 @@ class BasicPortal(NotPicklable,ParameterizableClass, metaclass = PostInitMeta):
359
358
  return sorted_params
360
359
 
361
360
 
362
- # @property
363
- # def auxiliary_param_names(self) -> set[str]:
364
- # """Get the names of the portal's ephemeral parameters.
365
- #
366
- # Portal's ephemeral parameters are not stored persistently.
367
- # They affect behaviour of a portal object in an application session,
368
- # but they do not affect behaviour of the actual portal across multiple runs.
369
- # """
370
- # return set()
371
-
372
-
373
361
  @property
374
362
  def _str_id(self) -> PortalStrID:
375
363
  """Get the portal's persistent hash.
@@ -5,10 +5,10 @@ import traceback
5
5
  from typing import Callable, Any
6
6
 
7
7
  import pandas as pd
8
- # from parameterizable import register_parameterizable_class
8
+ from parameterizable import NotPicklableClass
9
9
  from persidict import PersiDict, KEEP_CURRENT, Joker
10
10
 
11
- from .._010_basic_portals import NotPicklable, get_active_portal
11
+ from .._010_basic_portals import get_active_portal
12
12
  from .._010_basic_portals.basic_portal_core_classes import (
13
13
  _describe_persistent_characteristic, _describe_runtime_characteristic)
14
14
 
@@ -313,7 +313,7 @@ class LoggingFnCallSignature:
313
313
  return result
314
314
 
315
315
 
316
- class LoggingFnExecutionRecord(NotPicklable):
316
+ class LoggingFnExecutionRecord(NotPicklableClass):
317
317
  """ A record of one full function execution session.
318
318
 
319
319
  It provides access to all information logged during the
@@ -392,7 +392,7 @@ class LoggingFnExecutionRecord(NotPicklable):
392
392
  f"{self.call_signature.fn_name} execution results.")
393
393
 
394
394
 
395
- class LoggingFnExecutionFrame(NotPicklable):
395
+ class LoggingFnExecutionFrame(NotPicklableClass):
396
396
  call_stack: list[LoggingFnExecutionFrame] = []
397
397
 
398
398
  session_id: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pythagoras
3
- Version: 0.24.2
3
+ Version: 0.24.3
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
@@ -16,7 +16,6 @@ Classifier: Topic :: Scientific/Engineering
16
16
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
17
17
  Classifier: Topic :: Software Development :: Libraries
18
18
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
- Requires-Dist: persidict==0.104.1
20
19
  Requires-Dist: lz4
21
20
  Requires-Dist: joblib
22
21
  Requires-Dist: scikit-learn
@@ -27,11 +26,12 @@ Requires-Dist: autopep8
27
26
  Requires-Dist: deepdiff
28
27
  Requires-Dist: numpy
29
28
  Requires-Dist: pytest
29
+ Requires-Dist: persidict==0.104.2
30
30
  Requires-Dist: boto3
31
31
  Requires-Dist: moto
32
32
  Requires-Dist: uv
33
33
  Requires-Dist: nvidia-ml-py
34
- Requires-Dist: parameterizable==0.100.0
34
+ Requires-Dist: parameterizable==0.101.0
35
35
  Requires-Dist: persidict[aws] ; extra == 'aws'
36
36
  Requires-Dist: boto3 ; extra == 'aws'
37
37
  Requires-Dist: moto ; extra == 'aws'
@@ -1,9 +1,8 @@
1
- pythagoras/.DS_Store,sha256=QNNcLWt_ymcoqL6JxhBobOuDsh4y1v4N3tzxs_WL_a8,6148
2
- pythagoras/_010_basic_portals/__init__.py,sha256=ER0kV_th7hba4nXXjoP-joN-cqkUMoH4iRSCgKUP75Y,1703
3
- pythagoras/_010_basic_portals/basic_portal_core_classes.py,sha256=Uzg85PPfiOOYz4LSpMLYj1HKlurUGIUaIsD7ysNqczc,24407
1
+ pythagoras/.DS_Store,sha256=4fJ-j5kHYgNLz5ki6QI2jkwoTuthfKswojnfe4naJ8U,8196
2
+ pythagoras/_010_basic_portals/__init__.py,sha256=L6vahRANApOIIdzw3wuAIZtJRijepneOevXnlhrZmj4,1668
3
+ pythagoras/_010_basic_portals/basic_portal_core_classes.py,sha256=UcvgxajJdtb7bgNkhUrehjN6Hd39iCNFtVqeC71qYoU,23979
4
4
  pythagoras/_010_basic_portals/exceptions.py,sha256=CMtSyRb47YKZtANN-iCQBvvyYPKdKqomLygRE1fjSNk,1248
5
5
  pythagoras/_010_basic_portals/long_infoname.py,sha256=KXOmHfQ_5hdZNqfB3Cif2CQiZ3XI3UAOEXKl3DLLYF4,1366
6
- pythagoras/_010_basic_portals/not_picklable_class.py,sha256=hSU069pixbaRaV_TX0KDdy3kupB9GVqkzYwxU9DzEkE,1442
7
6
  pythagoras/_010_basic_portals/portal_tester.py,sha256=x6HiJ3GW9XWplnsT6Ob7QCy2J_JPgGpdaJ8QRyFH-e8,3353
8
7
  pythagoras/_010_basic_portals/post_init_metaclass.py,sha256=94FEVMCJBUReRb-fo2-LW8YWXUXw5lLLYlXMnlxHJuU,1495
9
8
  pythagoras/_020_ordinary_code_portals/__init__.py,sha256=p3kSqaQYj0xlhk9BwptFgA1USdTbfHkAB5Q9MH-ANI0,1295
@@ -20,7 +19,7 @@ pythagoras/_040_logging_code_portals/exception_processing_tracking.py,sha256=sU-
20
19
  pythagoras/_040_logging_code_portals/execution_environment_summary.py,sha256=hTvTbadYAtisZ4H8rq-n_hsKPCS38jsSz8lw_A1DIqY,2268
21
20
  pythagoras/_040_logging_code_portals/kw_args.py,sha256=4EYpPrr2xCgFAarmdFRKlEvGhIHC9kk9kc-VPW4S-XA,2717
22
21
  pythagoras/_040_logging_code_portals/logging_decorator.py,sha256=079w2_Z5HhXFLrgyXQekjuOby9CdUgFUGRbRT5lpujU,891
23
- pythagoras/_040_logging_code_portals/logging_portal_core_classes.py,sha256=HOk5rRUn6Xtd1ERvxTOvlv3k3G6X9eSVoFePO-6A2lI,21972
22
+ pythagoras/_040_logging_code_portals/logging_portal_core_classes.py,sha256=FZ_tFg6tVO-kCCXR3X9FLLXxe_5M7tHtkrSmyYhM9f4,21953
24
23
  pythagoras/_040_logging_code_portals/notebook_checker.py,sha256=5lQJDIDzhRIRSmX1T88nAREMEMoDDFf0OIKcvTpnhzk,541
25
24
  pythagoras/_040_logging_code_portals/output_capturer.py,sha256=ohCp6qqxL7IuJGfnFuCIgj5Oc4HmC8c7uZGE_uzWkZk,4216
26
25
  pythagoras/_040_logging_code_portals/uncaught_exceptions.py,sha256=B3bPvX5nnJJx4JjLSGdl1xXOBU2pqo3CP-MomJAfXaE,3121
@@ -60,6 +59,6 @@ pythagoras/_900_project_stats_collector/__init__.py,sha256=Eagt-BhPPtBGgpMywx2lk
60
59
  pythagoras/_900_project_stats_collector/project_analyzer.py,sha256=uhycFKjUIXEpYcZYnak3yn4JFhchl-oZ7wt6spFxhoY,3574
61
60
  pythagoras/__init__.py,sha256=TMPtJdSi_WShCpJnsVVdO48Wcvs78GMbUi5gHc1eMLw,1233
62
61
  pythagoras/core/__init__.py,sha256=cXtQ-Vbm8TqzazvkFws5cV3AEEYbEKzNXYeuHeLGFK0,328
63
- pythagoras-0.24.2.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
64
- pythagoras-0.24.2.dist-info/METADATA,sha256=F29Q0LJjaqiCRK0zXQfgwe8BliFOmx4RrNmAbVoWFLA,7467
65
- pythagoras-0.24.2.dist-info/RECORD,,
62
+ pythagoras-0.24.3.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
63
+ pythagoras-0.24.3.dist-info/METADATA,sha256=tOfVHjizrk-0w3mhvbdhqpSNY-z3U_BhhMuYsa-CCVE,7467
64
+ pythagoras-0.24.3.dist-info/RECORD,,
@@ -1,36 +0,0 @@
1
- class NotPicklable:
2
- """A mixin class that prevents objects from being pickled or unpickled.
3
-
4
- This class provides a mechanism to explicitly prevent instances from being
5
- serialized using Python's pickle module. Classes that inherit from this
6
- mixin will raise TypeError exceptions when pickle attempts to serialize
7
- or deserialize them.
8
-
9
- This is useful for objects that contain non-serializable resources or
10
- should not be persisted for security or architectural reasons.
11
- """
12
-
13
- def __getstate__(self):
14
- """Prevent object serialization by raising TypeError.
15
-
16
- This method is called by pickle when attempting to serialize the object.
17
- It unconditionally raises a TypeError to prevent pickling.
18
-
19
- Raises:
20
- TypeError: Always raised to prevent the object from being pickled.
21
- """
22
- raise TypeError(f"{type(self).__name__} cannot be pickled")
23
-
24
- def __setstate__(self, state):
25
- """Prevent object deserialization by raising TypeError.
26
-
27
- This method is called by pickle when attempting to deserialize the object.
28
- It unconditionally raises a TypeError to prevent unpickling.
29
-
30
- Args:
31
- state: The state dictionary that would be used for unpickling.
32
-
33
- Raises:
34
- TypeError: Always raised to prevent the object from being unpickled.
35
- """
36
- raise TypeError(f"{type(self).__name__} cannot be unpickled")