from #19 and #5: - [ ] Use narwhals instead of Pandas directly - [ ] Have options to limit the number of rows retrieved, or perhaps retrieve in chunks or a cursor, so big databases won't blow up your Shiny app