MCPcopy Create free account
hub / github.com/holoviz/hvplot / hvPlotTabularDuckDB

Class hvPlotTabularDuckDB

hvplot/plotting/core.py:1483–1579  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1481
1482
1483class hvPlotTabularDuckDB(hvPlotTabular):
1484 def _get_converter(self, x=None, y=None, kind=None, **kwds):
1485 import duckdb
1486
1487 if Version(duckdb.__version__).release < (1, 4, 1):
1488 from duckdb.typing import (
1489 BIGINT,
1490 FLOAT,
1491 DOUBLE,
1492 INTEGER,
1493 SMALLINT,
1494 TINYINT,
1495 UBIGINT,
1496 UINTEGER,
1497 USMALLINT,
1498 UTINYINT,
1499 HUGEINT,
1500 )
1501 else:
1502 from duckdb.sqltypes import (
1503 BIGINT,
1504 FLOAT,
1505 DOUBLE,
1506 INTEGER,
1507 SMALLINT,
1508 TINYINT,
1509 UBIGINT,
1510 UINTEGER,
1511 USMALLINT,
1512 UTINYINT,
1513 HUGEINT,
1514 )
1515
1516 params = dict(self._metadata, **kwds)
1517 x = x or params.pop('x', None)
1518 y = y or params.pop('y', None)
1519 kind = kind or params.pop('kind', None)
1520
1521 # Handle DuckDB Relation and Connection objects
1522 if isinstance(self._data, (duckdb.DuckDBPyConnection, duckdb.DuckDBPyRelation)):
1523 if isinstance(self._data, duckdb.DuckDBPyConnection):
1524 data = self._data.df()
1525 else:
1526 data = self._data
1527
1528 if params.get('hover_cols') != 'all':
1529 data_columns = data.columns
1530 possible_columns = [
1531 [v] if isinstance(v, str) else v
1532 for v in params.values()
1533 if isinstance(v, (str, list))
1534 ]
1535
1536 columns = (set(data_columns) & set(itertools.chain(*possible_columns))) or {
1537 data_columns[0]
1538 }
1539 if y is None:
1540 # When y is not specified HoloViewsConverter finds all the numeric

Callers 2

patchFunction · 0.90
plotFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…