Closed machow closed 2 months ago
Attention: Patch coverage is 88.77551%
with 22 lines
in your changes are missing coverage. Please review.
Project coverage is 77.01%. Comparing base (
af6bd14
) to head (ece39e8
). Report is 102 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Is this PR related to removing pandas as a hard dependency?
Is this PR related to removing pandas as a hard dependency?
Yes! I'm going to have this ready for review by EOW 🤞🏼
The mizani package dependency forces pandas in great-tables to be >=2.1.0?
Would this mean even though you are making pandas not a hard dependency, the mizani package will still exhibit this?
The mizani package dependency forces pandas in great-tables to be >=2.1.0?
Shoot, I forgot about this piece. I'll restrict this PR to removing direct pandas imports from our codebase, and adding safeguards against people accidentally adding them in the future. We've talked through our use of mizani's gradient_n_pal()
. We should be able to roll a stripped down version of that logic into Great Tables for now (but will do that in a separate PR).
Thanks, this new PR will still be apart of your upcoming release right? It would make great-tables more pleasant to work with.
@rich-iannone WDYT of release timing? If we release with this PR only, then we can have pandas as an optional dependency for most everything (except datasets, val.fmt_* funcs, and nanoplots). But I definitely want to remove it from nanoplots, so whatever the release cadence, will plan to start the next PR right after this!
@rich-iannone WDYT of release timing? If we release with this PR only, then we can have pandas as an optional dependency for most everything (except datasets, val.fmt_* funcs, and nanoplots). But I definitely want to remove it from nanoplots, so whatever the release cadence, will plan to start the next PR right after this!
I’m thinking we keep going (through additional PRs) to work away at the final goal of Pandas as optional before the next release.
This PR removes pandas as a dependency, making it optional. (Great Tables will still support pandas DataFrames as an input!)
Notes:
great_tables.data
for now.great_tables.exibble
is a pandas DataFrame. We'll use a dynamic getattr module method to error only whengreat_tables.exibble
is accessed.Details:
tests/test_dependencies.py
w/o pandas installedgreat_tables/__init__.py
to ensure people can still import exibble.