On Wednesday, we announced that Fishtown Analytics is now dbt Labs. Neat! That means if you, like me, are in the habit of typing github dot com slash fishtown dash analytics slash dbt into a browser first thing each morning, you’re now magically redirected to a shorter, neater URL.
The dbt Hub has followed suit. On the homepage, you’ll now see links to plenty of packages in the dbt-labs
organization. So, you might be asking: What does that mean for your packages.yml
that looks like this?
packages:
- package: fishtown-analytics/dbt_utils
version: 0.6.4
- package: fishtown-analytics/audit_helper
version: 0.3.0
- package: fishtown-analytics/codegen
version: 0.3.1
Here’s the deal:
-
All existing package versions are stable and will continue working. That includes all references to
fishtown-analytics
in yourpackages.yml
files. GitHub handles the redirect, the clone goes through, yourdeps
succeed. - All existing versions of dbt Labs-maintained packages (as of July 1, 2021) are available in both namespaces,
fishtown-analytics
anddbt-labs
. - After today, new versions of dbt Labs-maintained packages will only be available in the
dbt-labs
namespace.
Important! Dependency resolution for new package versions
All of us will take time to acclimate to the new name; “I work at Fishtown” is a hard habit to break! For now, dbt doesn’t know that fishtown-analytics/dbt_utils
and dbt-labs/dbt_utils
are really the same package. If your project installs packages that depend on dbt_utils
, and you also specify dbt_utils
as a dependency, you’ll need to coordinate namespaces.
For example, calogica/dbt_date
v0.3.1 depends on fishtown-analytics/dbt_utils
. So if you try:
packages:
- package: calogica/dbt_date # needs fishtown-analytics/dbt_utils
version: 0.3.1
- package: dbt-labs/dbt_utils # that's not fishtown!
version: 0.6.6
dbt thinks it needs to install a package named dbt_utils
from two different places. So you’ll see an error like:
Encountered an error:
Found duplicate project "dbt_utils". This occurs when a dependency has the same project name as some other dependency.
For now, the simple fix is to switch back to a matching namespace:
packages:
- package: calogica/dbt_date
version: 0.3.1
- package: fishtown-analytics/dbt_utils
version: 0.6.6
Looking ahead: for package maintainers
We (dbt Labs) maintain a dozen packages on the Hub site, many of which depend on dbt-utils. Over the next week, we’re going to put out new minor versions of all our packages that:
- Are compatible with dbt v0.20.0
- Are compatible with dbt-utils v0.7.0
- Specify their package dependency as
dbt-labs/dbt_utils
If you’re a package maintainer, and your package depends on one of ours (likely dbt_utils
), I’d ask that you please update to the dbt-labs
namespace in your next minor-version release. With dbt v0.20 just around the corner, there’s never been a better time to establish forward compatibility. Let me know if you need help or have questions—you can thread them up here, and my DMs are always open.