-
Notifications
You must be signed in to change notification settings - Fork 795
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opt in or opt out on vegafusion dependencies #3309
Comments
Cross reference #2818. I think I would lean toward adding an extra_requires group for the optional dependencies, at least to start with as this would be a non-breaking change. Eventually, I think the altair-base approach is worth considering. But this would need to correspond to a major version bump IMO. |
I think it would be nice to use vegafusion and vl-convert more by default in altair, e.g. enabling the vegafusion transformer as the default transformer and offline mode by default for jupytercharts. I don't have a strong preference whether it is via an opt-out or opt-in mechanism, but leaning slightly towards that the default is with all batteries includes / how we believe most people would get the most out of the library. If we decide to go that path, I wonder what the default behavior should be when these libraries are not installed, should it be that altair shows a warning and asks to install vegafusion or change the renderer to "html". Or should it silently fall back to the html renderer when it can't find vegafusion? The former sounds safer and would likely reduce some confusing edgecases. I agree that a change like that would be in a major version. |
I agree that it's nice if users can get as much as possible out of Altair by default without (much) configuration. At the same time, I see it as two linked but somewhat separate discussions: Simplifying installation
Can be freely combined as Enabling the magic of VegaFusion by default if it is installedWe could tackle this somewhat independently of the first topic. What do you think? Related discussion: |
Separating into two issues sounds good 👍 For the packaging part, I'm on board with using Would the next step be to decide which package to include in |
For
I would defer to @joelostblom and @binste on whether to include |
Good note on |
I agree with your list for |
Great, let's include |
Related to packaging, I PRed an altair recipe into the default pyodide image in pyodide/pyodide#4580. The pyodide devs were very helpful and seem open to new packages being added, so let them know if there is anything else altair-related that you think should be in Pyodide by default. |
Opening this issue to discuss and collect insights.
Currently we have an altair package that relies on a few hard dependencies:
In parallel efforts we are trying to reduce these hard dependencies (like pandas, do we really need numpy?)
But simultaneously, with the recent developments around
vegafusion
in combination with vl-convert, it would be great to have it somehow installed as a hard dependency instead as the current soft dependency approach.I see four options, but maybe there are more (from a conda perspective)
altair
withvegafusion
,anywidget
andvl-convert-python
as hard dependencies.altair-base
package which has the current minimal dependencies.altair-vegafusion
package that includesvegafusion
,anywidget
andvl-convert-python
as hard dependencies.Option 3 enables an opt-out approach.
Option 4 enables an opt-in approach.
Topics for consideration are at least:
The text was updated successfully, but these errors were encountered: