- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-01-2022 10:10 AM
Here's the solution I came up with... Replace `import dlt` at the top of your first cell with the following:
try:
import dlt # When run in a pipeline, this package will exist (no way to import it here)
except ImportError:
class dlt: # "Mock" the dlt class so that we can syntax check the rest of our python in the databricks notebook editor
def table(comment, **options): # Mock the @dlt.table attribute so that it is seen as syntactically valid below
def _(f):
pass
return _; Further mocking may be required depending on how many features from the dlt class you use, but you get the gist.
You can "catch" the import error and mock out a dlt class sufficiently that the rest of your code can be checked. This slightly improves the developer experience until you get a chance to actually run it in a pipeline.
As many have noted, the special "dlt" library isn't "available" when running your python code from the databricks notebook editor, only when running it from a pipeline (which means you lose out on being able to easily check your code's syntax before attempting to run it)
You also can't "%pip install" this library, because it isn't a public package, and the "dlt" package out there has nothing to do with Databricks.