(name='hvplot', interactive='interactive', extension='bokeh', logo=False)
| 2 | |
| 3 | |
| 4 | def patch(name='hvplot', interactive='interactive', extension='bokeh', logo=False): |
| 5 | from hvplot.plotting.core import hvPlotTabularDuckDB |
| 6 | from . import post_patch, _module_extensions |
| 7 | |
| 8 | if 'hvplot.duckdb' not in _module_extensions: |
| 9 | try: |
| 10 | import duckdb |
| 11 | except ImportError: |
| 12 | raise ImportError( |
| 13 | 'Could not patch plotting API onto DuckDB. DuckDB could not be imported.' |
| 14 | ) |
| 15 | |
| 16 | # Patching for DuckDBPyRelation and DuckDBPyConnection |
| 17 | _patch_duckdb_plot = lambda self: hvPlotTabularDuckDB(self) # noqa: E731 |
| 18 | _patch_duckdb_plot.__doc__ = hvPlotTabularDuckDB.__call__.__doc__ |
| 19 | plot_prop_duckdb = property(_patch_duckdb_plot) |
| 20 | setattr(duckdb.DuckDBPyRelation, name, plot_prop_duckdb) |
| 21 | setattr(duckdb.DuckDBPyConnection, name, plot_prop_duckdb) |
| 22 | _module_extensions.add('hvplot.duckdb') |
| 23 | |
| 24 | post_patch(extension, logo) |
| 25 | |
| 26 | |
| 27 | patch() |
no test coverage detected
searching dependent graphs…