@platforma-sdk/workflow-tengo 4.3.2 → 4.4.1

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 (36) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -0
  3. package/dist/index.mjs +1 -0
  4. package/dist/tengo/lib/exec.internal.lib.tengo +13 -5
  5. package/dist/tengo/lib/exec.python.lib.tengo +9 -0
  6. package/dist/tengo/lib/exec.runcmd.lib.tengo +1 -1
  7. package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
  8. package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
  9. package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
  10. package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
  11. package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
  12. package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
  13. package/dist/tengo/tpl/exec.R.create-renv.plj.gz +0 -0
  14. package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
  15. package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
  16. package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
  17. package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
  18. package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
  19. package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
  20. package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
  21. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  22. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  23. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  24. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  25. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  26. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  27. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  28. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  29. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  30. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  31. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  32. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  33. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  34. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  35. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  36. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  declare type TemplateFromFile = { readonly type: "from-file"; readonly path: string; };
2
- declare type TplName = "ll.get-field" | "pframes.export-single-pcolumn" | "pframes.import-dir" | "pframes.remove-nulls" | "waiter.waiter" | "workdir.save" | "workflow.build-ctx" | "workflow.query-anchored" | "exec.R.create-renv" | "exec.python.install-deps" | "pframes.export-multiple-pcolumns" | "exec.python.create-venv" | "exec.monetization_to_json" | "exec.exec" | "exec.monetization_info" | "pframes.xsv-export-pframe" | "pframes.xsv-import-if-not-null" | "pframes.xsv-import-map" | "pframes.process-pcolumn-data" | "pframes.slice-data" | "check_network.create_workdir_from_storage" | "check_network.download_blob" | "check_network.run_hello_world" | "check_network.run_hello_world_py" | "check_network.upload_blob" | "check_network.upload_template" | "pframes.export-pframe" | "pframes.export-pframe-for-ui";
2
+ declare type TplName = "ll.get-field" | "pframes.export-single-pcolumn" | "pframes.import-dir" | "pframes.remove-nulls" | "waiter.waiter" | "workdir.save" | "workflow.build-ctx" | "workflow.query-anchored" | "exec.R.create-renv" | "exec.python.install-deps" | "exec.python.venv-bin-path" | "pframes.export-multiple-pcolumns" | "exec.python.create-venv" | "exec.monetization_to_json" | "exec.exec" | "exec.monetization_info" | "pframes.xsv-export-pframe" | "pframes.xsv-import-if-not-null" | "pframes.xsv-import-map" | "pframes.process-pcolumn-data" | "pframes.slice-data" | "check_network.create_workdir_from_storage" | "check_network.download_blob" | "check_network.run_hello_world" | "check_network.run_hello_world_py" | "check_network.upload_blob" | "check_network.upload_template" | "pframes.export-pframe" | "pframes.export-pframe-for-ui";
3
3
  declare const Templates: Record<TplName, TemplateFromFile>;
4
4
  export { Templates };
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ module.exports = { Templates: {
9
9
  'workflow.query-anchored': { type: 'from-file', path: require.resolve('./tengo/tpl/workflow.query-anchored.plj.gz') },
10
10
  'exec.R.create-renv': { type: 'from-file', path: require.resolve('./tengo/tpl/exec.R.create-renv.plj.gz') },
11
11
  'exec.python.install-deps': { type: 'from-file', path: require.resolve('./tengo/tpl/exec.python.install-deps.plj.gz') },
12
+ 'exec.python.venv-bin-path': { type: 'from-file', path: require.resolve('./tengo/tpl/exec.python.venv-bin-path.plj.gz') },
12
13
  'pframes.export-multiple-pcolumns': { type: 'from-file', path: require.resolve('./tengo/tpl/pframes.export-multiple-pcolumns.plj.gz') },
13
14
  'exec.python.create-venv': { type: 'from-file', path: require.resolve('./tengo/tpl/exec.python.create-venv.plj.gz') },
14
15
  'exec.monetization_to_json': { type: 'from-file', path: require.resolve('./tengo/tpl/exec.monetization_to_json.plj.gz') },
package/dist/index.mjs CHANGED
@@ -10,6 +10,7 @@ export const Templates = {
10
10
  'workflow.query-anchored': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/workflow.query-anchored.plj.gz') },
11
11
  'exec.R.create-renv': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/exec.R.create-renv.plj.gz') },
12
12
  'exec.python.install-deps': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/exec.python.install-deps.plj.gz') },
13
+ 'exec.python.venv-bin-path': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/exec.python.venv-bin-path.plj.gz') },
13
14
  'pframes.export-multiple-pcolumns': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/pframes.export-multiple-pcolumns.plj.gz') },
14
15
  'exec.python.create-venv': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/exec.python.create-venv.plj.gz') },
15
16
  'exec.monetization_to_json': { type: 'from-file', path: resolve(import.meta.dirname, './tengo/tpl/exec.monetization_to_json.plj.gz') },
@@ -23,14 +23,22 @@ desc := import("@platforma-sdk/workflow-tengo:exec.descriptor")
23
23
  validation := import("@platforma-sdk/workflow-tengo:validation")
24
24
 
25
25
 
26
+
27
+
26
28
  _ARG_VAR_PKG := "pkg" // abs path to software package
27
29
  _ARG_VAR_JAVA := "java" // abs path to 'java' run environment
28
30
  _ARG_VAR_PYTHON := "python" // abs path to 'python' run environment
31
+ _ARG_VAR_VENV_BIN_DIR := "venv_bin_dir" // name of bin dir in python venv depending on OS type (Scripts on Windows, bin on Unix)
29
32
  _ARG_VAR_R := "R" // abs path to 'R' run environment runtime
30
33
  _ARG_VAR_R_VENV := "rVenv" // abs path to 'R' portable virtual environment
31
34
  _ARG_VAR_MNZ := "monetization" // monetization env value
32
35
 
33
36
 
37
+
38
+
39
+ pythonBinDir := undefined
40
+
41
+
34
42
  _expr := func(varName) {
35
43
  return "{" + varName + "}"
36
44
  }
@@ -119,19 +127,19 @@ _loadPythonRunEnvironment := func(operationMode, descriptor, softName, softPkg)
119
127
 
120
128
  venv := venvBuilder.
121
129
  cacheDays(7).
122
- build().
123
- venv()
130
+ build()
124
131
 
125
132
  venvRoot := path.join(_expr(_ARG_VAR_PYTHON), "venv")
126
133
  venvRefKey := softName + "/venv"
127
134
 
128
- pythonRefVar := _newRefVar(_ARG_VAR_PYTHON, venvRefKey, venv)
135
+ pythonRefVar := _newRefVar(_ARG_VAR_PYTHON, venvRefKey, venv.venv())
136
+ venvBinDirRefVar := _newRefVar(_ARG_VAR_VENV_BIN_DIR, softName + "/binDir", venv.binDir() )
129
137
 
130
138
  return ll.toStrict({
131
139
  runEnvType: "python",
132
140
 
133
- variables: [ pythonRefVar ],
134
- customPaths: [ _newArg(false, path.join(venvRoot, "bin")) ],
141
+ variables: [ pythonRefVar, venvBinDirRefVar ],
142
+ customPaths: [ _newArg(false, path.join(venvRoot, _expr(_ARG_VAR_VENV_BIN_DIR))) ],
135
143
  envs: {
136
144
  "VIRTUAL_ENV": _newArg(false, venvRoot)
137
145
  }
@@ -12,6 +12,7 @@ runenv := import("@platforma-sdk/workflow-tengo:exec.runenv")
12
12
  desc := import("@platforma-sdk/workflow-tengo:exec.descriptor")
13
13
 
14
14
  _OUTPUT_RUN_ENV := "runEnv"
15
+ _OUTPUT_BIN_DIR := "binDir"
15
16
 
16
17
  createVenvTpl := assets.importTemplate("@platforma-sdk/workflow-tengo:exec.python.create-venv")
17
18
 
@@ -150,6 +151,14 @@ pythonVenvBuilder := func() {
150
151
 
151
152
 
152
153
 
154
+ binDir: func() {
155
+ return tpl.output(_OUTPUT_BIN_DIR, cache)
156
+ },
157
+
158
+
159
+
160
+
161
+
153
162
 
154
163
  venv: func() {
155
164
  return tpl.output(_OUTPUT_RUN_ENV, cache)
@@ -231,7 +231,7 @@ builder := func(workdir) {
231
231
 
232
232
  ref: func(refKey, ref) {
233
233
  ll.assert(smart.isReference(ref),
234
- "runcmd.builder().ref() must be a reference (valid field or resource)")
234
+ "runcmd.builder().ref() must be a reference (valid field or resource) %s", refKey)
235
235
 
236
236
  ll.assert(!maps.containsKey(refs, refKey),
237
237
  "attempt to override existing reference %q", refKey)
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": "4.3.2",
3
+ "version": "4.4.1",
4
4
  "description": "Tengo SDK library",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@milaboratories/software-pframes-conv": "2.2.2",
20
- "@platforma-open/milaboratories.software-small-binaries": "^1.15.20"
20
+ "@platforma-open/milaboratories.software-small-binaries": "^1.15.21"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@platforma-sdk/tengo-builder": "^2.1.3"