runnable 0.30.4__tar.gz → 0.30.5__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.
Files changed (66) hide show
  1. {runnable-0.30.4 → runnable-0.30.5}/PKG-INFO +1 -1
  2. {runnable-0.30.4 → runnable-0.30.5}/extensions/nodes/torch.py +9 -2
  3. runnable-0.30.5/extensions/nodes/torch_config.py +39 -0
  4. {runnable-0.30.4 → runnable-0.30.5}/pyproject.toml +1 -1
  5. runnable-0.30.4/extensions/nodes/torch_config.py +0 -33
  6. {runnable-0.30.4 → runnable-0.30.5}/.gitignore +0 -0
  7. {runnable-0.30.4 → runnable-0.30.5}/LICENSE +0 -0
  8. {runnable-0.30.4 → runnable-0.30.5}/README.md +0 -0
  9. {runnable-0.30.4 → runnable-0.30.5}/extensions/README.md +0 -0
  10. {runnable-0.30.4 → runnable-0.30.5}/extensions/__init__.py +0 -0
  11. {runnable-0.30.4 → runnable-0.30.5}/extensions/catalog/README.md +0 -0
  12. {runnable-0.30.4 → runnable-0.30.5}/extensions/catalog/any_path.py +0 -0
  13. {runnable-0.30.4 → runnable-0.30.5}/extensions/catalog/file_system.py +0 -0
  14. {runnable-0.30.4 → runnable-0.30.5}/extensions/catalog/minio.py +0 -0
  15. {runnable-0.30.4 → runnable-0.30.5}/extensions/catalog/pyproject.toml +0 -0
  16. {runnable-0.30.4 → runnable-0.30.5}/extensions/catalog/s3.py +0 -0
  17. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/README.md +0 -0
  18. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/__init__.py +0 -0
  19. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/k8s.py +0 -0
  20. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/k8s_job_spec.yaml +0 -0
  21. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/local.py +0 -0
  22. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/local_container.py +0 -0
  23. {runnable-0.30.4 → runnable-0.30.5}/extensions/job_executor/pyproject.toml +0 -0
  24. {runnable-0.30.4 → runnable-0.30.5}/extensions/nodes/README.md +0 -0
  25. {runnable-0.30.4 → runnable-0.30.5}/extensions/nodes/nodes.py +0 -0
  26. {runnable-0.30.4 → runnable-0.30.5}/extensions/nodes/pyproject.toml +0 -0
  27. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/README.md +0 -0
  28. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/__init__.py +0 -0
  29. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/argo.py +0 -0
  30. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/local.py +0 -0
  31. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/local_container.py +0 -0
  32. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/mocked.py +0 -0
  33. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/pyproject.toml +0 -0
  34. {runnable-0.30.4 → runnable-0.30.5}/extensions/pipeline_executor/retry.py +0 -0
  35. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/README.md +0 -0
  36. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/__init__.py +0 -0
  37. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/any_path.py +0 -0
  38. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/chunked_fs.py +0 -0
  39. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/chunked_minio.py +0 -0
  40. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/db/implementation_FF.py +0 -0
  41. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/db/integration_FF.py +0 -0
  42. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/file_system.py +0 -0
  43. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/generic_chunked.py +0 -0
  44. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/minio.py +0 -0
  45. {runnable-0.30.4 → runnable-0.30.5}/extensions/run_log_store/pyproject.toml +0 -0
  46. {runnable-0.30.4 → runnable-0.30.5}/extensions/secrets/README.md +0 -0
  47. {runnable-0.30.4 → runnable-0.30.5}/extensions/secrets/dotenv.py +0 -0
  48. {runnable-0.30.4 → runnable-0.30.5}/extensions/secrets/pyproject.toml +0 -0
  49. {runnable-0.30.4 → runnable-0.30.5}/runnable/__init__.py +0 -0
  50. {runnable-0.30.4 → runnable-0.30.5}/runnable/catalog.py +0 -0
  51. {runnable-0.30.4 → runnable-0.30.5}/runnable/cli.py +0 -0
  52. {runnable-0.30.4 → runnable-0.30.5}/runnable/context.py +0 -0
  53. {runnable-0.30.4 → runnable-0.30.5}/runnable/datastore.py +0 -0
  54. {runnable-0.30.4 → runnable-0.30.5}/runnable/defaults.py +0 -0
  55. {runnable-0.30.4 → runnable-0.30.5}/runnable/entrypoints.py +0 -0
  56. {runnable-0.30.4 → runnable-0.30.5}/runnable/exceptions.py +0 -0
  57. {runnable-0.30.4 → runnable-0.30.5}/runnable/executor.py +0 -0
  58. {runnable-0.30.4 → runnable-0.30.5}/runnable/graph.py +0 -0
  59. {runnable-0.30.4 → runnable-0.30.5}/runnable/names.py +0 -0
  60. {runnable-0.30.4 → runnable-0.30.5}/runnable/nodes.py +0 -0
  61. {runnable-0.30.4 → runnable-0.30.5}/runnable/parameters.py +0 -0
  62. {runnable-0.30.4 → runnable-0.30.5}/runnable/pickler.py +0 -0
  63. {runnable-0.30.4 → runnable-0.30.5}/runnable/sdk.py +0 -0
  64. {runnable-0.30.4 → runnable-0.30.5}/runnable/secrets.py +0 -0
  65. {runnable-0.30.4 → runnable-0.30.5}/runnable/tasks.py +0 -0
  66. {runnable-0.30.4 → runnable-0.30.5}/runnable/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runnable
3
- Version: 0.30.4
3
+ Version: 0.30.5
4
4
  Summary: Add your description here
5
5
  Author-email: "Vammi, Vijay" <vijay.vammi@astrazeneca.com>
6
6
  License-File: LICENSE
@@ -6,7 +6,7 @@ import string
6
6
  from datetime import datetime
7
7
  from typing import Any, Callable
8
8
 
9
- from pydantic import ConfigDict, Field
9
+ from pydantic import BaseModel, ConfigDict, Field
10
10
 
11
11
  from extensions.nodes.torch_config import TorchConfig
12
12
  from runnable import PythonJob, datastore, defaults
@@ -120,7 +120,8 @@ class TorchNode(DistributedNode, TorchConfig):
120
120
  return cls(executable=executable, **node_config, **task_config)
121
121
 
122
122
  def get_launch_config(self) -> LaunchConfig:
123
- config, _, _ = config_from_args(self)
123
+ easy_model = EasyModel(**self.model_dump(exclude_none=True))
124
+ config, _, _ = config_from_args(easy_model)
124
125
  config.run_id = self._context.run_id
125
126
  return config
126
127
 
@@ -194,3 +195,9 @@ class TorchNode(DistributedNode, TorchConfig):
194
195
  assert (
195
196
  map_variable is None or not map_variable
196
197
  ), "TorchNode does not support map_variable"
198
+
199
+
200
+ class EasyModel(BaseModel):
201
+ model_config = ConfigDict(extra="allow")
202
+ logs_specs: str | None = None
203
+ local_addr: str | None = Field(default=None)
@@ -0,0 +1,39 @@
1
+ from enum import Enum
2
+
3
+ from pydantic import BaseModel, Field
4
+
5
+
6
+ class StartMethod(str, Enum):
7
+ spawn = "spawn"
8
+ fork = "fork"
9
+ forkserver = "forkserver"
10
+
11
+
12
+ class TorchConfig(BaseModel):
13
+ nnodes: str = Field(default="1:1")
14
+ nproc_per_node: int = Field(default=1)
15
+
16
+ rdzv_backend: str | None = Field(default="static")
17
+ rdzv_endpoint: str | None = Field(default="")
18
+ rdzv_id: str | None = Field(default="none")
19
+ rdzv_conf: str | None = Field(default="")
20
+
21
+ max_restarts: int | None = Field(default=None)
22
+ monitor_interval: float | None = Field(default=0.1)
23
+ start_method: str | None = Field(default=StartMethod.spawn)
24
+ role: str | None = Field(default="default")
25
+ log_dir: str | None = Field(default="torch_logs")
26
+ redirects: str | None = Field(default="0")
27
+ tee: str | None = Field(default="0")
28
+ master_addr: str | None = Field(default="localhost")
29
+ master_port: str | None = Field(default="29500")
30
+ training_script: str = Field(default="dummy_training_script")
31
+ training_script_args: str = Field(default="")
32
+
33
+ # Optional fields
34
+ local_ranks_filter: str | None = Field(default="0")
35
+ node_rank: int | None = Field(default=0)
36
+ standalone: bool | None = Field(default=None)
37
+ module: bool | None = Field(default=False)
38
+ no_python: bool | None = Field(default=False)
39
+ run_path: bool | None = Field(default=False)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runnable"
3
- version = "0.30.4"
3
+ version = "0.30.5"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -1,33 +0,0 @@
1
- from pydantic import BaseModel, Field
2
-
3
-
4
- class TorchConfig(BaseModel):
5
- nnodes: str = Field(default="1:1")
6
- nproc_per_node: int = Field(default=4)
7
-
8
- rdzv_backend: str = Field(default="static")
9
- rdzv_endpoint: str = Field(default="")
10
- rdzv_id: str | None = Field(default=None)
11
- rdzv_conf: str = Field(default="")
12
-
13
- max_restarts: int = Field(default=3)
14
- monitor_interval: float = Field(default=0.1)
15
- start_method: str = Field(default="spawn")
16
- role: str = Field(default="default_role")
17
- log_dir: str = Field(default="torch_logs")
18
- redirects: str = Field(default="1")
19
- tee: str = Field(default="1")
20
- master_addr: str = Field(default="localhost")
21
- master_port: str = Field(default="29500")
22
- training_script: str = Field(default="dummy_training_script")
23
- training_script_args: str = Field(default="")
24
-
25
- # Optional fields
26
- local_ranks_filter: str = Field(default="")
27
- node_rank: int = Field(default=0)
28
- local_addr: str | None = Field(default=None)
29
- logs_specs: str | None = Field(default=None)
30
- standalone: bool = Field(default=False)
31
- module: bool = Field(default=False)
32
- no_python: bool = Field(default=False)
33
- run_path: bool = Field(default=False)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes