kostyl-toolkit 0.1.7__py3-none-any.whl → 0.1.8__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.
@@ -4,18 +4,17 @@ from typing import TypeVar
4
4
  import clearml
5
5
  from caseconverter import pascalcase
6
6
  from caseconverter import snakecase
7
- from pydantic import BaseModel as PydanticBaseModel
8
7
 
9
- from kostyl.ml_core.configs.base import ConfigLoadingMixin
8
+ from kostyl.ml_core.configs.base_model import KostylBaseModel
10
9
  from kostyl.utils.dict_manipulations import convert_to_flat_dict
11
10
  from kostyl.utils.dict_manipulations import flattened_dict_to_nested
12
11
  from kostyl.utils.fs import load_config
13
12
 
14
13
 
15
- TModel = TypeVar("TModel", bound="_ClearMLBaseModel")
14
+ TModel = TypeVar("TModel", bound="KostylBaseModel")
16
15
 
17
16
 
18
- class ClearMLConfigMixin(ConfigLoadingMixin):
17
+ class ClearMLConfigMixin:
19
18
  """Pydantic mixin class providing ClearML configuration loading and syncing functionality."""
20
19
 
21
20
  @classmethod
@@ -90,9 +89,3 @@ class ClearMLConfigMixin(ConfigLoadingMixin):
90
89
 
91
90
  model = cls.from_dict(state_dict=config)
92
91
  return model
93
-
94
-
95
- class _ClearMLBaseModel(PydanticBaseModel, ClearMLConfigMixin):
96
- """A Pydantic model class with ClearML configuration loading and syncing functionality."""
97
-
98
- pass
@@ -1,4 +1,4 @@
1
- from .base import ConfigLoadingMixin
1
+ from .base_model import KostylBaseModel
2
2
  from .hyperparams import HyperparamsConfig
3
3
  from .hyperparams import Lr
4
4
  from .hyperparams import Optimizer
@@ -9,6 +9,7 @@ from .training_settings import DataConfig
9
9
  from .training_settings import DDPStrategyConfig
10
10
  from .training_settings import EarlyStoppingConfig
11
11
  from .training_settings import FSDP1StrategyConfig
12
+ from .training_settings import LightningTrainerParameters
12
13
  from .training_settings import SingleDeviceStrategyConfig
13
14
  from .training_settings import TrainingSettings
14
15
 
@@ -16,12 +17,13 @@ from .training_settings import TrainingSettings
16
17
  __all__ = [
17
18
  "CheckpointConfig",
18
19
  "ClearMLTrainingSettings",
19
- "ConfigLoadingMixin",
20
20
  "DDPStrategyConfig",
21
21
  "DataConfig",
22
22
  "EarlyStoppingConfig",
23
23
  "FSDP1StrategyConfig",
24
24
  "HyperparamsConfig",
25
+ "KostylBaseModel",
26
+ "LightningTrainerParameters",
25
27
  "Lr",
26
28
  "Optimizer",
27
29
  "SingleDeviceStrategyConfig",
@@ -9,7 +9,7 @@ from kostyl.utils.fs import load_config
9
9
  TConfig = TypeVar("TConfig", bound=PydanticBaseModel)
10
10
 
11
11
 
12
- class ConfigLoadingMixin:
12
+ class _ConfigLoadingMixin:
13
13
  """Pydantic mixin class providing basic configuration loading functionality."""
14
14
 
15
15
  @classmethod
@@ -52,3 +52,9 @@ class ConfigLoadingMixin:
52
52
  """
53
53
  instance = cls.model_validate(state_dict)
54
54
  return instance
55
+
56
+
57
+ class KostylBaseModel(PydanticBaseModel, _ConfigLoadingMixin):
58
+ """A Pydantic model class with basic configuration loading functionality."""
59
+
60
+ pass
@@ -6,7 +6,7 @@ from pydantic import Field
6
6
  from kostyl.ml_core.clearml.config_mixin import ClearMLConfigMixin
7
7
  from kostyl.utils.logging import setup_logger
8
8
 
9
- from .base import ConfigLoadingMixin
9
+ from .base_model import KostylBaseModel
10
10
 
11
11
 
12
12
  logger = setup_logger(fmt="only_message")
@@ -92,7 +92,7 @@ class DataConfig(BaseModel):
92
92
  data_columns: list[str]
93
93
 
94
94
 
95
- class TrainingSettings(BaseModel, ConfigLoadingMixin):
95
+ class TrainingSettings(KostylBaseModel):
96
96
  """Training parameters configuration."""
97
97
 
98
98
  trainer: LightningTrainerParameters
@@ -102,8 +102,8 @@ class TrainingSettings(BaseModel, ConfigLoadingMixin):
102
102
 
103
103
 
104
104
  class ClearMLTrainingSettings(
105
- ClearMLConfigMixin,
106
105
  TrainingSettings,
106
+ ClearMLConfigMixin,
107
107
  ):
108
108
  """Training parameters configuration with ClearML features support (config syncing, model identifiers tracking and etc)."""
109
109
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kostyl-toolkit
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Kickass Orchestration System for Training, Yielding & Logging
5
5
  Requires-Dist: case-converter>=1.2.0
6
6
  Requires-Dist: loguru>=0.7.3
@@ -1,14 +1,14 @@
1
1
  kostyl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  kostyl/ml_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  kostyl/ml_core/clearml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- kostyl/ml_core/clearml/config_mixin.py,sha256=a3YO8kocbiJMSRKcnEIYZlHe_-jvozIh0t_CFcBd1MU,3610
4
+ kostyl/ml_core/clearml/config_mixin.py,sha256=sN24RPs8kWW1iXpIr_6w1bfEZZSXIV_i_RXypqzjwXg,3368
5
5
  kostyl/ml_core/clearml/dataset_utils.py,sha256=eij_sr2KDhm8GxEbVbK8aBjPsuVvLl9-PIGGaKVgXLA,1729
6
6
  kostyl/ml_core/clearml/logging_utils.py,sha256=GBjIIZbH_itd5sj7XpvxjkyZwxxGOpEcQ3BiWaJTyq8,1210
7
7
  kostyl/ml_core/clearml/pulling_utils.py,sha256=Yf70ux8dS0_ENdvfbNQkXOrDxwd4ed2GnRCmOR2ppEk,3252
8
- kostyl/ml_core/configs/__init__.py,sha256=-xb7AUvutDnlHWRg2rCOnBwmru912pEkP5QTl4j1uQA,905
9
- kostyl/ml_core/configs/base.py,sha256=4trY_fO_VnguNrwT0BgSSoxmnG8BS_z9mEsgX6DmaNU,1467
8
+ kostyl/ml_core/configs/__init__.py,sha256=pBuEhcumGBNncprqz-t_IGll2XtMmogTn9S6ZPHXCTg,997
9
+ kostyl/ml_core/configs/base_model.py,sha256=Sj4vF1zPpEPOVZ3OHDokp_yh80aU27qwTo116tB0xiM,1624
10
10
  kostyl/ml_core/configs/hyperparams.py,sha256=u-7FIM-cD3nz9Sycuvg7r0Vdiu4pduafiCoAxq8JK0s,3011
11
- kostyl/ml_core/configs/training_settings.py,sha256=5H3Dv9dy8FHa3f_ZQHzs6LgTxrlM1BifB4VUY7F0qDo,2661
11
+ kostyl/ml_core/configs/training_settings.py,sha256=1pnhFGmeRZS7YKWrGR7rSCXF_eJIZeX2Rkr_NRBAFNk,2650
12
12
  kostyl/ml_core/dist_utils.py,sha256=G8atjzkRbXZZiZh9rdEYBmeXqX26rJdDDovft2n6xiU,3201
13
13
  kostyl/ml_core/lightning/__init__.py,sha256=-F3JAyq8KU1d-nACWryGu8d1CbvWbQ1rXFdeRwfE2X8,175
14
14
  kostyl/ml_core/lightning/callbacks/__init__.py,sha256=Vd-rozY4T9Prr3IMqbliXxj6sC6y9XsovHQqRwzc2HI,297
@@ -31,6 +31,6 @@ kostyl/utils/__init__.py,sha256=hkpmB6c5pr4Ti5BshOROebb7cvjDZfNCw83qZ_FFKMM,240
31
31
  kostyl/utils/dict_manipulations.py,sha256=e3vBicID74nYP8lHkVTQc4-IQwoJimrbFELy5uSF6Gk,1073
32
32
  kostyl/utils/fs.py,sha256=gAQNIU4R_2DhwjgzOS8BOMe0gZymtY1eZwmdgOdDgqo,510
33
33
  kostyl/utils/logging.py,sha256=3MvfDPArZhwakHu5nMlp_LpOsWg0E0SP26y41clsBtA,5232
34
- kostyl_toolkit-0.1.7.dist-info/WHEEL,sha256=3id4o64OvRm9dUknh3mMJNcfoTRK08ua5cU6DFyVy-4,79
35
- kostyl_toolkit-0.1.7.dist-info/METADATA,sha256=VncD3WCxkVTL3HOELoh9yA8iIMyYbR_IJXD5zbN2Bgk,4268
36
- kostyl_toolkit-0.1.7.dist-info/RECORD,,
34
+ kostyl_toolkit-0.1.8.dist-info/WHEEL,sha256=3id4o64OvRm9dUknh3mMJNcfoTRK08ua5cU6DFyVy-4,79
35
+ kostyl_toolkit-0.1.8.dist-info/METADATA,sha256=as5lkkeSw0gVJqEMTm9h4Vdq1P6Div7CHY35TfZVGLs,4268
36
+ kostyl_toolkit-0.1.8.dist-info/RECORD,,