dbt-labs / metricflow

MetricFlow allows you to define, build, and maintain metrics in code.
https://docs.getdbt.com/docs/build/about-metricflow
Other
1.12k stars 93 forks source link

Making installation of libraries optional #84

Open chethanuk opened 2 years ago

chethanuk commented 2 years ago

Describe the Feature If I am not using snowflake why should it be installed?

Would you like to contribute? Are you interested in building this feature? Sure, can raise the PR on weekend

Anything Else? Add any other context or screenshots about the feature request here.

tlento commented 2 years ago

Hi @chethanuk-plutoflume , thanks for opening the issue!

We're on board with leaner package installation options but I think we need to decide on what we want the install behavior to be here.

The simplest option is to do a subpackage per engine, where pip install metricflow continues to install the full package with support for all engines, but for people who only want, say, redshift they can do something like:

pip install metricflow.redshift

And then if you need redshift and bigquery you'd run a separate pip install metricflow.bigquery

Sadly, I don't think poetry actually supports this at the moment. We're also open to a discussion on the structure and installation process here.

If you do pick up this issue please let us know, we can discuss the possibilities here before you go too far on the implementation side.

Thanks again!