Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revamp onboarding docs #1266

Merged
merged 208 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
443f2ca
add structure for updated onboarding docs
neverett Nov 17, 2023
8e87575
move new docs to correct location, delete duplicate project creation …
neverett Nov 20, 2023
dd7ce32
fix headers
neverett Nov 20, 2023
9005fa1
add quickstart guide to toc
neverett Nov 20, 2023
d4f503b
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Nov 20, 2023
18ef56e
update getting started links in light of new docs structure
neverett Nov 20, 2023
ee192e4
add whitespace at end of each file to get linter to stop complaining
neverett Nov 20, 2023
2daaef7
rename running workflows locally article, update refs in example docs
neverett Nov 20, 2023
e1722a1
remove trailing whitespace
neverett Nov 20, 2023
b028b5d
fix broken ref
neverett Nov 20, 2023
ec26975
fix additional refs
neverett Nov 20, 2023
114a720
update creating a project refs
neverett Nov 20, 2023
58774cb
fix stray broken refs
neverett Nov 20, 2023
29345f0
fix formatting
neverett Nov 20, 2023
8364927
fix more refs
neverett Nov 21, 2023
720fe97
align existing tasks and workflows doc and new creating a flyte proje…
neverett Nov 21, 2023
6446ed2
add content to creating a project doc
neverett Nov 21, 2023
da35f9e
split flyte project components out into separate article
neverett Nov 21, 2023
e1fd6da
trim trailing whitespace
neverett Nov 21, 2023
d9b299b
don't capitalize project
neverett Nov 21, 2023
d4d42e0
update quickstart guide
neverett Nov 21, 2023
cabd5d6
fix ref
neverett Nov 21, 2023
8d8d466
remove task and workflow conceptual info from quickstart guide
neverett Nov 21, 2023
8695cc9
try to fix next and prev links
neverett Nov 21, 2023
ae6da75
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Nov 27, 2023
28c2859
fix whitespace issues manually
neverett Nov 27, 2023
8d6183f
add intro content to getting started with wf dev section
neverett Nov 27, 2023
1983de5
rename launch plan article
neverett Nov 27, 2023
bff5c72
try to fix next and prev links again
neverett Nov 27, 2023
bd9fe21
rewrite about flyte page
neverett Nov 27, 2023
3658f6a
move quickstart guide out of getting started with wf development section
neverett Nov 27, 2023
f86ce9a
attempt to fix sidebar toc
neverett Nov 27, 2023
7e9bcf1
attempt to fix next and prev links again
neverett Nov 28, 2023
fbcddd6
add prev links to flyte fundamentals
neverett Nov 28, 2023
c174d51
add prev link to quickstart guide
neverett Nov 28, 2023
bbf7125
finish content for quickstart guide
neverett Nov 28, 2023
13ed0f4
small edit for quickstart guide
neverett Nov 28, 2023
b55d9ec
more edits in installation doc
neverett Nov 28, 2023
c456035
rename about flyte back to introduction to flyte
neverett Nov 29, 2023
0a877f8
second draft of creating a flyte project
neverett Nov 29, 2023
39e1ccd
small edits
neverett Nov 29, 2023
b68ad12
add next steps
neverett Nov 29, 2023
7a553fe
second draft of project components doc
neverett Nov 29, 2023
57f1fd0
tell readers what a dsl is
neverett Nov 29, 2023
63b1726
less verbose
neverett Nov 29, 2023
b698f33
remove temporary references to docs that will be written later
neverett Nov 30, 2023
fac5bc9
polish flyte project docs
neverett Nov 30, 2023
df69eb5
more content in running workflows
neverett Nov 30, 2023
c2743b6
fix formatting
neverett Nov 30, 2023
11fc30d
remove launch plan article from this branch
neverett Dec 1, 2023
6792d7e
remove launch plan article from toc
neverett Dec 1, 2023
b134410
more improvements to running workflows article
neverett Dec 1, 2023
798ef85
add toc to getting started with workflow development landing page
neverett Dec 1, 2023
059cba9
make intro copy more concise, fix toc links, add tk to workflows article
neverett Dec 1, 2023
da20717
change {ref} to {doc} for links to pages
neverett Dec 1, 2023
5b292af
remove ref from workflows file
neverett Dec 1, 2023
f955386
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Dec 1, 2023
d1bb43a
change ref to doc link
neverett Dec 4, 2023
22ecd71
polish running flyte workflows locally
neverett Dec 4, 2023
49237d1
fix numbering and add note
neverett Dec 4, 2023
d2b2ab4
remove next steps section for now
neverett Dec 4, 2023
122827a
rename running a workflow locally article, update language around opt…
neverett Dec 4, 2023
df9e1b0
remove stray tk
neverett Dec 4, 2023
fad20f8
fix doc link
neverett Dec 4, 2023
6dfcdc0
fix links
neverett Dec 4, 2023
7e6a8cc
test links outside of list
neverett Dec 4, 2023
0c493b2
fix link
neverett Dec 4, 2023
5e9fc99
try fixing links again
neverett Dec 4, 2023
c2e62b4
try fixing link on index page again
neverett Dec 4, 2023
d06aad7
turn doc links into ref links
neverett Dec 4, 2023
5515423
add updated images
neverett Dec 4, 2023
90f84e2
add space around images plus alt text
neverett Dec 4, 2023
2df13d2
make screenshots easier to tell apart
neverett Dec 4, 2023
ad0a644
clearer section header
neverett Dec 4, 2023
fa5bc78
remove TKs - will turn into PR comments if needed
neverett Dec 4, 2023
75e13df
fix typo and TOC
neverett Dec 5, 2023
2d63d6c
update prerequisites sections
neverett Dec 5, 2023
72a11cf
update running workflow doc with feedback
neverett Dec 6, 2023
c804cb9
fix link to creating a project doc
neverett Dec 7, 2023
6fb121e
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Dec 7, 2023
794db79
fix link to development tools article
neverett Dec 7, 2023
7b42751
rewrite intro
neverett Dec 7, 2023
24c0905
quickstart guide updates
neverett Dec 7, 2023
07f4f4e
update example in quickstart guide
neverett Dec 7, 2023
dbebaba
move flyteconsole to control plane
neverett Dec 7, 2023
89ecb3e
lots of edits to address feedback
neverett Dec 8, 2023
9b598cf
imagespec updates
neverett Dec 11, 2023
d80800d
missed an imagespec update
neverett Dec 11, 2023
3e56eee
rename
neverett Dec 11, 2023
0a5ac67
fix note formatting and add note about Dockerfile
neverett Dec 11, 2023
46732c0
further updates to visualizing task inputs and outputs article
neverett Dec 11, 2023
edddfd0
update image links
neverett Dec 11, 2023
a45945d
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Dec 11, 2023
c00f186
add note about git needed for dockerfile based setup
neverett Dec 11, 2023
fbae5a5
fix imagespec template link, fix flyte fundamentals toctree
neverett Dec 11, 2023
a7d4a46
remove build artifact
neverett Dec 11, 2023
d543356
move note from quickstart guide
neverett Dec 12, 2023
c82f81a
small fixes for dev tools page, formatting fixes for creating a flyte…
neverett Dec 12, 2023
882e9f8
address today's feedback
neverett Dec 13, 2023
48b0dec
proofread
neverett Dec 13, 2023
a9751cd
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Dec 13, 2023
0e26a13
Merge branch 'master' into nikki-onboarding-docs-revamp
cosmicBboy Dec 14, 2023
921e1e7
add note about using a different template
neverett Dec 14, 2023
ad7e202
Merge branch 'nikki-onboarding-docs-revamp' of github.com:flyteorg/fl…
neverett Dec 14, 2023
5f5c38e
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Jan 3, 2024
18e2484
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Jan 9, 2024
83bf699
small edits
neverett Jan 9, 2024
f596187
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Jan 10, 2024
51691a5
add structure for updated onboarding docs
neverett Nov 17, 2023
0ea2164
move new docs to correct location, delete duplicate project creation …
neverett Nov 20, 2023
83e9963
fix headers
neverett Nov 20, 2023
397035d
add quickstart guide to toc
neverett Nov 20, 2023
61901c3
update getting started links in light of new docs structure
neverett Nov 20, 2023
08e0e0e
add whitespace at end of each file to get linter to stop complaining
neverett Nov 20, 2023
d4e374d
rename running workflows locally article, update refs in example docs
neverett Nov 20, 2023
6eeed26
remove trailing whitespace
neverett Nov 20, 2023
6a90add
fix broken ref
neverett Nov 20, 2023
f281011
fix additional refs
neverett Nov 20, 2023
3123d17
update creating a project refs
neverett Nov 20, 2023
87a244a
fix stray broken refs
neverett Nov 20, 2023
e6dd303
fix formatting
neverett Nov 20, 2023
bf8d01e
fix more refs
neverett Nov 21, 2023
a3265d9
align existing tasks and workflows doc and new creating a flyte proje…
neverett Nov 21, 2023
b0aaac1
add content to creating a project doc
neverett Nov 21, 2023
d3db5b7
split flyte project components out into separate article
neverett Nov 21, 2023
61a95bf
trim trailing whitespace
neverett Nov 21, 2023
b55ca67
don't capitalize project
neverett Nov 21, 2023
b97efe0
update quickstart guide
neverett Nov 21, 2023
feade8c
fix ref
neverett Nov 21, 2023
07adb8c
remove task and workflow conceptual info from quickstart guide
neverett Nov 21, 2023
657cb19
try to fix next and prev links
neverett Nov 21, 2023
913a742
add intro content to getting started with wf dev section
neverett Nov 27, 2023
a9e40a0
rename launch plan article
neverett Nov 27, 2023
cb60dd5
try to fix next and prev links again
neverett Nov 27, 2023
f41d2d0
rewrite about flyte page
neverett Nov 27, 2023
ae9f8dc
move quickstart guide out of getting started with wf development section
neverett Nov 27, 2023
971e674
attempt to fix sidebar toc
neverett Nov 27, 2023
d449bbd
attempt to fix next and prev links again
neverett Nov 28, 2023
f4a5d3d
add prev links to flyte fundamentals
neverett Nov 28, 2023
7f7745b
add prev link to quickstart guide
neverett Nov 28, 2023
c219880
finish content for quickstart guide
neverett Nov 28, 2023
232435c
small edit for quickstart guide
neverett Nov 28, 2023
7849627
more edits in installation doc
neverett Nov 28, 2023
ddea83c
rename about flyte back to introduction to flyte
neverett Nov 29, 2023
1ed6dea
second draft of creating a flyte project
neverett Nov 29, 2023
10a5a9b
small edits
neverett Nov 29, 2023
dfc7e5d
add next steps
neverett Nov 29, 2023
2cf76a1
second draft of project components doc
neverett Nov 29, 2023
962ecdb
tell readers what a dsl is
neverett Nov 29, 2023
9b52ac7
less verbose
neverett Nov 29, 2023
cdbeaa2
remove temporary references to docs that will be written later
neverett Nov 30, 2023
37cf884
polish flyte project docs
neverett Nov 30, 2023
1ac9912
more content in running workflows
neverett Nov 30, 2023
d99eb86
fix formatting
neverett Nov 30, 2023
4de30c5
remove launch plan article from this branch
neverett Dec 1, 2023
3d6174f
remove launch plan article from toc
neverett Dec 1, 2023
ea0e810
more improvements to running workflows article
neverett Dec 1, 2023
994952a
add toc to getting started with workflow development landing page
neverett Dec 1, 2023
b7de9a4
make intro copy more concise, fix toc links, add tk to workflows article
neverett Dec 1, 2023
be8c342
change {ref} to {doc} for links to pages
neverett Dec 1, 2023
8502716
remove ref from workflows file
neverett Dec 1, 2023
8dae135
change ref to doc link
neverett Dec 4, 2023
b262ed0
polish running flyte workflows locally
neverett Dec 4, 2023
f6db328
fix numbering and add note
neverett Dec 4, 2023
40af88b
remove next steps section for now
neverett Dec 4, 2023
5d080cd
rename running a workflow locally article, update language around opt…
neverett Dec 4, 2023
b0e72ce
remove stray tk
neverett Dec 4, 2023
a076152
fix doc link
neverett Dec 4, 2023
a5d7568
fix links
neverett Dec 4, 2023
a27394e
test links outside of list
neverett Dec 4, 2023
1f083f9
fix link
neverett Dec 4, 2023
fe8fc2d
try fixing links again
neverett Dec 4, 2023
908e054
try fixing link on index page again
neverett Dec 4, 2023
8c98228
turn doc links into ref links
neverett Dec 4, 2023
b5665df
add updated images
neverett Dec 4, 2023
2fa0ed9
add space around images plus alt text
neverett Dec 4, 2023
be4c990
make screenshots easier to tell apart
neverett Dec 4, 2023
8a9ff1c
clearer section header
neverett Dec 4, 2023
4e73698
remove TKs - will turn into PR comments if needed
neverett Dec 4, 2023
95202d9
fix typo and TOC
neverett Dec 5, 2023
3181448
update prerequisites sections
neverett Dec 5, 2023
6644a3c
update running workflow doc with feedback
neverett Dec 6, 2023
1d15964
fix link to creating a project doc
neverett Dec 7, 2023
7bd53d7
fix link to development tools article
neverett Dec 7, 2023
5439317
rewrite intro
neverett Dec 7, 2023
f689044
quickstart guide updates
neverett Dec 7, 2023
40e2a47
update example in quickstart guide
neverett Dec 7, 2023
0b6abaa
move flyteconsole to control plane
neverett Dec 7, 2023
81353ec
lots of edits to address feedback
neverett Dec 8, 2023
c2a2a96
imagespec updates
neverett Dec 11, 2023
7b8b7e7
missed an imagespec update
neverett Dec 11, 2023
ccd818b
rename
neverett Dec 11, 2023
8112d18
fix note formatting and add note about Dockerfile
neverett Dec 11, 2023
e94be57
further updates to visualizing task inputs and outputs article
neverett Dec 11, 2023
8848ec9
update image links
neverett Dec 11, 2023
2a4135b
add note about git needed for dockerfile based setup
neverett Dec 11, 2023
cc160b5
fix imagespec template link, fix flyte fundamentals toctree
neverett Dec 11, 2023
042f5a6
remove build artifact
neverett Dec 11, 2023
547bc12
move note from quickstart guide
neverett Dec 12, 2023
fbbcb84
small fixes for dev tools page, formatting fixes for creating a flyte…
neverett Dec 12, 2023
a56d9d7
address today's feedback
neverett Dec 13, 2023
6d06ea8
proofread
neverett Dec 13, 2023
928a264
add note about using a different template
neverett Dec 14, 2023
10762c1
small edits
neverett Jan 9, 2024
74fbd8e
have user copy python code instead of using pyflyte init
neverett Jan 16, 2024
0272c69
resolve merge conflict
neverett Jan 16, 2024
f3b0080
add note about needing to change directories
neverett Jan 16, 2024
cfc9619
Merge branch 'master' into nikki-onboarding-docs-revamp
neverett Jan 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions docs/getting_started/creating_a_flyte_project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
jupytext:
formats: md:myst
text_representation:
extension: .md
format_name: myst
---

# Creating a Flyte project
neverett marked this conversation as resolved.
Show resolved Hide resolved
neverett marked this conversation as resolved.
Show resolved Hide resolved

## About Flyte projects

A Flyte project is a directory containing task and workflow code, internal Python source code, configuration files, and other artifacts needed to package up your code so that it can be run on a Flyte cluster.

## Prerequisites

* Follow the steps in {doc}`"Installing development tools" <installing_development_tools>`
* Install git

## Steps

1. Activate your virtual environment
1. Initialize your Flyte project
1. Install additional requirements
1. Version your Flyte project code with git
1. Create a git commit

### Activate your virtual environment

First, activate the virtual environment you will use to manage dependencies for your Flyte project:

```{prompt} bash $
conda activate flyte-example
```

### Initialize your Flyte project

Next, initialize your Flyte project. The [flytekit-python-template GitHub repository](https://github.com/flyteorg/flytekit-python-template) contains Flyte project templates with sample code that you can run as is or modify to suit your needs.

In this example, we will initialize the [simple-example project template](https://github.com/flyteorg/flytekit-python-template/tree/main/simple-example).
neverett marked this conversation as resolved.
Show resolved Hide resolved

```{prompt} bash $
pyflyte init my_project
```

### Install additional requirements

After initializing your Flyte project, you will need to install requirements listed in `requirements.txt`:

```{prompt} bash $
pip install -r requirements.txt
```

### Version your Flyte project code with git

Versioning your Flyte project code allows you to register the workflow it contains to a Flyte cluster and enables workflow versioning.
neverett marked this conversation as resolved.
Show resolved Hide resolved

To version your Flyte project code, initialize a git repository in the Flyte project directory:

```{prompt} bash $
cd my_project
git init
```

### Create a git commit

To ensure you can register your workflow to a Flyte cluster, create at least one git commit:

```{prompt} bash $

git add .
git commit -m "first commit"
```

## Next steps

To learn about the parts of a Flyte project, including tasks and workflows, see {doc}`"Flyte project components" <flyte_project_components>`.

To run the workflow in your Flyte project in a local Python environment or in a local Flyte cluster, see {doc}`"Running a workflow locally" <running_a_workflow_locally>`.
154 changes: 0 additions & 154 deletions docs/getting_started/creating_flyte_project.md

This file was deleted.

11 changes: 4 additions & 7 deletions docs/getting_started/flyte_fundamentals.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
# override the toc-determined page navigation order
prev-page: index
prev-page-title: Getting Started
prev-page: getting_started/creating_and_running_a_flyte_launch_plan
prev-page-title: Creating and running a Flyte Launch Plan
next-page: getting_started/tasks_and_workflows
next-page-title: Tasks, Workflows and LaunchPlans
---

(getting_started_fundamentals)=
Expand All @@ -24,9 +25,6 @@ use cases.
* - {doc}`🔀 Tasks, Workflows and LaunchPlans <tasks_and_workflows>`
- Create tasks as building blocks, compose them into workflows, and schedule
them with launchplans.
* - {doc}`✨ Creating a Flyte Project <creating_flyte_project>`
- Build a Flyte project from scratch and learn about the recommended project
structure.
* - {doc}`🗄 Registering Workflows <package_register>`
- Develop and deploy workflows to a local Flyte demo cluster.
* - {doc}`⏱ Running and Scheduling Workflows <run_schedule>`
Expand All @@ -52,7 +50,6 @@ cluster, see the {ref}`Deployment Guide <deployment>`.
:hidden:

tasks_and_workflows
creating_flyte_project
package_register
run_schedule
visualizing_artifacts
neverett marked this conversation as resolved.
Show resolved Hide resolved
Expand Down
101 changes: 101 additions & 0 deletions docs/getting_started/flyte_project_components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
jupytext:
formats: md:myst
text_representation:
extension: .md
format_name: myst
---

# Flyte project components

A Flyte project is a directory containing task and workflow code, internal Python source code, configuration files, and other artifacts needed to package up your code so that it can be run on a Flyte cluster.

## Directory structure

If you examine the project you created with `pyflyte init` in {doc}`"Creating a Flyte project <creating_a_flyte_project`, you'll see the following directory structure:

```{code-block} bash
my_project
├── Dockerfile # Docker image
├── LICENSE
├── README.md
├── docker_build.sh # Docker build helper script
├── requirements.txt # Python dependencies
└── workflows
├── __init__.py
└── example.py # Example Flyte workflows
```

## Configuration files

Flyte projects contain a `Dockerfile` and `requirements.txt` file that you can modify to suit the needs of your project.

(getting_started_python_dependencies)=

### `requirements.txt` Python dependencies

You can specify pip-installable Python dependencies in your project by adding them to the
`requirements.txt` file.

```{note}
We recommend using [pip-compile](https://pip-tools.readthedocs.io/en/latest/) to
manage your project's Python requirements.
```

````{dropdown} See requirements.txt

```{rli} https://raw.githubusercontent.com/flyteorg/flytekit-python-template/main/simple-example/%7B%7Bcookiecutter.project_name%7D%7D/requirements.txt
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This link will need to be updated after flyteorg/flytekit-python-template#43 is merged

:caption: requirements.txt
```

````

(getting_started_dockerfile)=

### Dockerfile
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Decide if we want to mention ImageSpec here, and if so, if we also want to actively discourage people from customizing Dockerfiles.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should remove this section and ONLY mention ImageSpec... maybe with a link at the end for advanced image configurations, read on <building with Dockerfile> instead


Flyte projects contain a `Dockerfile` that defines the system requirements for running the tasks and workflows in the project that you can customize as needed.

````{dropdown} See Dockerfile

```{rli} https://raw.githubusercontent.com/flyteorg/flytekit-python-template/main/simple-example/%7B%7Bcookiecutter.project_name%7D%7D/Dockerfile
:language: docker
```

````
```{note}
Flyte includes ImageSpec, a feature that builds a custom image without having to write a Dockerfile. To learn more, see the [ImageSpec documentation](https://docs.flyte.org/projects/cookbook/en/latest/auto_examples/customizing_dependencies/image_spec.html#image-spec-example)
```

(getting_started_workflow_code)=

## Workflow code
neverett marked this conversation as resolved.
Show resolved Hide resolved

By default, Flyte projects contain a `workflows` directory, inside of which is a Python file that holds the workflow code for the application.

The workflow code contains one or more task and workflow functions, decorated with the `@task` and `@workflow` decorators, respectively.

* The @task and @workflow decorators can be parsed by Python provided that they are used only on functions at the top-level scope of the module.
* Task and workflow function signatures must be type-annotated with Python type hints.
* Tasks and workflows can be invoked like regular Python methods, and even imported and used in other Python modules or scripts.
* Task and workflow functions must be invoked with keyword arguments.

```{note}
The workflow directory also contains an `__init__.py` file to indicate that the workflow code is part of a Python package. For more information, see the [Python documentation](https://docs.python.org/3/reference/import.html#regular-packages).
```

### @task decorator

The @task decorator indicates a Python function that defines a task.

* A task is a Python function that takes some inputs and produces an output.
* Tasks are assembled into workflows.
* When deployed to a Flyte cluster, each task runs in its own [Kubernetes Pod](https://kubernetes.io/docs/concepts/workloads/pods/), where Flyte orchestrates what task runs at what time in the context of a workflow.

### @workflow decorator

The @workflow decorator indicates a function-esque construct that defines a workflow.

* Workflows specify the flow of data between tasks, and the dependencies between tasks.
* A workflow appears to be a Python function but is actually a [domain-specific language (DSL)](https://en.wikipedia.org/wiki/Domain-specific_language) that only supports a subset of Python syntax and semantics.
* When deployed to a Flyte cluster, the workflow function is "compiled" to construct the directed acyclic graph (DAG) of tasks, defining the order of execution of task pods and the data flow dependencies between them.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
# override the toc-determined page navigation order
prev-page: getting_started/quickstart_guide
prev-page-title: Quickstart guide
---

(getting_started_workflow_development)=
# Getting started with workflow development

Machine learning engineers, data engineers, and data analysts represent the processes that consume, transform, and output data with directed acyclic graphs (DAGs). In this section, you will learn how to create a Flyte project to contain the workflow code that implements your DAG, as well as the configuration files needed to package the code to run on a local or remote Flyte cluster.

```{list-table}
:header-rows: 0
:widths: 20 30

* - {doc}`Installing development tools <installing_development_tools>`
- Install the tools needed to create Flyte projects and run workflows and tasks.
* - {doc}`Creating a Flyte project <creating_a_flyte_project>`
- Create a Flyte project that contains workflow code and essential configuration files.
* - {doc}`Running a workflow locally <running_a_workflow_locally>`
- Execute a workflow in a local Python environment or in a local Flyte cluster.
```

```{toctree}
:maxdepth: -1
:hidden:

installing_development_tools
creating_a_flyte_project
flyte_project_components
running_a_workflow_locally
```
Loading
Loading