Kanaries / pygwalker

PyGWalker: Turn your pandas dataframe into an interactive UI for visual analysis
https://kanaries.net/pygwalker
Apache License 2.0
11.08k stars 570 forks source link

Please support DuckDB 1.0 #590

Closed cdeil closed 2 months ago

cdeil commented 2 months ago

DuckDB released version 1.0 ( see HERE) which we are using in our project.

You are currently forcing DuckDB 0.10 here: https://github.com/Kanaries/pygwalker/blob/7a846a12b67464885f4dc2c48f953c2eb4afcf16/pyproject.toml#L22

and when I ran pip install pygwalker to use it for exploratory analysis this downgraded and installed the old DuckDB you are requiring currently.

I think DuckDB didn't change much between 0.10 and 1.0 and they almost never break backward compatibility. Could you please try to remove the upper bound and support use DuckDB 1.0 together with PygWalker?

Please, please, please ... :-)

longxiaofei commented 2 months ago

pygwalker 0.4.9.1 already support duckdb 1.0.0.

cdeil commented 2 months ago

@longxiaofei - thank you!

I see you did this https://github.com/Kanaries/pygwalker/pull/591/commits/0b4df9933f6ebfb4b843bc381db50ac7e8c325ad

This means you constantly have to chase every major/minor/bugfix release of DuckDB to allow DuckDB users to install it with pygwalker (unless they know how to override your version constraint which is what I did yesterday when I ran into this issue).

I think if you simply did duckdb>=0.10.1 removing the upper version constraint that would be the normal thing what most packages do, or if you want to be on the safe side for possible breaking releases in future years then duckdb>=0.10.1,<=2 would be better.

Note that for me and I think most pygwalker users it's just one out of 10s of packages I use, and where then I simply take care of locking versions to get reproducible/working set. So any package like pygwalker here that puts version contraints that are more tight than needed quickly leeds to the situation that no compatible set exists (imagine some other package I want to use requires duckdb>=1.1 in the next months).

longxiaofei commented 2 months ago

Hi @cdeil

I agree with your point.

Previously, the upgrade from DuckDB 0.8 to 0.9 caused some commonly used features in PyGWalker to stop working.

As a result, we had to restrict the DuckDB version and were cautious about updating it.

Now, it seems that DuckDB has become more stable.

In the next version of PyGWalker, we plan to remove the version restriction on DuckDB.