Open jrycw opened 1 month ago
Attention: Patch coverage is 87.50000%
with 1 lines
in your changes are missing coverage. Please review.
Project coverage is 86.07%. Comparing base (
e3649d2
) to head (7e4a167
). Report is 12 commits behind head on main.:exclamation: Current head 7e4a167 differs from pull request most recent head 3d7152d
Please upload reports for the commit 3d7152d to get more accurate results.
Files | Patch % | Lines |
---|---|---|
great_tables/_pipe.py | 83.33% | 1 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I'm not sure if it's a good idea to support passing a list into pipes()
. If we add two lines to pipes()
, like:
def pipes(self: "GT", *funcs: Callable["GT", "GT"] | list[Callable["GT", "GT"]]) -> "GT":
if isinstance(funcs[0], list) and len(funcs) == 1: # edited
funcs = funcs[0]
for func in funcs:
self = pipe(self, func)
return self
Then, we can do:
(
GT(
towny_mini[["name", "land_area_km2", "density_2021"]],
rowname_col="name",
).pipes(
[partial(tbl_style, column=column, color=color) for column, color in zip(columns, colors)]
)
)
@machow and @rich-iannone , could you share your thoughts on this idea with me?
I've updated .pipes()
to accept a list of functions in the latest commit. We can decide which commit to use later.
@machow thanks for introducing me to toolz
. It's new to me, and it looks like it has a lot of great features. Sure, let's remove the .pipes()
method. I've reviewed the preview docs and made some adjustments. Other than that, it looks good to me. What do you think?
Related to #353.
After reviewing the
pipe()
methods from Pandas and Polars, I propose addingGT.pipe()
andGT.pipes()
in this PR.GT.pipe()
GT.pipe()
will function similarly toPandas
andPolars
, receiving a function along with optional positional and keyword arguments. An example is provided below:GT.pipes()
GT.pipe()
serves as a convenient helper method for chaining multiple pre-built functions (or usingpartial
). An example is provided below:Table
Both methods yield the table as follows:![image](https://github.com/posit-dev/great-tables/assets/67060418/4bf03fbd-67c3-4092-95a7-b76952bae1b8)
Assistance Required
I hope the API design makes sense, and could the team please review my docs to ensure they render correctly? I'm relatively new to
quarto
.