Skip to main content

Project

This guide outlines the steps to create an Ascend Project.

Before you begin

New to Ascend? We recommend starting with:

If you're already set up with Ascend and just want to create a new Project, you've come to the right place.

Prerequisites

Create an Ascend Project

  1. In the Ascend UI, click the Instance settings button (top right, showing your Instance name and user icon)
  2. Navigate to the Projects tab
  3. Click Add Project
  4. Enter a Title for your Project
  5. Select your Repository from the dropdown
  6. Set Project root to the folder path containing your Project code
  7. 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 features
  • projects/ottos-expeditions/duckdb - comprehensive sample Project with advanced features
  • projects/default/minimal/duckdb - minimal Project with basic features only
Data Plane alternatives

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 specifications
  • pyproject.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.

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>

Next steps

  • Set up your Workspace to start developing in Ascend