runnable 0.1.0__py3-none-any.whl → 0.2.0__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.
Files changed (71) hide show
  1. runnable/__init__.py +34 -0
  2. runnable/catalog.py +141 -0
  3. runnable/cli.py +272 -0
  4. runnable/context.py +34 -0
  5. runnable/datastore.py +686 -0
  6. runnable/defaults.py +179 -0
  7. runnable/entrypoints.py +484 -0
  8. runnable/exceptions.py +94 -0
  9. runnable/executor.py +431 -0
  10. runnable/experiment_tracker.py +139 -0
  11. runnable/extensions/catalog/__init__.py +21 -0
  12. runnable/extensions/catalog/file_system/__init__.py +0 -0
  13. runnable/extensions/catalog/file_system/implementation.py +226 -0
  14. runnable/extensions/catalog/k8s_pvc/__init__.py +0 -0
  15. runnable/extensions/catalog/k8s_pvc/implementation.py +16 -0
  16. runnable/extensions/catalog/k8s_pvc/integration.py +59 -0
  17. runnable/extensions/executor/__init__.py +714 -0
  18. runnable/extensions/executor/argo/__init__.py +0 -0
  19. runnable/extensions/executor/argo/implementation.py +1182 -0
  20. runnable/extensions/executor/argo/specification.yaml +51 -0
  21. runnable/extensions/executor/k8s_job/__init__.py +0 -0
  22. runnable/extensions/executor/k8s_job/implementation_FF.py +259 -0
  23. runnable/extensions/executor/k8s_job/integration_FF.py +69 -0
  24. runnable/extensions/executor/local/__init__.py +0 -0
  25. runnable/extensions/executor/local/implementation.py +69 -0
  26. runnable/extensions/executor/local_container/__init__.py +0 -0
  27. runnable/extensions/executor/local_container/implementation.py +367 -0
  28. runnable/extensions/executor/mocked/__init__.py +0 -0
  29. runnable/extensions/executor/mocked/implementation.py +220 -0
  30. runnable/extensions/experiment_tracker/__init__.py +0 -0
  31. runnable/extensions/experiment_tracker/mlflow/__init__.py +0 -0
  32. runnable/extensions/experiment_tracker/mlflow/implementation.py +94 -0
  33. runnable/extensions/nodes.py +675 -0
  34. runnable/extensions/run_log_store/__init__.py +0 -0
  35. runnable/extensions/run_log_store/chunked_file_system/__init__.py +0 -0
  36. runnable/extensions/run_log_store/chunked_file_system/implementation.py +106 -0
  37. runnable/extensions/run_log_store/chunked_k8s_pvc/__init__.py +0 -0
  38. runnable/extensions/run_log_store/chunked_k8s_pvc/implementation.py +21 -0
  39. runnable/extensions/run_log_store/chunked_k8s_pvc/integration.py +61 -0
  40. runnable/extensions/run_log_store/db/implementation_FF.py +157 -0
  41. runnable/extensions/run_log_store/db/integration_FF.py +0 -0
  42. runnable/extensions/run_log_store/file_system/__init__.py +0 -0
  43. runnable/extensions/run_log_store/file_system/implementation.py +136 -0
  44. runnable/extensions/run_log_store/generic_chunked.py +541 -0
  45. runnable/extensions/run_log_store/k8s_pvc/__init__.py +0 -0
  46. runnable/extensions/run_log_store/k8s_pvc/implementation.py +21 -0
  47. runnable/extensions/run_log_store/k8s_pvc/integration.py +56 -0
  48. runnable/extensions/secrets/__init__.py +0 -0
  49. runnable/extensions/secrets/dotenv/__init__.py +0 -0
  50. runnable/extensions/secrets/dotenv/implementation.py +100 -0
  51. runnable/extensions/secrets/env_secrets/__init__.py +0 -0
  52. runnable/extensions/secrets/env_secrets/implementation.py +42 -0
  53. runnable/graph.py +464 -0
  54. runnable/integration.py +205 -0
  55. runnable/interaction.py +399 -0
  56. runnable/names.py +546 -0
  57. runnable/nodes.py +489 -0
  58. runnable/parameters.py +183 -0
  59. runnable/pickler.py +102 -0
  60. runnable/sdk.py +470 -0
  61. runnable/secrets.py +95 -0
  62. runnable/tasks.py +392 -0
  63. runnable/utils.py +630 -0
  64. runnable-0.2.0.dist-info/METADATA +437 -0
  65. runnable-0.2.0.dist-info/RECORD +69 -0
  66. runnable-0.2.0.dist-info/entry_points.txt +44 -0
  67. runnable-0.1.0.dist-info/METADATA +0 -16
  68. runnable-0.1.0.dist-info/RECORD +0 -6
  69. /runnable/{.gitkeep → extensions/__init__.py} +0 -0
  70. {runnable-0.1.0.dist-info → runnable-0.2.0.dist-info}/LICENSE +0 -0
  71. {runnable-0.1.0.dist-info → runnable-0.2.0.dist-info}/WHEEL +0 -0
runnable/names.py ADDED
@@ -0,0 +1,546 @@
1
+ import random
2
+
3
+ left = [
4
+ "descent",
5
+ "citric",
6
+ "grating",
7
+ "glossy",
8
+ "undecidable",
9
+ "senile",
10
+ "dark",
11
+ "rude",
12
+ "tart",
13
+ "rubbery",
14
+ "internal",
15
+ "primordial",
16
+ "timid",
17
+ "trite",
18
+ "inverted",
19
+ "rancid",
20
+ "finite",
21
+ "hidden",
22
+ "grouchy",
23
+ "local",
24
+ "affable",
25
+ "vintage",
26
+ "online",
27
+ "grilled",
28
+ "absolute",
29
+ "chocolaty",
30
+ "fermented",
31
+ "obnoxious",
32
+ "sensitive",
33
+ "exponential",
34
+ "cheerful",
35
+ "persistent",
36
+ "spicy",
37
+ "humble",
38
+ "mean",
39
+ "ternary",
40
+ "acidic",
41
+ "novel",
42
+ "inverse",
43
+ "shortest",
44
+ "grizzled",
45
+ "honest",
46
+ "symmetric",
47
+ "jumbo",
48
+ "naive",
49
+ "recursive",
50
+ "serious",
51
+ "rowdy",
52
+ "offline",
53
+ "quick",
54
+ "parallel",
55
+ "stern",
56
+ "decidable",
57
+ "pureed",
58
+ "nutty",
59
+ "brute",
60
+ "damaged",
61
+ "gentle",
62
+ "deterministic",
63
+ "ripe",
64
+ "piquant",
65
+ "poached",
66
+ "unsolvable",
67
+ "abstract",
68
+ "sticky",
69
+ "gritty",
70
+ "dynamic",
71
+ "candied",
72
+ "loyal",
73
+ "flavorful",
74
+ "visible",
75
+ "zesty",
76
+ "approximate",
77
+ "icy",
78
+ "immature",
79
+ "bitter",
80
+ "stable",
81
+ "threaded",
82
+ "juicy",
83
+ "baked",
84
+ "hushed",
85
+ "frozen",
86
+ "selfish",
87
+ "planar",
88
+ "clever",
89
+ "shabby",
90
+ "extended",
91
+ "concave",
92
+ "pleasant",
93
+ "perfect",
94
+ "sugary",
95
+ "patient",
96
+ "unsorted",
97
+ "odious",
98
+ "piercing",
99
+ "careful",
100
+ "tattered",
101
+ "ferocious",
102
+ "crunchy",
103
+ "toasted",
104
+ "forgiving",
105
+ "heartless",
106
+ "sleek",
107
+ "undirected",
108
+ "optimal",
109
+ "tractable",
110
+ "sharp",
111
+ "eager",
112
+ "plain",
113
+ "shrewd",
114
+ "maximum",
115
+ "pounded",
116
+ "dull",
117
+ "zingy",
118
+ "counting",
119
+ "sophisticated",
120
+ "contemporary",
121
+ "proud",
122
+ "yummy",
123
+ "radiant",
124
+ "religious",
125
+ "glowing",
126
+ "messy",
127
+ "external",
128
+ "balanced",
129
+ "new",
130
+ "prepared",
131
+ "refined",
132
+ "grim",
133
+ "syrupy",
134
+ "graceful",
135
+ "annoying",
136
+ "tender",
137
+ "blazing",
138
+ "noisy",
139
+ "delicious",
140
+ "matte",
141
+ "witty",
142
+ "polite",
143
+ "nearest",
144
+ "helpful",
145
+ "thundering",
146
+ "adventurous",
147
+ "milky",
148
+ "mute",
149
+ "ordered",
150
+ "blended",
151
+ "pallid",
152
+ "ascent",
153
+ "roaring",
154
+ "brave",
155
+ "curious",
156
+ "devout",
157
+ "energetic",
158
+ "burning",
159
+ "merciless",
160
+ "orthogonal",
161
+ "juvenile",
162
+ "accepting",
163
+ "topped",
164
+ "lean",
165
+ "greasy",
166
+ "deafening",
167
+ "reduced",
168
+ "obliging",
169
+ "null",
170
+ "rank",
171
+ "shiny",
172
+ "forward",
173
+ "boolean",
174
+ "partial",
175
+ "current",
176
+ "brilliant",
177
+ "bland",
178
+ "violent",
179
+ "amiable",
180
+ "loud",
181
+ "savage",
182
+ "bright",
183
+ "threadbare",
184
+ "minimum",
185
+ "creamy",
186
+ "doughy",
187
+ "mild",
188
+ "wise",
189
+ "urbane",
190
+ "greedy",
191
+ "genteel",
192
+ "sweet",
193
+ "fresh",
194
+ "sunny",
195
+ "linear",
196
+ "uniform",
197
+ "cheesy",
198
+ "cold",
199
+ "cyclic",
200
+ "obsolete",
201
+ "calm",
202
+ "augmenting",
203
+ "asymptotic",
204
+ "tough",
205
+ "proper",
206
+ "quiet",
207
+ "bounded",
208
+ "rich",
209
+ "complete",
210
+ "archaic",
211
+ "seasoned",
212
+ "intractable",
213
+ "light",
214
+ "funny",
215
+ "muffled",
216
+ "silly",
217
+ "clean",
218
+ "edible",
219
+ "vicious",
220
+ "dyadic",
221
+ "simple",
222
+ "smoky",
223
+ "caramelized",
224
+ "fixed",
225
+ "excited",
226
+ "recent",
227
+ "cautious",
228
+ "nervous",
229
+ "muted",
230
+ "trusting",
231
+ "mode",
232
+ "oriented",
233
+ "savory",
234
+ "active",
235
+ "young",
236
+ "amortized",
237
+ "ambitious",
238
+ "meek",
239
+ "ragged",
240
+ "terminal",
241
+ "blaring",
242
+ "factorial",
243
+ "relaxed",
244
+ "mashed",
245
+ "weighted",
246
+ "rectilinear",
247
+ "warm",
248
+ "cruel",
249
+ "organic",
250
+ "faded",
251
+ "generous",
252
+ "lazy",
253
+ "worn",
254
+ "fried",
255
+ "isomorphic",
256
+ "booming",
257
+ "nutritious",
258
+ "median",
259
+ "colorful",
260
+ "tossed",
261
+ "briny",
262
+ "lower",
263
+ "exact",
264
+ "oscillating",
265
+ "friendly",
266
+ "nondeterministic",
267
+ "humane",
268
+ "sour",
269
+ "happy",
270
+ "creative",
271
+ "marinated",
272
+ "dry",
273
+ "simmered",
274
+ "strong",
275
+ "connected",
276
+ "free",
277
+ "amicable",
278
+ "exhaustive",
279
+ "vibrant",
280
+ "indulgent",
281
+ "sparse",
282
+ "swarm",
283
+ "quadratic",
284
+ "jellied",
285
+ "courtly",
286
+ "independent",
287
+ "salty",
288
+ "faint",
289
+ "adaptive",
290
+ "antique",
291
+ "polynomial",
292
+ "saucy",
293
+ "randomized",
294
+ "binary",
295
+ "average",
296
+ "cloying",
297
+ "frayed",
298
+ "objective",
299
+ "blocking",
300
+ "steamed",
301
+ "feasible",
302
+ "random",
303
+ "stale",
304
+ "braised",
305
+ "gourmet",
306
+ "chalky",
307
+ "moist",
308
+ "formal",
309
+ "brute force",
310
+ "ancient",
311
+ "wan",
312
+ "square",
313
+ "matching",
314
+ "smoked",
315
+ "unary",
316
+ "covering",
317
+ "kind",
318
+ "modern",
319
+ "tense",
320
+ "old",
321
+ "associative",
322
+ "daring",
323
+ "spatial",
324
+ "constant",
325
+ "stringy",
326
+ "concurrent",
327
+ "inventive",
328
+ "brutal",
329
+ "bipartite",
330
+ "charitable",
331
+ "mature",
332
+ "universal",
333
+ "stubborn",
334
+ "best",
335
+ "callous",
336
+ "commutative",
337
+ "advanced",
338
+ "vain",
339
+ "neat",
340
+ "soft",
341
+ "flat",
342
+ "golden",
343
+ "oily",
344
+ "merry",
345
+ "intense",
346
+ "succulent",
347
+ "pale",
348
+ "drab",
349
+ "impulsive",
350
+ "crispy",
351
+ "lenient",
352
+ "raw",
353
+ "tangy",
354
+ "inclusive",
355
+ "minty",
356
+ "acyclic",
357
+ "smart",
358
+ "chewy",
359
+ "bold",
360
+ "aged",
361
+ "vivid",
362
+ "silent",
363
+ "weathered",
364
+ "respectful",
365
+ "buttery",
366
+ "hoary",
367
+ "elegant",
368
+ ]
369
+
370
+ right = [
371
+ "albattani",
372
+ "allen",
373
+ "almeida",
374
+ "agnesi",
375
+ "archimedes",
376
+ "ardinghelli",
377
+ "aryabhata",
378
+ "austin",
379
+ "babbage",
380
+ "banach",
381
+ "bardeen",
382
+ "bartik",
383
+ "bassi",
384
+ "beaver",
385
+ "bell",
386
+ "benz",
387
+ "bhabha",
388
+ "bhaskara",
389
+ "blackwell",
390
+ "bohr",
391
+ "booth",
392
+ "borg",
393
+ "bose",
394
+ "boyd",
395
+ "brahmagupta",
396
+ "brattain",
397
+ "brown",
398
+ "carson",
399
+ "chandrasekhar",
400
+ "shannon",
401
+ "clarke",
402
+ "colden",
403
+ "cori",
404
+ "cray",
405
+ "curran",
406
+ "curie",
407
+ "darwin",
408
+ "davinci",
409
+ "dijkstra",
410
+ "dubinsky",
411
+ "easley",
412
+ "edison",
413
+ "einstein",
414
+ "elion",
415
+ "engelbart",
416
+ "euclid",
417
+ "euler",
418
+ "fermat",
419
+ "fermi",
420
+ "feynman",
421
+ "franklin",
422
+ "galileo",
423
+ "gates",
424
+ "goldberg",
425
+ "goldstine",
426
+ "goldwasser",
427
+ "golick",
428
+ "goodall",
429
+ "haibt",
430
+ "hamilton",
431
+ "hawking",
432
+ "heisenberg",
433
+ "hermann",
434
+ "heyrovsky",
435
+ "hodgkin",
436
+ "hoover",
437
+ "hopper",
438
+ "hugle",
439
+ "hypatia",
440
+ "jackson",
441
+ "jang",
442
+ "jennings",
443
+ "jepsen",
444
+ "johnson",
445
+ "joliot",
446
+ "jones",
447
+ "kalam",
448
+ "kare",
449
+ "keller",
450
+ "kepler",
451
+ "khorana",
452
+ "kilby",
453
+ "kirch",
454
+ "knuth",
455
+ "kowalevski",
456
+ "lalande",
457
+ "lamarr",
458
+ "lamport",
459
+ "leakey",
460
+ "leavitt",
461
+ "lewin",
462
+ "lichterman",
463
+ "liskov",
464
+ "lovelace",
465
+ "lumiere",
466
+ "mahavira",
467
+ "mayer",
468
+ "mccarthy",
469
+ "mcclintock",
470
+ "mclean",
471
+ "mcnulty",
472
+ "meitner",
473
+ "meninsky",
474
+ "mestorf",
475
+ "minsky",
476
+ "mirzakhani",
477
+ "morse",
478
+ "murdock",
479
+ "neumann",
480
+ "newton",
481
+ "nightingale",
482
+ "nobel",
483
+ "noether",
484
+ "northcutt",
485
+ "noyce",
486
+ "panini",
487
+ "pare",
488
+ "pasteur",
489
+ "payne",
490
+ "perlman",
491
+ "pike",
492
+ "poincare",
493
+ "poitras",
494
+ "ptolemy",
495
+ "raman",
496
+ "ramanujan",
497
+ "ride",
498
+ "montalcini",
499
+ "ritchie",
500
+ "roentgen",
501
+ "rosalind",
502
+ "saha",
503
+ "sammet",
504
+ "shaw",
505
+ "shirley",
506
+ "shockley",
507
+ "sinoussi",
508
+ "snyder",
509
+ "spence",
510
+ "stallman",
511
+ "stonebraker",
512
+ "swanson",
513
+ "swartz",
514
+ "swirles",
515
+ "tesla",
516
+ "thompson",
517
+ "torvalds",
518
+ "turing",
519
+ "varahamihira",
520
+ "visvesvaraya",
521
+ "volhard",
522
+ "wescoff",
523
+ "wiles",
524
+ "williams",
525
+ "wilson",
526
+ "wing",
527
+ "wozniak",
528
+ "wright",
529
+ "yalow",
530
+ "yonath",
531
+ ]
532
+
533
+
534
+ def get_random_name(sep="-") -> str:
535
+ """
536
+ Returns a random name in the format of docker container names.
537
+
538
+ Args:
539
+ sep (str, optional): The seperator to use between the names. Defaults to '-'.
540
+
541
+ Returns:
542
+ str: The random name.
543
+ """
544
+ r = random.SystemRandom()
545
+ name = "%s%s%s" % (r.choice(left), sep, r.choice(right))
546
+ return name