@platforma-sdk/workflow-tengo 6.12.1 → 6.13.0

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 (48) hide show
  1. package/dist/tengo/lib/pt.lib.tengo +22 -0
  2. package/dist/tengo/lib/pt.sizing.lib.tengo +40 -1
  3. package/dist/tengo/tpl/annotations.compute.plj.gz +0 -0
  4. package/dist/tengo/tpl/anonymize.deanonymize.plj.gz +0 -0
  5. package/dist/tengo/tpl/anonymize.impl.plj.gz +0 -0
  6. package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
  7. package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
  8. package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
  9. package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
  10. package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
  11. package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
  12. package/dist/tengo/tpl/check_network.workdir_type_name_extractor.plj.gz +0 -0
  13. package/dist/tengo/tpl/exec.conda.create-env.plj.gz +0 -0
  14. package/dist/tengo/tpl/exec.delayed-compute-allocation.impl.plj.gz +0 -0
  15. package/dist/tengo/tpl/exec.exec-impl.plj.gz +0 -0
  16. package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
  17. package/dist/tengo/tpl/exec.load-software.impl.plj.gz +0 -0
  18. package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
  19. package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
  20. package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
  21. package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
  22. package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
  23. package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
  24. package/dist/tengo/tpl/pframes.build-table.plj.gz +0 -0
  25. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  26. package/dist/tengo/tpl/pframes.export-parquet-pcolumn-chunk.plj.gz +0 -0
  27. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  28. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  29. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  30. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  31. package/dist/tengo/tpl/pframes.merge-resource-maps.plj.gz +0 -0
  32. package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
  33. package/dist/tengo/tpl/pframes.process-pcolumn-batch-split.plj.gz +0 -0
  34. package/dist/tengo/tpl/pframes.process-pcolumn-batch.plj.gz +0 -0
  35. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  36. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  37. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  38. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  39. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  40. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  41. package/dist/tengo/tpl/pt.import-dir.plj.gz +0 -0
  42. package/dist/tengo/tpl/pt.workflow-run.plj.gz +0 -0
  43. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  44. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  45. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  46. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  47. package/dist/tengo/tpl/workflow.query-context-filter.plj.gz +0 -0
  48. package/package.json +2 -2
@@ -412,6 +412,7 @@ workflow := func() {
412
412
  cpu := undefined
413
413
  mem := undefined
414
414
  memFloor := undefined
415
+ polarsMaxThreads := undefined
415
416
  scratchFreeSpace := undefined
416
417
  inputCache := undefined
417
418
  queue := execConstants.MEDIUM_QUEUE
@@ -888,6 +889,26 @@ workflow := func() {
888
889
 
889
890
 
890
891
 
892
+ polarsMaxThreads: func(threads) {
893
+ sizing.assertPolarsMaxThreads(threads)
894
+ polarsMaxThreads = threads
895
+ return self
896
+ },
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
891
912
  mem: func(amount) {
892
913
  mem = amount
893
914
  return self
@@ -1051,6 +1072,7 @@ workflow := func() {
1051
1072
  cpu: cpu,
1052
1073
  mem: mem,
1053
1074
  memFloor: memFloor,
1075
+ polarsMaxThreads: polarsMaxThreads,
1054
1076
  scratchFreeSpace: scratchFreeSpace,
1055
1077
  inputCache: inputCache
1056
1078
  }
@@ -45,6 +45,8 @@
45
45
 
46
46
 
47
47
 
48
+
49
+
48
50
 
49
51
 
50
52
 
@@ -67,8 +69,41 @@ CPU_MIN := 2
67
69
  CPU_MAX := 8
68
70
  CPU_GIB_PER_CORE := 16
69
71
 
72
+ POLARS_THREADS_MIN := 2
73
+ POLARS_THREADS_DEFAULT := 8
74
+ POLARS_THREADS_GRANTED := "granted"
75
+
76
+
77
+ POLARS_MAX_THREADS_EXPR := format("{min(%d,max(%d,system.cpu))}", POLARS_THREADS_DEFAULT, POLARS_THREADS_MIN)
78
+
79
+
80
+
81
+
82
+
83
+
84
+ assertPolarsMaxThreads := func(threads) {
85
+ ll.assert((is_int(threads) && threads >= POLARS_THREADS_MIN) || threads == POLARS_THREADS_GRANTED,
86
+ "pt.sizing: polarsMaxThreads must be an integer of at least %d or %q, got %v",
87
+ POLARS_THREADS_MIN, POLARS_THREADS_GRANTED, threads)
88
+ }
70
89
 
71
- POLARS_MAX_THREADS_EXPR := format("{min(%d,max(%d,system.cpu))}", CPU_MAX, CPU_MIN)
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ polarsMaxThreadsExpr := func(threads) {
98
+ if is_undefined(threads) {
99
+ return POLARS_MAX_THREADS_EXPR
100
+ }
101
+ assertPolarsMaxThreads(threads)
102
+ if threads == POLARS_THREADS_GRANTED {
103
+ return format("{max(%d,system.cpu)}", POLARS_THREADS_MIN)
104
+ }
105
+ return format("{min(%d,max(%d,system.cpu))}", threads, POLARS_THREADS_MIN)
106
+ }
72
107
 
73
108
 
74
109
 
@@ -131,8 +166,12 @@ export {
131
166
  ramFormula: ramFormula,
132
167
  cpuFormula: cpuFormula,
133
168
  scratchFormula: scratchFormula,
169
+ polarsMaxThreadsExpr: polarsMaxThreadsExpr,
170
+ assertPolarsMaxThreads: assertPolarsMaxThreads,
134
171
 
135
172
  POLARS_MAX_THREADS_EXPR: POLARS_MAX_THREADS_EXPR,
173
+ POLARS_THREADS_MIN: POLARS_THREADS_MIN,
174
+ POLARS_THREADS_DEFAULT: POLARS_THREADS_DEFAULT,
136
175
 
137
176
 
138
177
  RAM_INTERCEPT_GIB: RAM_INTERCEPT_GIB,
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/workflow-tengo",
3
- "version": "6.12.1",
3
+ "version": "6.13.0",
4
4
  "description": "Tengo SDK library",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "@platforma-open/milaboratories.software-ptabler": "2.1.14"
24
24
  },
25
25
  "devDependencies": {
26
- "@platforma-sdk/tengo-builder": "4.1.2"
26
+ "@platforma-sdk/tengo-builder": "4.1.9"
27
27
  },
28
28
  "scripts": {
29
29
  "types:check": "pl-tengo imports && pl-tengo check",