Hey @Davila , I did some digging and have come with some things you can think about as you work through your issue. Here’s a clear way to think about what you’re seeing and how to proceed.
What’s going on
-
That “Root folder” field in the DLT UI is informational only and is populated when the pipeline’s entry is a notebook path (i.e., libraries: - notebook: { path: ... }).
-
When your pipeline libraries are Python files (libraries: - file: { path: ... }), DLT does not set a root folder in the UI. In that case the UI shows --. This is expected and has no functional impact on the pipeline.
-
The key you’re setting—configuration: bundle.sourcePath—is not a DLT/Workflows-recognized setting for controlling that UI field. (The configuration block passes Spark/Delta configs to the pipeline, but it doesn’t control the “Root folder” display.)
What you can do (practical options)
Option A — Keep using .py files and ignore --
If the pipeline runs and your files are correctly listed (as you showed), you can safely ignore the “Root folder: –”. It’s cosmetic in this mode.
Option B — Use a notebook entrypoint to get a “root” in UI
If you specifically want the UI to show a root folder, make a small entry notebook and import your Python modules from src/:
resources:
pipelines:
my_dlt_pipeline:
name: my_dlt_pipeline
libraries:
- notebook:
path: ${workspace.file_path}/src/entrypoint_notebook
# You can still keep your .py modules in src/ and import them from the notebook
catalog: ${var.my_catalog}
target: my_schema
channel: CURRENT
serverless: true
photon: true
Then in entrypoint_notebook (Python), do your import/dlt definitions and reference code in src/.
Option C — Package code as a wheel (cleaner code layout)
Using Bundles, define a wheel artifact and reference it in your pipeline. The UI “root folder” will still be -- (since the entry isn’t a notebook path), but your code organization and dependency management are cleaner.
Small cleanups to your current bundle
You don’t need the ../../../ gymnastics if your code lives under the bundle’s project tree. Using ${workspace.file_path} already points at the uploaded bundle files for the current target:
resources:
pipelines:
my_dlt_pipeline:
name: my_dlt_pipeline
libraries:
- file:
path: ${workspace.file_path}/src/my_file_1.py
- file:
path: ${workspace.file_path}/src/my_file_2.py
# Remove bundle.sourcePath – it won’t affect the UI
catalog: ${var.my_catalog}
target: my_schema
channel: CURRENT
serverless: true
photon: true # (Note: Serverless clusters already run on Photon; leaving this is fine.)
TL;DR
-
Seeing “Root folder: –” when using libraries.file is normal and does not affect your pipeline.
-
If you want a populated root folder in the UI, switch your entry to a notebook and import your modules from there.
-
Otherwise, simplify your paths and carry on—your current deployment approach is valid.
Hope this helps, Louis.