-
Notifications
You must be signed in to change notification settings - Fork 24
Make compute_parquet and compute_csv generic S3 functions #818
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: krlmlr <[email protected]>
Co-authored-by: krlmlr <[email protected]>
Co-authored-by: krlmlr <[email protected]>
|
Quick question on the implementation: does that mean |
|
Hosting in dplyr is also not going to happen, as it seems. What other solutions do you propose? |
|
Ah, I didn't see the issue was closed in |
|
One of the future goals of duckplyr is to offer a seamless and convenient interface with other systems. If the generics lived here, tidypolars could still implement them without making duckplyr a strong dependency. Chances are that this ends up in dplyr one day -- this worked for the |
|
Yes, that seems to be the best approach, I could register the |
Functions like
compute_parquet()andcompute_csv()would be useful for backends other than DuckDB (e.g., tidypolars). Converting them to S3 generics enables other packages to provide their own implementations.Changes
compute_parquet()/compute_csv(): Converted to S3 generics usingUseMethod().duckplyr_dfmethods: Contain the existing DuckDB-specific implementation.data.framemethods: Convert input to duckplyr_df, then delegate to the duckplyr_df methodUsage for other backends
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
CRAN.R-project.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --vanilla --no-echo(dns block)app.codecov.io/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)bioconductor.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --vanilla --no-echo(dns block)cran.rstudio.com/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)dbplyr.tidyverse.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)dplyr.tidyverse.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)dtplyr.tidyverse.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)duckdb.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)duckplyr.tidyverse.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)extensions.duckdb.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --slave --no-save --no-restore -f /tmp/RtmpVHmxD3/callr-scr-2b3d34553bcf(dns block)/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --slave --no-save --no-restore -f /tmp/Rtmptz4Gfx/working_dir/RtmpiPUS0v/callr-scr-3319526a7cb5(dns block)/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --slave --no-save --no-restore -f /tmp/Rtmptz4Gfx/working_dir/RtmpoNnMlg/callr-scr-36a764a1b446(dns block)forum.posit.co/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)lifecycle.r-lib.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)orcid.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)packagemanager.posit.co/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)r4ds.hadley.nz/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)ror.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)tidyverse.r-universe.dev/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)usethis.r-lib.org/opt/R/4.5.2/lib/R/bin/exec/R /opt/R/4.5.2/lib/R/bin/exec/R --no-restore --no-echo --args nextArgduckplyr_1.1.3.9004.tar.gznextArg--no-manualnextArg--as-cran(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
compute_parquetetc. to upstream dplyr and make them generic functions #746💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.