runnable 0.16.0__tar.gz → 0.17.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. {runnable-0.16.0 → runnable-0.17.0}/PKG-INFO +1 -1
  2. runnable-0.17.0/examples/configs/in-memory.yaml +14 -0
  3. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/local.py +14 -28
  4. {runnable-0.16.0 → runnable-0.17.0}/pyproject.toml +1 -1
  5. {runnable-0.16.0 → runnable-0.17.0}/runnable/context.py +3 -1
  6. {runnable-0.16.0 → runnable-0.17.0}/runnable/datastore.py +14 -3
  7. {runnable-0.16.0 → runnable-0.17.0}/runnable/executor.py +1 -3
  8. {runnable-0.16.0 → runnable-0.17.0}/.dockerignore +0 -0
  9. {runnable-0.16.0 → runnable-0.17.0}/.github/workflows/docs.yaml +0 -0
  10. {runnable-0.16.0 → runnable-0.17.0}/.github/workflows/pr.yaml +0 -0
  11. {runnable-0.16.0 → runnable-0.17.0}/.github/workflows/release.yaml +0 -0
  12. {runnable-0.16.0 → runnable-0.17.0}/.gitignore +0 -0
  13. {runnable-0.16.0 → runnable-0.17.0}/.mypy.ini +0 -0
  14. {runnable-0.16.0 → runnable-0.17.0}/.pre-commit-config.yaml +0 -0
  15. {runnable-0.16.0 → runnable-0.17.0}/.python-version +0 -0
  16. {runnable-0.16.0 → runnable-0.17.0}/CHANGELOG.md +0 -0
  17. {runnable-0.16.0 → runnable-0.17.0}/CONTRIBUTING.md +0 -0
  18. {runnable-0.16.0 → runnable-0.17.0}/Dockerfile +0 -0
  19. {runnable-0.16.0 → runnable-0.17.0}/LICENSE +0 -0
  20. {runnable-0.16.0 → runnable-0.17.0}/README.md +0 -0
  21. {runnable-0.16.0 → runnable-0.17.0}/docs/architecture/yaml.md +0 -0
  22. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/cropped.png +0 -0
  23. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-expose-parameters.png +0 -0
  24. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-kubeflow-exec.png +0 -0
  25. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-kubeflow-ui.png +0 -0
  26. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-nested.png +0 -0
  27. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-parallel-map.png +0 -0
  28. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-sequential-map.png +0 -0
  29. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-workflows-gant.png +0 -0
  30. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/argo-workflows-logs.png +0 -0
  31. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/mlflow.png +0 -0
  32. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/mlflow_example.png +0 -0
  33. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/mlflow_step.png +0 -0
  34. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/notebook_api_parameters.png +0 -0
  35. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/notebook_env_parameters.png +0 -0
  36. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/notebook_input_parameters.png +0 -0
  37. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/notebook_native_parameters.png +0 -0
  38. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/screenshots/simple_notebook.png +0 -0
  39. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/speed.png +0 -0
  40. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/sport.png +0 -0
  41. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/work_dark.png +0 -0
  42. {runnable-0.16.0 → runnable-0.17.0}/docs/assets/work_light.png +0 -0
  43. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/catalog.md +0 -0
  44. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/index.md +0 -0
  45. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/map.md +0 -0
  46. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/nesting.md +0 -0
  47. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/parallel.md +0 -0
  48. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/parameters.md +0 -0
  49. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/pipeline.md +0 -0
  50. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/run-log.md +0 -0
  51. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/secrets.md +0 -0
  52. {runnable-0.16.0 → runnable-0.17.0}/docs/concepts/task.md +0 -0
  53. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/catalog.md +0 -0
  54. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/executors/argo.md +0 -0
  55. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/executors/container-environments.md +0 -0
  56. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/executors/local-container.md +0 -0
  57. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/executors/local.md +0 -0
  58. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/executors/mocked.md +0 -0
  59. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/executors/retry.md +0 -0
  60. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/overview.md +0 -0
  61. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/run-log.md +0 -0
  62. {runnable-0.16.0 → runnable-0.17.0}/docs/configurations/secrets.md +0 -0
  63. {runnable-0.16.0 → runnable-0.17.0}/docs/css/extra.css +0 -0
  64. {runnable-0.16.0 → runnable-0.17.0}/docs/index.md +0 -0
  65. {runnable-0.16.0 → runnable-0.17.0}/docs/iterative.md +0 -0
  66. {runnable-0.16.0 → runnable-0.17.0}/docs/reference.md +0 -0
  67. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/dynamic-looping.md +0 -0
  68. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/modular-dags.md +0 -0
  69. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/modular-notebooks.md +0 -0
  70. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/overview.md +0 -0
  71. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/script-based.md +0 -0
  72. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/single-notebook.md +0 -0
  73. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/switching-configs.md +0 -0
  74. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/using-parallel.md +0 -0
  75. {runnable-0.16.0 → runnable-0.17.0}/docs/tutorial/wrap-up.md +0 -0
  76. {runnable-0.16.0 → runnable-0.17.0}/docs/usage.md +0 -0
  77. {runnable-0.16.0 → runnable-0.17.0}/docs/why-runnable.md +0 -0
  78. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/notebook.py +0 -0
  79. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/notebook.yaml +0 -0
  80. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/python_tasks.py +0 -0
  81. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/python_tasks.yaml +0 -0
  82. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/scripts.py +0 -0
  83. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/scripts.yaml +0 -0
  84. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/stub.py +0 -0
  85. {runnable-0.16.0 → runnable-0.17.0}/examples/01-tasks/stub.yaml +0 -0
  86. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/default_fail.py +0 -0
  87. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/default_fail.yaml +0 -0
  88. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/on_failure_fail.py +0 -0
  89. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/on_failure_fail.yaml +0 -0
  90. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/on_failure_succeed.py +0 -0
  91. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/on_failure_succeed.yaml +0 -0
  92. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/traversal.py +0 -0
  93. {runnable-0.16.0 → runnable-0.17.0}/examples/02-sequential/traversal.yaml +0 -0
  94. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/passing_parameters_notebook.py +0 -0
  95. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/passing_parameters_notebook.yaml +0 -0
  96. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/passing_parameters_python.py +0 -0
  97. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/passing_parameters_python.yaml +0 -0
  98. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/passing_parameters_shell.py +0 -0
  99. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/passing_parameters_shell.yaml +0 -0
  100. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/static_parameters_non_python.py +0 -0
  101. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/static_parameters_non_python.yaml +0 -0
  102. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/static_parameters_python.py +0 -0
  103. {runnable-0.16.0 → runnable-0.17.0}/examples/03-parameters/static_parameters_python.yaml +0 -0
  104. {runnable-0.16.0 → runnable-0.17.0}/examples/04-catalog/catalog.py +0 -0
  105. {runnable-0.16.0 → runnable-0.17.0}/examples/04-catalog/catalog.yaml +0 -0
  106. {runnable-0.16.0 → runnable-0.17.0}/examples/06-parallel/nesting.py +0 -0
  107. {runnable-0.16.0 → runnable-0.17.0}/examples/06-parallel/nesting.yaml +0 -0
  108. {runnable-0.16.0 → runnable-0.17.0}/examples/06-parallel/parallel.py +0 -0
  109. {runnable-0.16.0 → runnable-0.17.0}/examples/06-parallel/parallel.yaml +0 -0
  110. {runnable-0.16.0 → runnable-0.17.0}/examples/07-map/custom_reducer.py +0 -0
  111. {runnable-0.16.0 → runnable-0.17.0}/examples/07-map/custom_reducer.yaml +0 -0
  112. {runnable-0.16.0 → runnable-0.17.0}/examples/07-map/map.py +0 -0
  113. {runnable-0.16.0 → runnable-0.17.0}/examples/07-map/map.yaml +0 -0
  114. {runnable-0.16.0 → runnable-0.17.0}/examples/08-mocking/default.yaml +0 -0
  115. {runnable-0.16.0 → runnable-0.17.0}/examples/08-mocking/patching.yaml +0 -0
  116. {runnable-0.16.0 → runnable-0.17.0}/examples/09-retry/config.yaml +0 -0
  117. {runnable-0.16.0 → runnable-0.17.0}/examples/09-retry/python_tasks.py +0 -0
  118. {runnable-0.16.0 → runnable-0.17.0}/examples/09-retry/python_tasks.yaml +0 -0
  119. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/catalog.py +0 -0
  120. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/catalog.yaml +0 -0
  121. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/k8s-job.yaml +0 -0
  122. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/local-container.yaml +0 -0
  123. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/notebook.yaml +0 -0
  124. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/passing_parameters_python.py +0 -0
  125. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/python_parameters.yaml +0 -0
  126. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/python_tasks.py +0 -0
  127. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/python_tasks.yaml +0 -0
  128. {runnable-0.16.0 → runnable-0.17.0}/examples/11-jobs/scripts.yaml +0 -0
  129. {runnable-0.16.0 → runnable-0.17.0}/examples/Dockerfile.39 +0 -0
  130. {runnable-0.16.0 → runnable-0.17.0}/examples/README.md +0 -0
  131. {runnable-0.16.0 → runnable-0.17.0}/examples/common/functions.py +0 -0
  132. {runnable-0.16.0 → runnable-0.17.0}/examples/common/initial_parameters.yaml +0 -0
  133. {runnable-0.16.0 → runnable-0.17.0}/examples/common/process_chunk.ipynb +0 -0
  134. {runnable-0.16.0 → runnable-0.17.0}/examples/common/read_files.ipynb +0 -0
  135. {runnable-0.16.0 → runnable-0.17.0}/examples/common/read_parameters.ipynb +0 -0
  136. {runnable-0.16.0 → runnable-0.17.0}/examples/common/simple_notebook.ipynb +0 -0
  137. {runnable-0.16.0 → runnable-0.17.0}/examples/common/simple_notebook_mocked.ipynb +0 -0
  138. {runnable-0.16.0 → runnable-0.17.0}/examples/common/write_parameters.ipynb +0 -0
  139. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/README.md +0 -0
  140. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/kedro/README.md +0 -0
  141. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/kfp/README.md +0 -0
  142. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/metaflow/main.py +0 -0
  143. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/metaflow/parameters.json +0 -0
  144. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/runnable/main.py +0 -0
  145. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/runnable/runnable_params.yaml +0 -0
  146. {runnable-0.16.0 → runnable-0.17.0}/examples/comparisons/source.py +0 -0
  147. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/argo-config-full.yaml +0 -0
  148. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/argo-config.yaml +0 -0
  149. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/chunked-fs-run_log.yaml +0 -0
  150. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/default.yaml +0 -0
  151. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/dotenv.yaml +0 -0
  152. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/local-container.yaml +0 -0
  153. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/mocked-config-debug.yaml +0 -0
  154. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/mocked-config-simple.yaml +0 -0
  155. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/mocked-config-unittest.yaml +0 -0
  156. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/mocked-config.yaml +0 -0
  157. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/mocked_map_parameters.yaml +0 -0
  158. {runnable-0.16.0 → runnable-0.17.0}/examples/configs/retry-config.yaml +0 -0
  159. {runnable-0.16.0 → runnable-0.17.0}/examples/executors/argo-map-sequential.yaml +0 -0
  160. {runnable-0.16.0 → runnable-0.17.0}/examples/executors/local-container-override.yaml +0 -0
  161. {runnable-0.16.0 → runnable-0.17.0}/examples/executors/step_overrides_container.py +0 -0
  162. {runnable-0.16.0 → runnable-0.17.0}/examples/executors/step_overrides_container.yaml +0 -0
  163. {runnable-0.16.0 → runnable-0.17.0}/examples/generated-argo-pipeline.yaml +0 -0
  164. {runnable-0.16.0 → runnable-0.17.0}/examples/iris_demo.py +0 -0
  165. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/mnist/baseline_comparison.py +0 -0
  166. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/mnist/hyper_parameter_tuning.py +0 -0
  167. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/mnist/modular_source.py +0 -0
  168. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/mnist/parameters.yaml +0 -0
  169. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/mnist/parameters_source.py +0 -0
  170. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/mnist/source.py +0 -0
  171. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/reddit_text_classification/parameters.yaml +0 -0
  172. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/reddit_text_classification/pipeline.py +0 -0
  173. {runnable-0.16.0 → runnable-0.17.0}/examples/tutorials/reddit_text_classification/steps.py +0 -0
  174. {runnable-0.16.0 → runnable-0.17.0}/extensions/README.md +0 -0
  175. {runnable-0.16.0 → runnable-0.17.0}/extensions/__init__.py +0 -0
  176. {runnable-0.16.0 → runnable-0.17.0}/extensions/catalog/file_system.py +0 -0
  177. {runnable-0.16.0 → runnable-0.17.0}/extensions/catalog/pyproject.toml +0 -0
  178. {runnable-0.16.0 → runnable-0.17.0}/extensions/job_executor/__init__.py +0 -0
  179. {runnable-0.16.0 → runnable-0.17.0}/extensions/job_executor/k8s.py +0 -0
  180. {runnable-0.16.0 → runnable-0.17.0}/extensions/job_executor/k8s_job_spec.yaml +0 -0
  181. {runnable-0.16.0 → runnable-0.17.0}/extensions/job_executor/local.py +0 -0
  182. {runnable-0.16.0 → runnable-0.17.0}/extensions/job_executor/local_container.py +0 -0
  183. {runnable-0.16.0 → runnable-0.17.0}/extensions/job_executor/pyproject.toml +0 -0
  184. {runnable-0.16.0 → runnable-0.17.0}/extensions/nodes/nodes.py +0 -0
  185. {runnable-0.16.0 → runnable-0.17.0}/extensions/nodes/pyproject.toml +0 -0
  186. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/__init__.py +0 -0
  187. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/argo.py +0 -0
  188. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/argo_specification.yaml +0 -0
  189. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/local_container.py +0 -0
  190. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/mocked.py +0 -0
  191. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/pyproject.toml +0 -0
  192. {runnable-0.16.0 → runnable-0.17.0}/extensions/pipeline_executor/retry.py +0 -0
  193. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/__init__.py +0 -0
  194. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/chunked_fs.py +0 -0
  195. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/db/implementation_FF.py +0 -0
  196. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/db/integration_FF.py +0 -0
  197. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/file_system.py +0 -0
  198. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/generic_chunked.py +0 -0
  199. {runnable-0.16.0 → runnable-0.17.0}/extensions/run_log_store/pyproject.toml +0 -0
  200. {runnable-0.16.0 → runnable-0.17.0}/extensions/secrets/__init__.py +0 -0
  201. {runnable-0.16.0 → runnable-0.17.0}/extensions/secrets/dotenv.py +0 -0
  202. {runnable-0.16.0 → runnable-0.17.0}/extensions/secrets/pyproject.toml +0 -0
  203. {runnable-0.16.0 → runnable-0.17.0}/mkdocs.yml +0 -0
  204. {runnable-0.16.0 → runnable-0.17.0}/runnable/__init__.py +0 -0
  205. {runnable-0.16.0 → runnable-0.17.0}/runnable/catalog.py +0 -0
  206. {runnable-0.16.0 → runnable-0.17.0}/runnable/cli.py +0 -0
  207. {runnable-0.16.0 → runnable-0.17.0}/runnable/defaults.py +0 -0
  208. {runnable-0.16.0 → runnable-0.17.0}/runnable/entrypoints.py +0 -0
  209. {runnable-0.16.0 → runnable-0.17.0}/runnable/exceptions.py +0 -0
  210. {runnable-0.16.0 → runnable-0.17.0}/runnable/graph.py +0 -0
  211. {runnable-0.16.0 → runnable-0.17.0}/runnable/names.py +0 -0
  212. {runnable-0.16.0 → runnable-0.17.0}/runnable/nodes.py +0 -0
  213. {runnable-0.16.0 → runnable-0.17.0}/runnable/parameters.py +0 -0
  214. {runnable-0.16.0 → runnable-0.17.0}/runnable/pickler.py +0 -0
  215. {runnable-0.16.0 → runnable-0.17.0}/runnable/sdk.py +0 -0
  216. {runnable-0.16.0 → runnable-0.17.0}/runnable/secrets.py +0 -0
  217. {runnable-0.16.0 → runnable-0.17.0}/runnable/tasks.py +0 -0
  218. {runnable-0.16.0 → runnable-0.17.0}/runnable/utils.py +0 -0
  219. {runnable-0.16.0 → runnable-0.17.0}/tests/__init__.py +0 -0
  220. {runnable-0.16.0 → runnable-0.17.0}/tests/conftest.py +0 -0
  221. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/__init__.py +0 -0
  222. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/catalog/test_catalog_extension.py +0 -0
  223. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/catalog/test_file_system.py +0 -0
  224. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/pipeline_executor/test_argo_executor.py +0 -0
  225. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/pipeline_executor/test_generic_executor.py +0 -0
  226. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/pipeline_executor/test_local_executor.py +0 -0
  227. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/run_log_store/__init__.py +0 -0
  228. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/run_log_store/test_file_system.py +0 -0
  229. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/secrets/test_dotenv.py +0 -0
  230. {runnable-0.16.0 → runnable-0.17.0}/tests/extensions/test_node_extensions.py +0 -0
  231. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_catalog.py +0 -0
  232. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_datastore.py +0 -0
  233. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_executor.py +0 -0
  234. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_graph.py +0 -0
  235. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_nodes.py +0 -0
  236. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_parmeters.py +0 -0
  237. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_sdk.py +0 -0
  238. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_secrets.py +0 -0
  239. {runnable-0.16.0 → runnable-0.17.0}/tests/runnable/test_utils.py +0 -0
  240. {runnable-0.16.0 → runnable-0.17.0}/tests/test_examples.py +0 -0
  241. {runnable-0.16.0 → runnable-0.17.0}/tox.ini +0 -0
  242. {runnable-0.16.0 → runnable-0.17.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runnable
3
- Version: 0.16.0
3
+ Version: 0.17.0
4
4
  Summary: Add your description here
5
5
  Author-email: "Vammi, Vijay" <vijay.vammi@astrazeneca.com>
6
6
  License-File: LICENSE
@@ -0,0 +1,14 @@
1
+ pipeline-executor:
2
+ type: local # (1)
3
+ config:
4
+ object_serialisation: false
5
+
6
+
7
+ run-log-store:
8
+ type: buffered # (2)
9
+
10
+ catalog:
11
+ type: do-nothing # (3)
12
+
13
+ secrets:
14
+ type: do-nothing # (4)
@@ -1,5 +1,7 @@
1
1
  import logging
2
2
 
3
+ from pydantic import Field, PrivateAttr
4
+
3
5
  from extensions.pipeline_executor import GenericPipelineExecutor
4
6
  from runnable import defaults
5
7
  from runnable.defaults import TypeMapVariable
@@ -22,7 +24,18 @@ class LocalExecutor(GenericPipelineExecutor):
22
24
  """
23
25
 
24
26
  service_name: str = "local"
25
- _is_local: bool = True
27
+
28
+ object_serialisation: bool = Field(default=True)
29
+
30
+ _is_local: bool = PrivateAttr(default=True)
31
+
32
+ def execute_from_graph(
33
+ self, node: BaseNode, map_variable: TypeMapVariable = None, **kwargs
34
+ ):
35
+ if not self.object_serialisation:
36
+ self._context.object_serialisation = False
37
+
38
+ super().execute_from_graph(node=node, map_variable=map_variable, **kwargs)
26
39
 
27
40
  def trigger_node_execution(
28
41
  self, node: BaseNode, map_variable: TypeMapVariable = None, **kwargs
@@ -47,30 +60,3 @@ class LocalExecutor(GenericPipelineExecutor):
47
60
  map_variable (dict[str, str], optional): _description_. Defaults to None.
48
61
  """
49
62
  self._execute_node(node=node, map_variable=map_variable, **kwargs)
50
-
51
- # def execute_job(self, node: TaskNode):
52
- # """
53
- # Set up the step log and call the execute node
54
-
55
- # Args:
56
- # node (BaseNode): _description_
57
- # """
58
-
59
- # step_log = self._context.run_log_store.create_step_log(
60
- # node.name, node._get_step_log_name(map_variable=None)
61
- # )
62
-
63
- # self.add_code_identities(node=node, step_log=step_log)
64
-
65
- # step_log.step_type = node.node_type
66
- # step_log.status = defaults.PROCESSING
67
- # self._context.run_log_store.add_step_log(step_log, self._context.run_id)
68
- # self.execute_node(node=node)
69
-
70
- # # Update the run log status
71
- # step_log = self._context.run_log_store.get_step_log(
72
- # node._get_step_log_name(), self._context.run_id
73
- # )
74
- # self._context.run_log_store.update_run_log_status(
75
- # run_id=self._context.run_id, status=step_log.status
76
- # )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runnable"
3
- version = "0.16.0"
3
+ version = "0.17.0"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -1,4 +1,4 @@
1
- from typing import Dict, List, Optional
1
+ from typing import Any, Dict, List, Optional
2
2
 
3
3
  from pydantic import BaseModel, ConfigDict, Field, SerializeAsAny
4
4
  from rich.progress import Progress
@@ -29,6 +29,8 @@ class Context(BaseModel):
29
29
  from_sdk: bool = False
30
30
 
31
31
  run_id: str = ""
32
+ object_serialisation: bool = True
33
+ return_objects: Dict[str, Any] = {}
32
34
 
33
35
  tag: str = ""
34
36
  variables: Dict[str, str] = {}
@@ -98,22 +98,33 @@ class ObjectParameter(BaseModel):
98
98
  @computed_field # type: ignore
99
99
  @property
100
100
  def description(self) -> str:
101
- return f"Pickled object stored in catalog as: {self.value}"
101
+ if context.run_context.object_serialisation:
102
+ return f"Pickled object stored in catalog as: {self.value}"
103
+
104
+ return f"Object stored in memory as: {self.value}"
102
105
 
103
106
  @property
104
107
  def file_name(self) -> str:
105
108
  return f"{self.value}{context.run_context.pickler.extension}"
106
109
 
107
110
  def get_value(self) -> Any:
108
- # Get the pickled object
109
- catalog_handler = context.run_context.catalog_handler
111
+ # If there was no serialisation, return the object from the return objects
112
+ if not context.run_context.object_serialisation:
113
+ return context.run_context.return_objects[self.value]
110
114
 
115
+ # If the object was serialised, get it from the catalog
116
+ catalog_handler = context.run_context.catalog_handler
111
117
  catalog_handler.get(name=self.file_name, run_id=context.run_context.run_id)
112
118
  obj = context.run_context.pickler.load(path=self.file_name)
113
119
  os.remove(self.file_name) # Remove after loading
114
120
  return obj
115
121
 
116
122
  def put_object(self, data: Any) -> None:
123
+ if not context.run_context.object_serialisation:
124
+ context.run_context.return_objects[self.value] = data
125
+ return
126
+
127
+ # If the object was serialised, put it in the catalog
117
128
  context.run_context.pickler.dump(data=data, path=self.file_name)
118
129
 
119
130
  catalog_handler = context.run_context.catalog_handler
@@ -34,9 +34,7 @@ class BaseExecutor(ABC, BaseModel):
34
34
  service_name: str = ""
35
35
  service_type: str = "executor"
36
36
 
37
- _is_local: bool = (
38
- False # This is a flag to indicate whether the executor is local or not.
39
- )
37
+ _is_local: bool = PrivateAttr(default=False)
40
38
 
41
39
  model_config = ConfigDict(extra="forbid")
42
40
 
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
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
File without changes
File without changes