pywebexec 2.1.1__tar.gz → 2.1.3__tar.gz

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 (82) hide show
  1. {pywebexec-2.1.1/pywebexec.egg-info → pywebexec-2.1.3}/PKG-INFO +19 -2
  2. {pywebexec-2.1.1 → pywebexec-2.1.3}/README.md +18 -1
  3. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/pywebexec.py +1 -1
  4. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/version.py +2 -2
  5. {pywebexec-2.1.1 → pywebexec-2.1.3/pywebexec.egg-info}/PKG-INFO +19 -2
  6. {pywebexec-2.1.1 → pywebexec-2.1.3}/.github/workflows/python-publish.yml +0 -0
  7. {pywebexec-2.1.1 → pywebexec-2.1.3}/.gitignore +0 -0
  8. {pywebexec-2.1.1 → pywebexec-2.1.3}/LICENSE +0 -0
  9. {pywebexec-2.1.1 → pywebexec-2.1.3}/pyproject.toml +0 -0
  10. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/__init__.py +0 -0
  11. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/host_ip.py +0 -0
  12. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/css/form.css +0 -0
  13. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/css/markdown.css +0 -0
  14. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/css/style.css +0 -0
  15. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/css/swagger-ui.css +0 -0
  16. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/css/swagger-ui.css.map +0 -0
  17. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/css/xterm.css +0 -0
  18. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/CommitMonoNerdFontMono-Regular.ttf +0 -0
  19. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/LICENSE +0 -0
  20. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/glyphicons-halflings-regular.eot +0 -0
  21. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/glyphicons-halflings-regular.svg +0 -0
  22. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/glyphicons-halflings-regular.ttf +0 -0
  23. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/glyphicons-halflings-regular.woff +0 -0
  24. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
  25. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/aborted.svg +0 -0
  26. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/copy.svg +0 -0
  27. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/copy_ok.svg +0 -0
  28. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/down-arrow.svg +0 -0
  29. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/failed.svg +0 -0
  30. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/favicon.svg +0 -0
  31. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/fit-tty.svg +0 -0
  32. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/fit-win.svg +0 -0
  33. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/font-decrease.svg +0 -0
  34. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/font-increase.svg +0 -0
  35. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/norun.svg +0 -0
  36. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/pause.svg +0 -0
  37. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/popup.svg +0 -0
  38. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/resume.svg +0 -0
  39. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/running.svg +0 -0
  40. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/success.svg +0 -0
  41. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/images/swagger-ui.svg +0 -0
  42. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/executables.js +0 -0
  43. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/js-yaml/LICENSE +0 -0
  44. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/js-yaml/js-yaml.min.js +0 -0
  45. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/marked/LICENSE.md +0 -0
  46. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/marked/marked.min.js +0 -0
  47. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/popup.js +0 -0
  48. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/schemaform.js +0 -0
  49. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/script.js +0 -0
  50. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/swagger-form.js +0 -0
  51. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/swagger-ui/LICENSE +0 -0
  52. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/swagger-ui/swagger-ui-bundle.js +0 -0
  53. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  54. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/LICENSE +0 -0
  55. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-canvas.js +0 -0
  56. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-canvas.js.map +0 -0
  57. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-fit.js +0 -0
  58. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-fit.js.map +0 -0
  59. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-unicode-graphemes.js +0 -0
  60. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-unicode-graphemes.js.map +0 -0
  61. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-unicode11.js +0 -0
  62. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/addon-unicode11.js.map +0 -0
  63. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/xterm.js +0 -0
  64. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/js/xterm/xterm.js.map +0 -0
  65. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/jsonform/LICENSE +0 -0
  66. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/jsonform/deps/README.md +0 -0
  67. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/jsonform/deps/img/glyphicons-halflings.png +0 -0
  68. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/jsonform/deps/jquery.min.js +0 -0
  69. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/jsonform/deps/underscore.js +0 -0
  70. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/static/jsonform/lib/jsonform.js +0 -0
  71. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/swagger.yaml +0 -0
  72. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/templates/__init__.py +0 -0
  73. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/templates/index.html +0 -0
  74. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/templates/popup.html +0 -0
  75. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec/templates/swagger_ui.html +0 -0
  76. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec.egg-info/SOURCES.txt +0 -0
  77. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec.egg-info/dependency_links.txt +0 -0
  78. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec.egg-info/entry_points.txt +0 -0
  79. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec.egg-info/requires.txt +0 -0
  80. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexec.egg-info/top_level.txt +0 -0
  81. {pywebexec-2.1.1 → pywebexec-2.1.3}/pywebexecdev +0 -0
  82. {pywebexec-2.1.1 → pywebexec-2.1.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 2.1.1
3
+ Version: 2.1.3
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -72,6 +72,10 @@ Requires-Dist: run-para>=1.0.2
72
72
  # pywebexec
73
73
  Simple Python HTTP(S) API/Web Server Command Launcher and Terminal sharing
74
74
 
75
+ * build a Restfull API/swagger-ui powered application in no time exposing simple commands/parameters.
76
+ * create a toolbox with batch management/parallel execution of commands
77
+ * share a terminal in one command
78
+
75
79
  ## Install
76
80
  ```
77
81
  $ pip install pywebexec
@@ -119,6 +123,8 @@ all commands output / statuses are available in the executables directory in sub
119
123
  * Uses gunicorn to serve http/https
120
124
  * Linux/MacOS compatible
121
125
  * Markdown help for commands
126
+ * YAML schema for commands parameters
127
+ * Batch/parallel command execution
122
128
 
123
129
  ## Customize server
124
130
  ```shell
@@ -245,7 +251,7 @@ command --param1 value --param2 1 --param3 value1 value2
245
251
 
246
252
  * On the web inferface, and swagger-ui the form will be generated from the schema.
247
253
 
248
- <img src="https://github.com/user-attachments/assets/c7cdf117-aa38-4366-97c7-1aa26e5ebf0d" width=400>
254
+ <img src="https://github.com/user-attachments/assets/c7cdf117-aa38-4366-97c7-1aa26e5ebf0d" width="400">
249
255
 
250
256
  When using schema, the command can now be launched with:
251
257
  ```
@@ -262,6 +268,17 @@ schema_options:
262
268
  convert_params: {"param1": "param2"} # convert param1 to param2
263
269
  ```
264
270
 
271
+ ## Batch commands/parallel execution
272
+
273
+ Integration of [run-para](https://github.com/joknarf/run-para) to enable batch execution of commands:
274
+ * In `schema_options` adding `batch_param` will enable batch mode for the command, the command will be executed for each value in the `batch_param` list.
275
+ * The `batch_param` is the name of the parameter that will be used to pass the different values for the parameter.
276
+ * The `batch_param` type will be transformed to textarea to provide list to use as parameter for the command.
277
+ * The range parameters `parallel` and `delay` is added to the command parameters to control the execution of the batch commands (nb jobs in parallel and initial delay between jobs).
278
+
279
+ <img src="https://github.com/user-attachments/assets/a25bf197-5c2e-4cec-9dd7-53f83c11656f" width="400">
280
+
281
+
265
282
  ## Swagger UI
266
283
 
267
284
  A custom swagger UI is available at `http[s]://<srv>/v0/documentation` with enhanced markdown rendering and form generation for body parameters.
@@ -7,6 +7,10 @@
7
7
  # pywebexec
8
8
  Simple Python HTTP(S) API/Web Server Command Launcher and Terminal sharing
9
9
 
10
+ * build a Restfull API/swagger-ui powered application in no time exposing simple commands/parameters.
11
+ * create a toolbox with batch management/parallel execution of commands
12
+ * share a terminal in one command
13
+
10
14
  ## Install
11
15
  ```
12
16
  $ pip install pywebexec
@@ -54,6 +58,8 @@ all commands output / statuses are available in the executables directory in sub
54
58
  * Uses gunicorn to serve http/https
55
59
  * Linux/MacOS compatible
56
60
  * Markdown help for commands
61
+ * YAML schema for commands parameters
62
+ * Batch/parallel command execution
57
63
 
58
64
  ## Customize server
59
65
  ```shell
@@ -180,7 +186,7 @@ command --param1 value --param2 1 --param3 value1 value2
180
186
 
181
187
  * On the web inferface, and swagger-ui the form will be generated from the schema.
182
188
 
183
- <img src="https://github.com/user-attachments/assets/c7cdf117-aa38-4366-97c7-1aa26e5ebf0d" width=400>
189
+ <img src="https://github.com/user-attachments/assets/c7cdf117-aa38-4366-97c7-1aa26e5ebf0d" width="400">
184
190
 
185
191
  When using schema, the command can now be launched with:
186
192
  ```
@@ -197,6 +203,17 @@ schema_options:
197
203
  convert_params: {"param1": "param2"} # convert param1 to param2
198
204
  ```
199
205
 
206
+ ## Batch commands/parallel execution
207
+
208
+ Integration of [run-para](https://github.com/joknarf/run-para) to enable batch execution of commands:
209
+ * In `schema_options` adding `batch_param` will enable batch mode for the command, the command will be executed for each value in the `batch_param` list.
210
+ * The `batch_param` is the name of the parameter that will be used to pass the different values for the parameter.
211
+ * The `batch_param` type will be transformed to textarea to provide list to use as parameter for the command.
212
+ * The range parameters `parallel` and `delay` is added to the command parameters to control the execution of the batch commands (nb jobs in parallel and initial delay between jobs).
213
+
214
+ <img src="https://github.com/user-attachments/assets/a25bf197-5c2e-4cec-9dd7-53f83c11656f" width="400">
215
+
216
+
200
217
  ## Swagger UI
201
218
 
202
219
  A custom swagger UI is available at `http[s]://<srv>/v0/documentation` with enhanced markdown rendering and form generation for body parameters.
@@ -906,7 +906,7 @@ def run_dynamic_command(cmd):
906
906
  })
907
907
  Path(get_output_file_path(command_id)).touch()
908
908
  if batch_values:
909
- params = ["-n", "-p", str(parallel), "-d", str(delay), "-P", *batch_values, '--', sys.argv[0], "-d", ".", "--", "run", cmd_path, *params]
909
+ params = ["-n", "-p", str(parallel), "-D", str(delay), "-P", *batch_values, '--', sys.argv[0], "-d", ".", "--", "run", cmd_path, *params]
910
910
  cmd_path = shutil.which("run-para")
911
911
  print(params)
912
912
  thread = threading.Thread(target=run_command, args=(request.remote_addr, user, cmd_path, params, command_id, rows, cols))
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.1.1'
21
- __version_tuple__ = version_tuple = (2, 1, 1)
20
+ __version__ = version = '2.1.3'
21
+ __version_tuple__ = version_tuple = (2, 1, 3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 2.1.1
3
+ Version: 2.1.3
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -72,6 +72,10 @@ Requires-Dist: run-para>=1.0.2
72
72
  # pywebexec
73
73
  Simple Python HTTP(S) API/Web Server Command Launcher and Terminal sharing
74
74
 
75
+ * build a Restfull API/swagger-ui powered application in no time exposing simple commands/parameters.
76
+ * create a toolbox with batch management/parallel execution of commands
77
+ * share a terminal in one command
78
+
75
79
  ## Install
76
80
  ```
77
81
  $ pip install pywebexec
@@ -119,6 +123,8 @@ all commands output / statuses are available in the executables directory in sub
119
123
  * Uses gunicorn to serve http/https
120
124
  * Linux/MacOS compatible
121
125
  * Markdown help for commands
126
+ * YAML schema for commands parameters
127
+ * Batch/parallel command execution
122
128
 
123
129
  ## Customize server
124
130
  ```shell
@@ -245,7 +251,7 @@ command --param1 value --param2 1 --param3 value1 value2
245
251
 
246
252
  * On the web inferface, and swagger-ui the form will be generated from the schema.
247
253
 
248
- <img src="https://github.com/user-attachments/assets/c7cdf117-aa38-4366-97c7-1aa26e5ebf0d" width=400>
254
+ <img src="https://github.com/user-attachments/assets/c7cdf117-aa38-4366-97c7-1aa26e5ebf0d" width="400">
249
255
 
250
256
  When using schema, the command can now be launched with:
251
257
  ```
@@ -262,6 +268,17 @@ schema_options:
262
268
  convert_params: {"param1": "param2"} # convert param1 to param2
263
269
  ```
264
270
 
271
+ ## Batch commands/parallel execution
272
+
273
+ Integration of [run-para](https://github.com/joknarf/run-para) to enable batch execution of commands:
274
+ * In `schema_options` adding `batch_param` will enable batch mode for the command, the command will be executed for each value in the `batch_param` list.
275
+ * The `batch_param` is the name of the parameter that will be used to pass the different values for the parameter.
276
+ * The `batch_param` type will be transformed to textarea to provide list to use as parameter for the command.
277
+ * The range parameters `parallel` and `delay` is added to the command parameters to control the execution of the batch commands (nb jobs in parallel and initial delay between jobs).
278
+
279
+ <img src="https://github.com/user-attachments/assets/a25bf197-5c2e-4cec-9dd7-53f83c11656f" width="400">
280
+
281
+
265
282
  ## Swagger UI
266
283
 
267
284
  A custom swagger UI is available at `http[s]://<srv>/v0/documentation` with enhanced markdown rendering and form generation for body parameters.
File without changes
File without changes
File without changes
File without changes
File without changes