You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The extension can be used in particular from a [repository synchronized to a Windmill instance](../../advanced/3_cli/sync.mdx) to [develop scripts & flows locally](../../advanced/4_local_development/index.mdx) while keeping them synced to your workspace.
10
-
11
-
<divclassName="grid grid-cols-2 gap-6 mb-4">
12
-
<DocCard
13
-
title="Command-Line Interface - Sync"
14
-
description="Sync with a Windmill workspace from Windmill CLI."
15
-
href="/docs/advanced/cli"
16
-
/>
17
-
</div>
9
+
The extension can be used in particular from a repository synchronized to a Windmill instance to [develop scripts & flows locally](../../advanced/4_local_development/index.mdx) while keeping them synced to your workspace.
18
10
19
11
<iframe
20
12
style={{ aspectRatio: '16/9' }}
@@ -56,7 +48,7 @@ To run scripts locally, see [Run Locally](../../advanced/4_local_development/run
56
48
57
49
## Installation
58
50
59
-
1.First of all, have your workspace synced locally with [Windmill CLI](../../advanced/3_cli/index.mdx).
51
+
First of all, have your workspace synced locally with [Windmill CLI](../../advanced/3_cli/index.mdx).
@@ -74,6 +66,18 @@ In the settings menu, set the remote url, workspace name and [token](../../core_
74
66
75
67
3. From any script file, use `> Windmill: Run preview in the current editor` or Ctrl+Enter and Shift+Enter to generate the UI preview (provided that the script meets the [few rules](../../core_concepts/13_json_schema_and_parsing/index.md#json-schema-in-windmill) required by Windmill).
76
68
69
+
All details to set up the workspace folder:
70
+
71
+
<divclassName="grid grid-cols-2 gap-6 mb-4">
72
+
<DocCard
73
+
title="Setting up the workspace folder"
74
+
description="Developing Windmill scripts and flows from your favorite IDE is made easy by using Windmill CLI."
The preview & run will work for any script meeting the specific language requirements (main function, imports) and being named with the dedicated file extension (.py, .go etc.). For scripts in Bun, name the file \[name\].bun.ts, ".ts" being by default Deno.
78
82
79
83
The extension will split your screen and display a panel. That panel will update automatically based on the edited document on the left.
@@ -83,34 +87,40 @@ The extension will split your screen and display a panel. That panel will update
83
87
84
88
In particular:
85
89
86
-
## Test scripts, flows and flows steps from VS Code
90
+
### Test scripts, flows and flows steps
91
+
92
+
Once you have your scripts and flows locally (either pulled from a remote workspace or created from scratch), you can test them directly from VS Code.
Copy file name to clipboardExpand all lines: docs/compared_to/peers.mdx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ Airflow and Temporal are the golden standards. They are very good, battle-tested
32
32
33
33
<br />
34
34
35
-
Those frameworks are a great source of inspiration for us but we bring a more principled and more opinionated approach so that one can focus on writing scripts rather than becoming a workflow engine expert. The goal of Windmill is to bring the benefits of those workflow engines in a more accessible package that is fit not just for data engineers but for hybrid teams made of data scientist, ops, and software engineers with standard scripts in Python/Typescript/Go/Bash and low-code builder for the graph itself the common denominator, without any sacrifice on performance (and actually we run workflows faster than those frameworks, more on that in [1]), features, scalability/reliability and by improving the debuggability and developer experience of those.
35
+
Those frameworks are a great source of inspiration for us but we bring a more principled and more opinionated approach so that one can focus on writing scripts rather than becoming a workflow engine expert. The goal of Windmill is to bring the benefits of those workflow engines in a more accessible package that is fit not just for data engineers but for hybrid teams made of data scientist, ops, and software engineers with standard scripts in Python/Typescript/Go/Bash and low-code builder for the graph itself the common denominator, without any sacrifice on performance (and actually we run workflows faster than those frameworks, more on that in [1]), features, scalability/reliability and by improving the debuggability and developer experience of those. It is also possible to define [workflows-as-code](../core_concepts/31_workflows_as_code/index.mdx), in the same way as Prefect or Airflow (writing a program that defines the jobs and their dependencies, and then execute that program).
> [Flow](#benchmark-1)_Given a GitHub repository, logs the number of stargazers and contributors for that repo_ on Prefect.
82
+
> [Flow](#benchmark-1)"_Given a GitHub repository, logs the number of stargazers and contributors for that repo_" on Prefect.
85
83
86
84
<br />
87
85
88
-
In Windmill, the steps are also code-based but built from scripts ([TypeScript](../getting_started/0_scripts_quickstart/1_typescript_quickstart/index.mdx), [Python](../getting_started/0_scripts_quickstart/2_python_quickstart/index.mdx), [Go](../getting_started/0_scripts_quickstart/3_go_quickstart/index.mdx), [Bash](../getting_started/0_scripts_quickstart/4_bash_quickstart/index.mdx), [SQL](../getting_started/0_scripts_quickstart/5_sql_quickstart/index.mdx) ...). Users can write the code directly, choose a script from the workspace, the community library [WindmillHub](https://hub.windmill.dev/), or have it [generated with AI](#windmill-ai). Each script can be saved with [permissions](../core_concepts/16_roles_and_permissions/index.mdx) set from the workspace.
86
+
Windmill offers both low-code and code-based solutions.
87
+
88
+

89
+
90
+
### Flow Editor
91
+
92
+
In Windmill's [Flow Editor](../flows/1_flow_editor.mdx), the steps are also code-based but built from scripts ([TypeScript](../getting_started/0_scripts_quickstart/1_typescript_quickstart/index.mdx), [Python](../getting_started/0_scripts_quickstart/2_python_quickstart/index.mdx), [Go](../getting_started/0_scripts_quickstart/3_go_quickstart/index.mdx), [Bash](../getting_started/0_scripts_quickstart/4_bash_quickstart/index.mdx), [SQL](../getting_started/0_scripts_quickstart/5_sql_quickstart/index.mdx) ...). Users can write the code directly, choose a script from the workspace, the community library [WindmillHub](https://hub.windmill.dev/), or have it [generated with AI](#windmill-ai). Each script can be saved with [permissions](../core_concepts/16_roles_and_permissions/index.mdx) set from the workspace.
89
93
90
94
The structuring of the flow and the configurations for each step are defined from a User Interface. With a _code when you need_ mindset, the user can navigate the flow editor in low-code.
> [Flow](#benchmark-1)_Given a GitHub repository, logs the number of stargazers and contributors for that repo_ on Windmill.
98
+
> [Flow](#benchmark-1)"_Given a GitHub repository, logs the number of stargazers and contributors for that repo_" on Windmill.
95
99
96
100
<br />
97
101
98
102
In particular, Windmill [generates automatically UIs](../core_concepts/6_auto_generated_uis/index.mdx) for flows and steps and lets users [test](../core_concepts/23_instant_preview/index.mdx) flows, steps or flow until a given step, from the UI.
99
103
100
-
Flows can be [defined visually / YAML](../advanced/4_local_development/index.mdx) on a local environment. In particular, Windmill has a VS Code extension to edit from your code editor scripts and workflows-as-code.
104
+
Flows can be [defined visually / YAML](../advanced/4_local_development/index.mdx) on a local environment. In particular, Windmill has a [VS Code extension](../cli_local_dev/1_vscode-extension/index.mdx) to edit from your code editor scripts flows YAML.
101
105
102
106
<divclassName="grid grid-cols-2 gap-6 mb-4">
103
107
<DocCard
@@ -107,7 +111,13 @@ Flows can be [defined visually / YAML](../advanced/4_local_development/index.mdx
107
111
/>
108
112
</div>
109
113
110
-

114
+
### Workflows as Code
115
+
116
+
[Flows](#flow-editor) are not the only way to write distributed programs that execute distinct jobs. Another approach is to write a program that defines the jobs and their dependencies, and then execute that program. This is known as [workflows as code](../core_concepts/31_workflows_as_code/index.mdx).
117
+
118
+

119
+
120
+
Windmill supports defining workflows as code in a single script in both [Python](../getting_started/0_scripts_quickstart/2_python_quickstart/index.mdx) and [TypeScript](../getting_started/0_scripts_quickstart/1_typescript_quickstart/index.mdx) using intuitive and lightweight syntax.
Copy file name to clipboardExpand all lines: docs/core_concepts/31_workflows_as_code/index.mdx
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,11 @@ import TabItem from '@theme/TabItem';
5
5
6
6
[Flows](../../flows/1_flow_editor.mdx) are not the only way to write distributed programs that execute distinct jobs. Another approach is to write a program that defines the jobs and their dependencies, and then execute that program. This is known as workflows as code.
7
7
8
-

8
+

9
9
10
10
One way of doing this is to use the [API of Windmill](https://app.windmill.dev/openapi.html) itself, to run jobs imperatively, using run_script and run_flow (their sync or async counterparts). This is a powerful way to define workflows, but it can be complex and verbose.
11
11
12
-
It also requires to define the different jobs in different scripts. This is why, Windmill supports defining workflows as code in a single script in both [Python](../../getting_started/0_scripts_quickstart/2_python_quickstart/index.mdx) and [TypeScript](../../getting_started/0_scripts_quickstart/1_typescript_quickstart/index.mdx) using intuitive and lightweight syntax.
12
+
It also requires to define the different jobs in different scripts. This is why Windmill supports defining workflows as code in a single script in both [Python](../../getting_started/0_scripts_quickstart/2_python_quickstart/index.mdx) and [TypeScript](../../getting_started/0_scripts_quickstart/1_typescript_quickstart/index.mdx) using intuitive and lightweight syntax.
13
13
14
14
The syntax is highlighted in the below examples, note that the subtask are indeed executed as distinct jobs, with their own logs, and their relationship with their parent task is recorded which allows for the timeline of each task to be displayed in the UI.
0 commit comments