runnable 0.17.1__tar.gz → 0.18.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. {runnable-0.17.1 → runnable-0.18.0}/PKG-INFO +1 -7
  2. runnable-0.18.0/extensions/catalog/pyproject.toml +14 -0
  3. runnable-0.18.0/extensions/job_executor/pyproject.toml +16 -0
  4. runnable-0.18.0/extensions/nodes/pyproject.toml +15 -0
  5. runnable-0.18.0/extensions/pipeline_executor/pyproject.toml +16 -0
  6. runnable-0.18.0/extensions/run_log_store/pyproject.toml +15 -0
  7. runnable-0.18.0/extensions/secrets/pyproject.toml +15 -0
  8. {runnable-0.17.1 → runnable-0.18.0}/pyproject.toml +25 -15
  9. runnable-0.17.1/.dockerignore +0 -10
  10. runnable-0.17.1/.github/workflows/docs.yaml +0 -18
  11. runnable-0.17.1/.github/workflows/pr.yaml +0 -53
  12. runnable-0.17.1/.github/workflows/release.yaml +0 -101
  13. runnable-0.17.1/.mypy.ini +0 -48
  14. runnable-0.17.1/.pre-commit-config.yaml +0 -34
  15. runnable-0.17.1/.python-version +0 -1
  16. runnable-0.17.1/CHANGELOG.md +0 -1897
  17. runnable-0.17.1/Dockerfile +0 -22
  18. runnable-0.17.1/docs/assets/cropped.png +0 -0
  19. runnable-0.17.1/docs/assets/screenshots/argo-expose-parameters.png +0 -0
  20. runnable-0.17.1/docs/assets/screenshots/argo-kubeflow-exec.png +0 -0
  21. runnable-0.17.1/docs/assets/screenshots/argo-kubeflow-ui.png +0 -0
  22. runnable-0.17.1/docs/assets/screenshots/argo-nested.png +0 -0
  23. runnable-0.17.1/docs/assets/screenshots/argo-parallel-map.png +0 -0
  24. runnable-0.17.1/docs/assets/screenshots/argo-sequential-map.png +0 -0
  25. runnable-0.17.1/docs/assets/screenshots/argo-workflows-gant.png +0 -0
  26. runnable-0.17.1/docs/assets/screenshots/argo-workflows-logs.png +0 -0
  27. runnable-0.17.1/docs/assets/screenshots/mlflow.png +0 -0
  28. runnable-0.17.1/docs/assets/screenshots/mlflow_example.png +0 -0
  29. runnable-0.17.1/docs/assets/screenshots/mlflow_step.png +0 -0
  30. runnable-0.17.1/docs/assets/screenshots/notebook_api_parameters.png +0 -0
  31. runnable-0.17.1/docs/assets/screenshots/notebook_env_parameters.png +0 -0
  32. runnable-0.17.1/docs/assets/screenshots/notebook_input_parameters.png +0 -0
  33. runnable-0.17.1/docs/assets/screenshots/notebook_native_parameters.png +0 -0
  34. runnable-0.17.1/docs/assets/screenshots/simple_notebook.png +0 -0
  35. runnable-0.17.1/docs/assets/speed.png +0 -0
  36. runnable-0.17.1/docs/assets/sport.png +0 -0
  37. runnable-0.17.1/docs/assets/work_dark.png +0 -0
  38. runnable-0.17.1/docs/assets/work_light.png +0 -0
  39. runnable-0.17.1/docs/concepts/catalog.md +0 -87
  40. runnable-0.17.1/docs/concepts/index.md +0 -55
  41. runnable-0.17.1/docs/concepts/map.md +0 -227
  42. runnable-0.17.1/docs/concepts/nesting.md +0 -1354
  43. runnable-0.17.1/docs/concepts/parallel.md +0 -134
  44. runnable-0.17.1/docs/concepts/parameters.md +0 -255
  45. runnable-0.17.1/docs/concepts/pipeline.md +0 -176
  46. runnable-0.17.1/docs/concepts/run-log.md +0 -144
  47. runnable-0.17.1/docs/concepts/secrets.md +0 -69
  48. runnable-0.17.1/docs/concepts/task.md +0 -146
  49. runnable-0.17.1/docs/configurations/catalog.md +0 -279
  50. runnable-0.17.1/docs/configurations/executors/argo.md +0 -1650
  51. runnable-0.17.1/docs/configurations/executors/container-environments.md +0 -71
  52. runnable-0.17.1/docs/configurations/executors/local-container.md +0 -352
  53. runnable-0.17.1/docs/configurations/executors/local.md +0 -17
  54. runnable-0.17.1/docs/configurations/executors/mocked.md +0 -1015
  55. runnable-0.17.1/docs/configurations/overview.md +0 -80
  56. runnable-0.17.1/docs/configurations/run-log.md +0 -427
  57. runnable-0.17.1/docs/configurations/secrets.md +0 -140
  58. runnable-0.17.1/docs/css/extra.css +0 -3
  59. runnable-0.17.1/docs/index.md +0 -190
  60. runnable-0.17.1/docs/iterative.md +0 -44
  61. runnable-0.17.1/docs/reference.md +0 -146
  62. runnable-0.17.1/docs/tutorial/overview.md +0 -0
  63. runnable-0.17.1/docs/tutorial/script-based.md +0 -0
  64. runnable-0.17.1/docs/tutorial/single-notebook.md +0 -0
  65. runnable-0.17.1/docs/tutorial/switching-configs.md +0 -0
  66. runnable-0.17.1/docs/tutorial/using-parallel.md +0 -0
  67. runnable-0.17.1/docs/tutorial/wrap-up.md +0 -0
  68. runnable-0.17.1/docs/usage.md +0 -56
  69. runnable-0.17.1/docs/why-runnable.md +0 -104
  70. runnable-0.17.1/examples/01-tasks/notebook.py +0 -44
  71. runnable-0.17.1/examples/01-tasks/notebook.yaml +0 -31
  72. runnable-0.17.1/examples/01-tasks/python_tasks.py +0 -43
  73. runnable-0.17.1/examples/01-tasks/python_tasks.yaml +0 -23
  74. runnable-0.17.1/examples/01-tasks/scripts.py +0 -37
  75. runnable-0.17.1/examples/01-tasks/scripts.yaml +0 -20
  76. runnable-0.17.1/examples/01-tasks/stub.py +0 -42
  77. runnable-0.17.1/examples/01-tasks/stub.yaml +0 -29
  78. runnable-0.17.1/examples/02-sequential/default_fail.py +0 -36
  79. runnable-0.17.1/examples/02-sequential/default_fail.yaml +0 -23
  80. runnable-0.17.1/examples/02-sequential/on_failure_fail.py +0 -43
  81. runnable-0.17.1/examples/02-sequential/on_failure_fail.yaml +0 -34
  82. runnable-0.17.1/examples/02-sequential/on_failure_succeed.py +0 -44
  83. runnable-0.17.1/examples/02-sequential/on_failure_succeed.yaml +0 -34
  84. runnable-0.17.1/examples/02-sequential/traversal.py +0 -65
  85. runnable-0.17.1/examples/02-sequential/traversal.yaml +0 -46
  86. runnable-0.17.1/examples/03-parameters/passing_parameters_notebook.py +0 -59
  87. runnable-0.17.1/examples/03-parameters/passing_parameters_notebook.yaml +0 -38
  88. runnable-0.17.1/examples/03-parameters/passing_parameters_python.py +0 -55
  89. runnable-0.17.1/examples/03-parameters/passing_parameters_python.yaml +0 -38
  90. runnable-0.17.1/examples/03-parameters/passing_parameters_shell.py +0 -73
  91. runnable-0.17.1/examples/03-parameters/passing_parameters_shell.yaml +0 -51
  92. runnable-0.17.1/examples/03-parameters/static_parameters_non_python.py +0 -61
  93. runnable-0.17.1/examples/03-parameters/static_parameters_non_python.yaml +0 -46
  94. runnable-0.17.1/examples/03-parameters/static_parameters_python.py +0 -77
  95. runnable-0.17.1/examples/03-parameters/static_parameters_python.yaml +0 -33
  96. runnable-0.17.1/examples/04-catalog/catalog.py +0 -131
  97. runnable-0.17.1/examples/04-catalog/catalog.yaml +0 -115
  98. runnable-0.17.1/examples/06-parallel/nesting.py +0 -87
  99. runnable-0.17.1/examples/06-parallel/nesting.yaml +0 -50
  100. runnable-0.17.1/examples/06-parallel/parallel.py +0 -66
  101. runnable-0.17.1/examples/06-parallel/parallel.yaml +0 -45
  102. runnable-0.17.1/examples/07-map/custom_reducer.py +0 -129
  103. runnable-0.17.1/examples/07-map/custom_reducer.yaml +0 -73
  104. runnable-0.17.1/examples/07-map/map.py +0 -133
  105. runnable-0.17.1/examples/07-map/map.yaml +0 -74
  106. runnable-0.17.1/examples/08-mocking/default.yaml +0 -13
  107. runnable-0.17.1/examples/08-mocking/patching.yaml +0 -19
  108. runnable-0.17.1/examples/09-retry/config.yaml +0 -4
  109. runnable-0.17.1/examples/09-retry/python_tasks.py +0 -60
  110. runnable-0.17.1/examples/09-retry/python_tasks.yaml +0 -33
  111. runnable-0.17.1/examples/11-jobs/catalog.py +0 -23
  112. runnable-0.17.1/examples/11-jobs/catalog.yaml +0 -5
  113. runnable-0.17.1/examples/11-jobs/k8s-job.yaml +0 -41
  114. runnable-0.17.1/examples/11-jobs/local-container.yaml +0 -4
  115. runnable-0.17.1/examples/11-jobs/notebook.yaml +0 -3
  116. runnable-0.17.1/examples/11-jobs/passing_parameters_python.py +0 -47
  117. runnable-0.17.1/examples/11-jobs/python_parameters.yaml +0 -11
  118. runnable-0.17.1/examples/11-jobs/python_tasks.py +0 -44
  119. runnable-0.17.1/examples/11-jobs/python_tasks.yaml +0 -2
  120. runnable-0.17.1/examples/11-jobs/scripts.yaml +0 -20
  121. runnable-0.17.1/examples/Dockerfile.39 +0 -31
  122. runnable-0.17.1/examples/README.md +0 -93
  123. runnable-0.17.1/examples/common/functions.py +0 -166
  124. runnable-0.17.1/examples/common/initial_parameters.yaml +0 -8
  125. runnable-0.17.1/examples/common/process_chunk.ipynb +0 -70
  126. runnable-0.17.1/examples/common/read_files.ipynb +0 -43
  127. runnable-0.17.1/examples/common/read_parameters.ipynb +0 -69
  128. runnable-0.17.1/examples/common/simple_notebook.ipynb +0 -46
  129. runnable-0.17.1/examples/common/simple_notebook_mocked.ipynb +0 -46
  130. runnable-0.17.1/examples/common/write_parameters.ipynb +0 -68
  131. runnable-0.17.1/examples/comparisons/README.md +0 -174
  132. runnable-0.17.1/examples/comparisons/kedro/README.md +0 -1
  133. runnable-0.17.1/examples/comparisons/kfp/README.md +0 -1
  134. runnable-0.17.1/examples/comparisons/metaflow/main.py +0 -135
  135. runnable-0.17.1/examples/comparisons/metaflow/parameters.json +0 -46
  136. runnable-0.17.1/examples/comparisons/runnable/main.py +0 -291
  137. runnable-0.17.1/examples/comparisons/runnable/runnable_params.yaml +0 -41
  138. runnable-0.17.1/examples/comparisons/source.py +0 -202
  139. runnable-0.17.1/examples/configs/argo-config-full.yaml +0 -50
  140. runnable-0.17.1/examples/configs/argo-config.yaml +0 -18
  141. runnable-0.17.1/examples/configs/chunked-fs-run_log.yaml +0 -2
  142. runnable-0.17.1/examples/configs/default.yaml +0 -11
  143. runnable-0.17.1/examples/configs/dotenv.yaml +0 -4
  144. runnable-0.17.1/examples/configs/in-memory.yaml +0 -14
  145. runnable-0.17.1/examples/configs/local-container.yaml +0 -7
  146. runnable-0.17.1/examples/configs/mocked-config-debug.yaml +0 -12
  147. runnable-0.17.1/examples/configs/mocked-config-simple.yaml +0 -8
  148. runnable-0.17.1/examples/configs/mocked-config-unittest.yaml +0 -12
  149. runnable-0.17.1/examples/configs/mocked-config.yaml +0 -12
  150. runnable-0.17.1/examples/configs/mocked_map_parameters.yaml +0 -7
  151. runnable-0.17.1/examples/configs/retry-config.yaml +0 -10
  152. runnable-0.17.1/examples/executors/argo-map-sequential.yaml +0 -42
  153. runnable-0.17.1/examples/executors/local-container-override.yaml +0 -23
  154. runnable-0.17.1/examples/executors/step_overrides_container.py +0 -53
  155. runnable-0.17.1/examples/executors/step_overrides_container.yaml +0 -35
  156. runnable-0.17.1/examples/generated-argo-pipeline.yaml +0 -175
  157. runnable-0.17.1/examples/iris_demo.py +0 -102
  158. runnable-0.17.1/examples/tutorials/mnist/baseline_comparison.py +0 -312
  159. runnable-0.17.1/examples/tutorials/mnist/hyper_parameter_tuning.py +0 -206
  160. runnable-0.17.1/examples/tutorials/mnist/modular_source.py +0 -171
  161. runnable-0.17.1/examples/tutorials/mnist/parameters.yaml +0 -36
  162. runnable-0.17.1/examples/tutorials/mnist/parameters_source.py +0 -173
  163. runnable-0.17.1/examples/tutorials/mnist/source.py +0 -80
  164. runnable-0.17.1/examples/tutorials/reddit_text_classification/parameters.yaml +0 -9
  165. runnable-0.17.1/examples/tutorials/reddit_text_classification/pipeline.py +0 -60
  166. runnable-0.17.1/examples/tutorials/reddit_text_classification/steps.py +0 -131
  167. runnable-0.17.1/extensions/catalog/pyproject.toml +0 -7
  168. runnable-0.17.1/extensions/job_executor/pyproject.toml +0 -7
  169. runnable-0.17.1/extensions/nodes/pyproject.toml +0 -7
  170. runnable-0.17.1/extensions/pipeline_executor/pyproject.toml +0 -7
  171. runnable-0.17.1/extensions/run_log_store/pyproject.toml +0 -7
  172. runnable-0.17.1/extensions/secrets/__init__.py +0 -0
  173. runnable-0.17.1/extensions/secrets/pyproject.toml +0 -7
  174. runnable-0.17.1/mkdocs.yml +0 -140
  175. runnable-0.17.1/tests/__init__.py +0 -0
  176. runnable-0.17.1/tests/conftest.py +0 -11
  177. runnable-0.17.1/tests/extensions/__init__.py +0 -0
  178. runnable-0.17.1/tests/extensions/catalog/test_catalog_extension.py +0 -52
  179. runnable-0.17.1/tests/extensions/catalog/test_file_system.py +0 -312
  180. runnable-0.17.1/tests/extensions/pipeline_executor/test_argo_executor.py +0 -138
  181. runnable-0.17.1/tests/extensions/pipeline_executor/test_generic_executor.py +0 -558
  182. runnable-0.17.1/tests/extensions/pipeline_executor/test_local_executor.py +0 -14
  183. runnable-0.17.1/tests/extensions/run_log_store/__init__.py +0 -0
  184. runnable-0.17.1/tests/extensions/run_log_store/test_file_system.py +0 -155
  185. runnable-0.17.1/tests/extensions/secrets/test_dotenv.py +0 -17
  186. runnable-0.17.1/tests/extensions/test_node_extensions.py +0 -265
  187. runnable-0.17.1/tests/runnable/test_catalog.py +0 -61
  188. runnable-0.17.1/tests/runnable/test_datastore.py +0 -551
  189. runnable-0.17.1/tests/runnable/test_executor.py +0 -30
  190. runnable-0.17.1/tests/runnable/test_graph.py +0 -451
  191. runnable-0.17.1/tests/runnable/test_nodes.py +0 -439
  192. runnable-0.17.1/tests/runnable/test_parmeters.py +0 -131
  193. runnable-0.17.1/tests/runnable/test_sdk.py +0 -37
  194. runnable-0.17.1/tests/runnable/test_secrets.py +0 -33
  195. runnable-0.17.1/tests/runnable/test_utils.py +0 -453
  196. runnable-0.17.1/tests/test_examples.py +0 -210
  197. runnable-0.17.1/tox.ini +0 -19
  198. runnable-0.17.1/uv.lock +0 -2441
  199. {runnable-0.17.1 → runnable-0.18.0}/.gitignore +0 -0
  200. {runnable-0.17.1 → runnable-0.18.0}/LICENSE +0 -0
  201. {runnable-0.17.1 → runnable-0.18.0}/README.md +0 -0
  202. {runnable-0.17.1 → runnable-0.18.0}/extensions/README.md +0 -0
  203. {runnable-0.17.1 → runnable-0.18.0}/extensions/__init__.py +0 -0
  204. /runnable-0.17.1/CONTRIBUTING.md → /runnable-0.18.0/extensions/catalog/README.md +0 -0
  205. {runnable-0.17.1 → runnable-0.18.0}/extensions/catalog/file_system.py +0 -0
  206. /runnable-0.17.1/docs/architecture/yaml.md → /runnable-0.18.0/extensions/job_executor/README.md +0 -0
  207. {runnable-0.17.1 → runnable-0.18.0}/extensions/job_executor/__init__.py +0 -0
  208. {runnable-0.17.1 → runnable-0.18.0}/extensions/job_executor/k8s.py +0 -0
  209. {runnable-0.17.1 → runnable-0.18.0}/extensions/job_executor/k8s_job_spec.yaml +0 -0
  210. {runnable-0.17.1 → runnable-0.18.0}/extensions/job_executor/local.py +0 -0
  211. {runnable-0.17.1 → runnable-0.18.0}/extensions/job_executor/local_container.py +0 -0
  212. /runnable-0.17.1/docs/configurations/executors/retry.md → /runnable-0.18.0/extensions/nodes/README.md +0 -0
  213. {runnable-0.17.1 → runnable-0.18.0}/extensions/nodes/nodes.py +0 -0
  214. /runnable-0.17.1/docs/tutorial/dynamic-looping.md → /runnable-0.18.0/extensions/pipeline_executor/README.md +0 -0
  215. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/__init__.py +0 -0
  216. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/argo.py +0 -0
  217. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/argo_specification.yaml +0 -0
  218. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/local.py +0 -0
  219. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/local_container.py +0 -0
  220. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/mocked.py +0 -0
  221. {runnable-0.17.1 → runnable-0.18.0}/extensions/pipeline_executor/retry.py +0 -0
  222. /runnable-0.17.1/docs/tutorial/modular-dags.md → /runnable-0.18.0/extensions/run_log_store/README.md +0 -0
  223. {runnable-0.17.1 → runnable-0.18.0}/extensions/run_log_store/__init__.py +0 -0
  224. {runnable-0.17.1 → runnable-0.18.0}/extensions/run_log_store/chunked_fs.py +0 -0
  225. {runnable-0.17.1 → runnable-0.18.0}/extensions/run_log_store/db/implementation_FF.py +0 -0
  226. {runnable-0.17.1 → runnable-0.18.0}/extensions/run_log_store/db/integration_FF.py +0 -0
  227. {runnable-0.17.1 → runnable-0.18.0}/extensions/run_log_store/file_system.py +0 -0
  228. {runnable-0.17.1 → runnable-0.18.0}/extensions/run_log_store/generic_chunked.py +0 -0
  229. /runnable-0.17.1/docs/tutorial/modular-notebooks.md → /runnable-0.18.0/extensions/secrets/README.md +0 -0
  230. {runnable-0.17.1 → runnable-0.18.0}/extensions/secrets/dotenv.py +0 -0
  231. {runnable-0.17.1 → runnable-0.18.0}/runnable/__init__.py +0 -0
  232. {runnable-0.17.1 → runnable-0.18.0}/runnable/catalog.py +0 -0
  233. {runnable-0.17.1 → runnable-0.18.0}/runnable/cli.py +0 -0
  234. {runnable-0.17.1 → runnable-0.18.0}/runnable/context.py +0 -0
  235. {runnable-0.17.1 → runnable-0.18.0}/runnable/datastore.py +0 -0
  236. {runnable-0.17.1 → runnable-0.18.0}/runnable/defaults.py +0 -0
  237. {runnable-0.17.1 → runnable-0.18.0}/runnable/entrypoints.py +0 -0
  238. {runnable-0.17.1 → runnable-0.18.0}/runnable/exceptions.py +0 -0
  239. {runnable-0.17.1 → runnable-0.18.0}/runnable/executor.py +0 -0
  240. {runnable-0.17.1 → runnable-0.18.0}/runnable/graph.py +0 -0
  241. {runnable-0.17.1 → runnable-0.18.0}/runnable/names.py +0 -0
  242. {runnable-0.17.1 → runnable-0.18.0}/runnable/nodes.py +0 -0
  243. {runnable-0.17.1 → runnable-0.18.0}/runnable/parameters.py +0 -0
  244. {runnable-0.17.1 → runnable-0.18.0}/runnable/pickler.py +0 -0
  245. {runnable-0.17.1 → runnable-0.18.0}/runnable/sdk.py +0 -0
  246. {runnable-0.17.1 → runnable-0.18.0}/runnable/secrets.py +0 -0
  247. {runnable-0.17.1 → runnable-0.18.0}/runnable/tasks.py +0 -0
  248. {runnable-0.17.1 → runnable-0.18.0}/runnable/utils.py +0 -0
@@ -1,23 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runnable
3
- Version: 0.17.1
3
+ Version: 0.18.0
4
4
  Summary: Add your description here
5
5
  Author-email: "Vammi, Vijay" <vijay.vammi@astrazeneca.com>
6
6
  License-File: LICENSE
7
7
  Requires-Python: >=3.10
8
- Requires-Dist: catalog
9
8
  Requires-Dist: click-plugins>=1.1.1
10
9
  Requires-Dist: click<=8.1.3
11
10
  Requires-Dist: dill>=0.3.9
12
- Requires-Dist: job-executor
13
- Requires-Dist: nodes
14
- Requires-Dist: pipeline-executor
15
11
  Requires-Dist: pydantic>=2.10.3
16
12
  Requires-Dist: python-dotenv>=1.0.1
17
13
  Requires-Dist: rich>=13.9.4
18
14
  Requires-Dist: ruamel-yaml>=0.18.6
19
- Requires-Dist: run-log-store
20
- Requires-Dist: secrets
21
15
  Requires-Dist: setuptools>=75.6.0
22
16
  Requires-Dist: stevedore>=5.4.0
23
17
  Requires-Dist: typer>=0.15.1
@@ -0,0 +1,14 @@
1
+ [project]
2
+ name = "catalog"
3
+ version = "0.0.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = []
8
+
9
+ [build-system]
10
+ requires = ["hatchling"]
11
+ build-backend = "hatchling.build"
12
+
13
+ [tool.hatch.build.targets.wheel]
14
+ packages = ["."]
@@ -0,0 +1,16 @@
1
+ [project]
2
+ name = "job_executor"
3
+ version = "0.0.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = []
8
+
9
+
10
+ [build-system]
11
+ requires = ["hatchling"]
12
+ build-backend = "hatchling.build"
13
+
14
+
15
+ [tool.hatch.build.targets.wheel]
16
+ packages = ["."]
@@ -0,0 +1,15 @@
1
+ [project]
2
+ name = "nodes"
3
+ version = "0.0.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = []
8
+
9
+
10
+ [build-system]
11
+ requires = ["hatchling"]
12
+ build-backend = "hatchling.build"
13
+
14
+ [tool.hatch.build.targets.wheel]
15
+ packages = ["."]
@@ -0,0 +1,16 @@
1
+ [project]
2
+ name = "pipeline_executor"
3
+ version = "0.0.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = []
8
+
9
+
10
+ [build-system]
11
+ requires = ["hatchling"]
12
+ build-backend = "hatchling.build"
13
+
14
+
15
+ [tool.hatch.build.targets.wheel]
16
+ packages = ["."]
@@ -0,0 +1,15 @@
1
+ [project]
2
+ name = "run_log_store"
3
+ version = "0.0.0"
4
+ description = "Extensions to run log store"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = []
8
+
9
+
10
+ [build-system]
11
+ requires = ["hatchling"]
12
+ build-backend = "hatchling.build"
13
+
14
+ [tool.hatch.build.targets.wheel]
15
+ packages = ["."]
@@ -0,0 +1,15 @@
1
+ [project]
2
+ name = "secrets"
3
+ version = "0.0.0"
4
+ description = "Extension to manage secrets"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = []
8
+
9
+
10
+ [build-system]
11
+ requires = ["hatchling"]
12
+ build-backend = "hatchling.build"
13
+
14
+ [tool.hatch.build.targets.wheel]
15
+ packages = ["."]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runnable"
3
- version = "0.17.1"
3
+ version = "0.18.0"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -18,17 +18,8 @@ dependencies = [
18
18
  "setuptools>=75.6.0",
19
19
  "python-dotenv>=1.0.1",
20
20
  "typer>=0.15.1",
21
- "nodes",
22
- "secrets",
23
- "catalog",
24
- "run_log_store",
25
- "pipeline_executor",
26
- "job_executor",
27
21
  ]
28
22
 
29
- [project.scripts]
30
- runnable = 'runnable.cli:app'
31
-
32
23
  [project.optional-dependencies]
33
24
  docker = [
34
25
  "docker>=7.1.0",
@@ -43,10 +34,6 @@ k8s = [
43
34
  "kubernetes>=31.0.0",
44
35
  ]
45
36
 
46
- [build-system]
47
- requires = ["hatchling"]
48
- build-backend = "hatchling.build"
49
-
50
37
  [dependency-groups]
51
38
  dev = [
52
39
  "pytest-cov>=6.0.0",
@@ -68,7 +55,13 @@ release = [
68
55
  ]
69
56
 
70
57
  [tool.uv.workspace]
71
- members = ["extensions/*"]
58
+ members = ["extensions/catalog",
59
+ "extensions/job_executor",
60
+ "extensions/nodes",
61
+ "extensions/pipeline_executor",
62
+ "extensions/run_log_store",
63
+ "extensions/secrets",
64
+ ]
72
65
 
73
66
  [tool.uv.sources]
74
67
  nodes = {workspace = true}
@@ -79,6 +72,22 @@ pipeline_executor = {workspace = true}
79
72
  job_executor = {workspace = true}
80
73
 
81
74
 
75
+ [project.scripts]
76
+ runnable = 'runnable.cli:app'
77
+
78
+ [build-system]
79
+ requires = ["hatchling"]
80
+ build-backend = "hatchling.build"
81
+
82
+ [tool.hatch.build]
83
+ ignore-vcs = true
84
+ include = [
85
+ "/runnable",
86
+ "/extensions",
87
+ ]
88
+
89
+
90
+ # Plugin systems
82
91
  [project.entry-points.'pipeline_executor']
83
92
  "local" = "extensions.pipeline_executor.local:LocalExecutor"
84
93
  "local-container" = "extensions.pipeline_executor.local_container:LocalContainerExecutor"
@@ -127,6 +136,7 @@ file-system = "extensions.run_log_store.file_system:FileSystemRunLogstore"
127
136
  "notebook" = "runnable.tasks:NotebookTaskType"
128
137
 
129
138
 
139
+ # Release configuration
130
140
  [tool.semantic_release]
131
141
  commit_parser = "angular"
132
142
  major_on_zero = true
@@ -1,10 +0,0 @@
1
- docs/
2
- .github/
3
- .mypy_cache/
4
- .pytest_cache/
5
- .ruff_cache/
6
- .tox/
7
- .scripts/
8
- .tests/
9
- .venv/
10
- minikube/
@@ -1,18 +0,0 @@
1
- name: docs
2
- on:
3
- push:
4
- branches:
5
- - main
6
-
7
- jobs:
8
- deploy:
9
- runs-on: ubuntu-latest
10
- steps:
11
- - uses: actions/checkout@v2
12
- - name: Install uv
13
- run: curl -LsSf https://astral.sh/uv/install.sh | sh
14
- - name: "Set up Python"
15
- run: uv python install
16
- - run: |
17
- uv sync --only-group docs
18
- uv run mkdocs gh-deploy --force
@@ -1,53 +0,0 @@
1
- on:
2
- pull_request:
3
- paths-ignore:
4
- - "docs/**"
5
- - "**.md"
6
- - "examples/**"
7
- - "mkdocs.yml"
8
- branches:
9
- - "main"
10
- workflow_dispatch:
11
- workflow_call:
12
-
13
- jobs:
14
- PRCheck:
15
- runs-on: ubuntu-latest
16
- steps:
17
- - uses: actions/checkout@v3
18
- - run: |
19
- # Download the binary
20
- curl -sLO https://github.com/argoproj/argo-workflows/releases/download/v3.5.4/argo-linux-amd64.gz
21
-
22
- # Unzip
23
- gunzip argo-linux-amd64.gz
24
-
25
- # Make binary executable
26
- chmod +x argo-linux-amd64
27
-
28
- # Move binary to path
29
- mv ./argo-linux-amd64 /usr/local/bin/argo
30
-
31
- # Test installation
32
- argo version
33
-
34
- - name: Install uv
35
- run: curl -LsSf https://astral.sh/uv/install.sh | sh
36
-
37
- - name: "Set up Python"
38
- run: uv python install
39
-
40
- - name: Install the project
41
- run: uv sync --all-extras --dev
42
-
43
- - name: Run lint
44
- # For example, using `flake8`
45
- run: uvx ruff format
46
-
47
- - name: Run tests
48
- run: |
49
- export PYTHONDONTWRITEBYTECODE=1
50
- uv run pytest -m "not container"
51
-
52
- - name: mypy
53
- run: uv run mypy runnable extensions
@@ -1,101 +0,0 @@
1
- on:
2
- push:
3
- paths-ignore:
4
- - "docs/**"
5
- - "**.md"
6
- - "examples/**"
7
- branches:
8
- - "main"
9
-
10
-
11
- jobs:
12
- PRCheck:
13
- uses: "./.github/workflows/pr.yaml"
14
-
15
- Release:
16
- runs-on: ubuntu-latest
17
- needs: PRCheck
18
- steps:
19
- - uses: actions/checkout@v3
20
- with:
21
- fetch-depth: 0
22
- - name: Install uv
23
- run: curl -LsSf https://astral.sh/uv/install.sh | sh
24
-
25
- - name: "Set up Python"
26
- run: uv python install
27
- - run: |
28
- uv sync --only-group release
29
- - name: Figure version
30
- continue-on-error: true
31
- env:
32
- GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
33
- id: last_tag
34
- run: |
35
- CURRENT=$(uv run semantic-release -v --noop version --print-last-released)
36
- echo "Current: $CURRENT"
37
-
38
- VERSION=$(uv run semantic-release -v --noop version --print)
39
- echo "new: $VERSION"
40
-
41
- if [ "$CURRENT" == "$VERSION" ]; then
42
- echo "version=$VERSION" >> $GITHUB_OUTPUT
43
- exit 1
44
- fi
45
-
46
- echo "version=$VERSION" >> $GITHUB_OUTPUT
47
- exit 0
48
-
49
- - name: Apply new tag
50
- if: steps.last_tag.outcome == 'success'
51
- env:
52
- VERSION: ${{ steps.last_tag.outputs.version }}
53
- uses: actions/github-script@v6
54
- with:
55
- script: |
56
- const {VERSION} = process.env
57
- const tag = `refs/tags/${VERSION}`
58
- await github.rest.git.createRef({
59
- owner: context.repo.owner,
60
- repo: context.repo.repo,
61
- ref: tag,
62
- sha: context.sha
63
- })
64
-
65
- - name: Publish to PyPI
66
- if: steps.last_tag.outcome == 'success'
67
- env:
68
- PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
69
- APPLY_TAG: ${{ steps.last_tag.outputs.version }}
70
- run: |
71
- uvx --from=toml-cli toml set --toml-path=pyproject.toml project.version $APPLY_TAG
72
- uv build
73
- uv publish --token $PYPI_TOKEN
74
-
75
- - name: test_installation
76
- if: steps.last_tag.outcome == 'success'
77
- run: uv run --with runnable --no-project -- python -c "import runnable"
78
-
79
- - name: "Create release"
80
- if: steps.last_tag.outcome == 'success'
81
- env:
82
- RELEASE_TAG: ${{ steps.last_tag.outputs.version }}
83
- uses: "actions/github-script@v6"
84
- with:
85
- github-token: "${{ secrets.GITHUB_TOKEN }}"
86
- script: |
87
- try {
88
- const response = await github.rest.repos.createRelease({
89
- draft: false,
90
- generate_release_notes: true,
91
- name: process.env.RELEASE_TAG,
92
- owner: context.repo.owner,
93
- prerelease: false,
94
- repo: context.repo.repo,
95
- tag_name: process.env.RELEASE_TAG,
96
- });
97
- core.exportVariable('RELEASE_ID', response.data.id);
98
- core.exportVariable('RELEASE_UPLOAD_URL', response.data.upload_url);
99
- } catch (error) {
100
- core.setFailed(error.message);
101
- }
runnable-0.17.1/.mypy.ini DELETED
@@ -1,48 +0,0 @@
1
- [mypy]
2
- exclude = _*FF.py
3
- ignore_missing_imports = True
4
- plugins = pydantic.mypy
5
- show_error_codes = True
6
-
7
- follow_imports = silent
8
- warn_redundant_casts = True
9
- warn_unused_ignores = True
10
- #disallow_any_generics = True # This complicates it a lot
11
- check_untyped_defs = True
12
- implicit_reexport = True
13
-
14
- # for strict mypy: (this is the tricky one :-))
15
- #disallow_untyped_defs = True
16
-
17
- [pydantic-mypy]
18
- init_forbid_extra = True
19
- init_typed = True
20
- warn_required_dynamic_aliases = True
21
- warn_untyped_fields = True
22
-
23
- [mypy-ruamel.*]
24
- ignore_missing_imports = True
25
-
26
- [mypy-docker.*]
27
- ignore_missing_imports = True
28
-
29
- [mypy-pkg_resources.*]
30
- ignore_missing_imports = True
31
-
32
- [mypy-pydantic.*]
33
- ignore_missing_imports = True
34
-
35
- [mypy-yachalk.*]
36
- ignore_missing_imports = True
37
-
38
- [mypy-stevedore.*]
39
- ignore_missing_imports = True
40
-
41
- [mypy-papermill.*]
42
- ignore_missing_imports = True
43
-
44
- [mypy-click.*]
45
- ignore_missing_imports = True
46
-
47
- [mypy-click_plugins.*]
48
- ignore_missing_imports = True
@@ -1,34 +0,0 @@
1
- # See https://pre-commit.com for more information
2
- # See https://pre-commit.com/hooks.html for more hooks
3
- # using a non-local repo creates a venv for the pre-commit
4
- repos:
5
- - repo: https://github.com/pre-commit/pre-commit-hooks
6
- rev: v3.2.0
7
- hooks:
8
- - id: trailing-whitespace
9
- - id: end-of-file-fixer
10
- - id: check-yaml
11
- exclude: mkdocs.yml
12
- - id: check-added-large-files
13
- exclude: assets
14
- - repo: https://github.com/charliermarsh/ruff-pre-commit
15
- # Ruff version.
16
- rev: "v0.8.3"
17
- hooks:
18
- - id: ruff
19
- args: [--fix, --exit-non-zero-on-fix]
20
- exclude: ^tests
21
- - id: ruff-format
22
- exclude: ^tests
23
- - repo: https://github.com/jorisroovers/gitlint
24
- rev: v0.19.1
25
- hooks:
26
- - id: gitlint
27
- args:
28
- [
29
- --contrib=CT1,
30
- --ignore=title-trailing-punctuation,
31
- --ignore=T3,
32
- --ignore=B6,
33
- --msg-filename,
34
- ]
@@ -1 +0,0 @@
1
- 3.10