📄Creating a New Project
Last updated
Last updated
A Euno project serves as an exclusive repository for aggregating data products linked to a specific account or data domain. Essentially, a project embodies a dynamic and continuously evolving compilation of text files, collectively sculpting and elucidating the extensive data model it signifies. Notably, a Euno project maintains a one-to-one correspondence with a dbt project. This segment will walk you through the nuances of overseeing and advancing projects, providing valuable insights into the smooth integration of data across various accounts and domains.
When initiating a new project through the "Create a new dbt project" button on the homepage, a dialog box will appear, prompting you to provide the following details:
Project name
Repository
Branch
To include a directory path for the dbt project, you can access this option by clicking on the "Advanced" setting.
Upon successful configuration, the user will be directed to the project's home page. If any issues arise, an error message will be shown in the dialogue box in red text.
For Euno to support automated code generation, data model visualization, and the data app sync, it requires specific artifacts from the dbt build: catalog.json, manifest.json, and run_results.json. Additionally, the following information is required from a job responsible for building the "entire" data model, or the portion considered as such by your organization. Since not every job serves the same function, it is essential to choose the job you want Euno to process.
The selected job must meet the following three criteria:
It must be a build, not just a compile.
The option "Generate docs on run" must be selected.
The job should be set to build the "entire" data model or the specific part of the data model your organization wants to view in Euno.
If you do not have an existing job that meets the above criteria and you are concerned about the build cost, create a lightweight job with the following criteria:
dbt compile
The option 'Generate docs on run' must be selected.
The job should be set to build the 'entire' data model or the specific part of the data model your organization wants to view in Euno.
Please note that while it's possible to use a lightweight job, it's not recommended. Since the job doesn't build the data model, it can't guarantee 100% accuracy. Therefore, if a lightweight job is created, it should be scheduled to execute regularly to ensure it reflects your warehouse transformations.
To configure the specific job for the project, click the "Select job" button under the "Deploy job link" heading on the project configuration page. This will open a dialogue box with a dropdown menu where a dbt job can be selected (see image below).
Connecting a new branch into a Euno project is a pivotal step in the evolution and collaboration of software development. This process not only extends the scope of the project but also introduces a new dimension of version control and collaboration. To connect a new branch, click the “Connect branch” button found in the top right corner of the project's Configuration tab, which will open a dialogue box to select a new branch to connect to.
The Project Home screen is the landing page for the project. This includes two tabs; the "Overview" tab, and the "Configuration" tab.
The Overview tab includes overview information about the project itself, including: the number of sources and models in the project, the connected branches, their health, and the health of the project.
In the intricate landscape of data management, the concept of "health" transcends mere binary success or failure. In Euno, we introduce a nuanced understanding of health to provide users with comprehensive insights into the status and viability of their data builds and projects.
In Euno, the health of a build refers to its current status and whether it has successfully progressed through the various stages of processing. Each build undergoes a lifecycle that includes uploading, processing, and being marked as processed. The health of a build is crucial for users who wish to explore the associated resources. Below are the different states of a build and their corresponding descriptions:
State | Description | Health |
Uploading | Upload process ongoing, artifacts may take time | Pending |
Upload incomplete | Upload process terminated before artifacts finished | Failed |
Pending processing | Upload complete, waiting for a worker to process | Pending |
Processing | A worker is processing the build | Pending |
Processed | Build has been successfully processed | Success |
Processed Failed | The build failed to process | Failed |
The resulting build health helps users understand the current state of their builds, allowing for informed decision-making during exploration.
Euno also provides insights into the overall health of projects, considering the health of both the main and side branches. The health of a project depends on the least healthy, active, side branch and the status of the main branch. Here are the different states and their implications for project health:
Health of Main Branch | Health of Least Healthy Active Branch | Project Health |
Pending initial build | * | Pending initial build |
Pending initial build | Healthy or Lagging | Healthy |
Pending initial build, Healthy, or Lagging | Problem, or Error | Problem |
Problem | * | Problem |
problem | Error | Error |
Understanding the project health helps users assess the overall stability of their projects, taking into account the health of both the main and side branches.
The project configuration tab serves four primary functions in project management:
Administration of connected branches
Oversight of builds
Setting up data application synchronization
Configuring jobs for processing dbt builds
The builds section of this tab includes a list of builds, sorted chronologically by build time and date. This table includes the status of the build, and the data sync, if configured. Users can click on the status in order to view the details.