Project
This guide outlines the steps to create an Ascend Project.
Before you begin
New to Ascend? We recommend starting with:
- Quickstart guides to build your first data pipeline
- Otto's Expeditions for a guided sample Project experience with your preferred Git provider
If you're already set up with Ascend and just want to create a new Project, you've come to the right place.
Prerequisites
- Ascend Instance
- Either a managed Repository or a manually created Repository
Create an Ascend Project
- In the Ascend UI, click the Instance settings button (top right, showing your Instance name and user icon)
- Navigate to the Projects tab
- Click Add Project
- Enter a Title for your Project
- Select your Repository from the dropdown
- Set Project root to the folder path containing your Project code
- Click Save
Ascend-managed options
When using an Ascend-managed Repository, choose one of these Project root paths based on your needs:
projects/default/duckdb
- simplified single Flow showcasing core featuresprojects/ottos-expeditions/duckdb
- comprehensive sample Project with advanced featuresprojects/default/minimal/duckdb
- minimal Project with basic features only
You can replace duckdb
in the Project root with other Data Planes like bigquery
, snowflake
, or databricks
based on your infrastructure preference. DuckDB is recommended for getting started since it requires no additional setup in Ascend.
Configure your Project
Ascend Projects use a dual configuration approach:
ascend_project.yaml
- defines Data Plane settings and default Flow specificationspyproject.toml
- manages Python package dependencies
The examples below show ascend_project.yaml
configurations for different Data Planes, based on the Otto's Expeditions Project. See this guide for pyproject.toml
setup.
- DuckLake
- BigQuery
- Snowflake
- Databricks
project:
# only alphanumeric characters, dashes, and underscores are allowed for the Project name
name: ottos-expeditions
# in Ascend, parameters are a core concept.
# Think of parameters as a key:value mapping (dictionary, map, etc.) of variables
# you can use in your Flows. The hierarchy of parameters is:
# Project > Profile > Flow > Flow run.
# The parameters below are the top-level variables -- you can think of them as a default
# -- for all Flows in this Project. Profiles are typically used to override parameters
parameters:
data_planes:
ducklake:
component_concurrency: 1
data_connection_name: <your-object-store-connection-name>
metadata_connection_name: <your-postgres-instance-connection-name>
project:
# only alphanumeric characters, dashes, and underscores are allowed for the Project name
name: ottos-expeditions
# in Ascend, parameters are a core concept.
# Think of parameters as a key:value mapping (dictionary, map, etc.) of variables
# you can use in your Flows. The hierarchy of parameters is:
# Project > Profile > Flow > Flow run.
# The parameters below are the top-level variables -- you can think of them as a default
# -- for all Flows in this Project. Profiles are typically used to override parameters
parameters:
data_planes:
gcp:
project_id: <your-gcp-project-id>
bigquery:
dataset: OTTOS_EXPEDITIONS_DEVELOPMENT
project:
# only alphanumeric characters, dashes, and underscores are allowed for the Project name
name: ottos-expeditions
# in Ascend, parameters are a core concept.
# Think of parameters as a key:value mapping (dictionary, map, etc.) of variables
# you can use in your Flows. The hierarchy of parameters is:
# Project > Profile > Flow > Flow run.
# The parameters below are the top-level variables -- you can think of them as a default
# -- for all Flows in this Project. Profiles are typically used to override parameters
parameters:
data_planes:
snowflake:
account: <your-snowflake-account>
user: <your-snowflake-user>
role: <your-snowflake-role>
project:
# only alphanumeric characters, dashes, and underscores are allowed for the Project name
name: ottos-expeditions
# additional packages to install from PyPI
# https://pypi.org/project/ottos-expeditions/
# you can use a Flow bootstrap command to install private packages
# in Ascend, parameters are a core concept.
# Think of parameters as a key:value mapping (dictionary, map, etc.) of variables
# you can use in your Flows. The hierarchy of parameters is:
# Project > Profile > Flow > Flow run.
# The parameters below are the top-level variables -- you can think of them as a default
# -- for all Flows in this Project. Profiles are typically used to override parameters
parameters:
data_planes:
databricks:
Next steps
- Set up your Workspace to start developing in Ascend