@marimo-team/islands 0.23.16-dev53 → 0.23.16-dev54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36338,7 +36338,7 @@ ${d}`,
36338
36338
  return Logger.warn("Failed to get version from mount config"), null;
36339
36339
  }
36340
36340
  }
36341
- marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.16-dev53");
36341
+ marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.16-dev54");
36342
36342
  showCodeInRunModeAtom = atom(true);
36343
36343
  atom(null);
36344
36344
  var import_compiler_runtime = require_compiler_runtime();
package/dist/main.js CHANGED
@@ -26,7 +26,7 @@ import { $ as notebookOutline, $t as publishedCellClasses, A as ChevronDownIcon,
26
26
  import { __tla as __tla_1 } from "./chunk-5FQGJX7Z-B9WoXK1R.js";
27
27
  import { o as useSize, s as Root$1, u as createLucideIcon } from "./dist-DIlxLFXG.js";
28
28
  import { A as SquareFunction, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, O as TIME_UNIT_DESCRIPTIONS, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as ChartColumn, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON } from "./spec-CQKL_D3i.js";
29
- import { $ as CommandSeparator, $t as Kbd, A as ErrorState, At as getPageIndexForRow, B as ContextMenuTrigger, Bt as dateToLocalISODate, C as downloadHTMLAsImage, Ct as inferFieldTypes, D as ColumnName, Dt as DelayMount, E as downloadSizeLimitAtom, Et as ColumnChartSpecModel, F as getUserColumnVisibilityCounts, Ft as TOO_MANY_ROWS, G as DateRangePicker, Gt as TabsList, H as useSelectList, Ht as dateToLocalISOTime, I as ContextMenu, It as toFieldTypes, J as Command, Jt as ChartInfoState, K as Combobox, Kt as TabsTrigger, L as ContextMenuContent, Lt as getMimeValues, M as prettifyRowColumnCount, Mt as loadTableData, N as prettifyRowCount, Nt as INDEX_COLUMN_NAME, O as ColumnPreviewContainer, Ot as useIntersectionObserver, P as getColumnCountForDisplay, Pt as SELECT_COLUMN_ID, Q as CommandList, Qt as RenderTextWithLinks, R as ContextMenuItem, Rt as isNullishFilter, S as downloadExportedFile, St as generateColumns, T as Filenames, Tt as ColumnChartContext, U as CompactChipRow, Ut as Tabs, V as useInternalStateWithSync, Vt as dateToLocalISODateTime, W as DatePicker, Wt as TabsContent, X as CommandInput, Xt as LazyVegaEmbed, Y as CommandEmpty, Yt as ChartLoadingState, Z as CommandItem, Zt as useOverflowDetection, _ as DataTable, _n as ChevronLeft, _t as TableCell, an as TextWrap, at as contextAwarePanelType, b as downloadBlob, bt as TableRow, c as SLIDE_TYPE_OPTIONS_BY_VALUE, cn as EyeOff, ct as slotsController, d as Switch, dn as Download, en as HtmlOutput, et as smartMatch, f as RadioGroup, fn as Code, g as OutputRenderer, gn as ChevronsDownUp, gt as TableBody, h as OutputArea, hn as ChevronsLeft, ht as Table, i as showCodeInRunModeAtom, in as $fae977aafc393c5c$export$6b862160d295c8e, it as contextAwarePanelOwner, j as LoadingState, jt as loadTableAndRawData, k as EmptyState, kt as usePrevious$1, lt as Toggle, m as JsonOutput, mn as ChevronsRight, mt as Provider$1, n as useNotebookCodeAvailable, nn as safeLocale, nt as PANEL_TYPES, on as GripHorizontal, ot as isCellAwareAtom, p as RadioGroupItem, pn as ChevronsUpDown, pt as Fill, q as ComboboxItem, qt as ChartErrorState, r as marimoVersionAtom, rn as $fae977aafc393c5c$export$588937bcd60ade55, rt as contextAwarePanelOpen, sn as Funnel, st as SlotNames, t as cellDomProps, tn as EmotionCacheProvider, tt as ContextAwarePanelItem, u as Slide, un as Ellipsis, v as InstallPackageButton, vn as ArrowDownWideNarrow, vt as TableHead, w as Progress, wt as renderCellValue, x as downloadByURL, xt as NAMELESS_COLUMN_PREFIX, y as ADD_PRINTING_CLASS, yt as TableHeader, z as ContextMenuSeparator, zt as Maps, __tla as __tla_2 } from "./common-BxtRKijk.js";
29
+ import { $ as CommandSeparator, $t as Kbd, A as ErrorState, At as getPageIndexForRow, B as ContextMenuTrigger, Bt as dateToLocalISODate, C as downloadHTMLAsImage, Ct as inferFieldTypes, D as ColumnName, Dt as DelayMount, E as downloadSizeLimitAtom, Et as ColumnChartSpecModel, F as getUserColumnVisibilityCounts, Ft as TOO_MANY_ROWS, G as DateRangePicker, Gt as TabsList, H as useSelectList, Ht as dateToLocalISOTime, I as ContextMenu, It as toFieldTypes, J as Command, Jt as ChartInfoState, K as Combobox, Kt as TabsTrigger, L as ContextMenuContent, Lt as getMimeValues, M as prettifyRowColumnCount, Mt as loadTableData, N as prettifyRowCount, Nt as INDEX_COLUMN_NAME, O as ColumnPreviewContainer, Ot as useIntersectionObserver, P as getColumnCountForDisplay, Pt as SELECT_COLUMN_ID, Q as CommandList, Qt as RenderTextWithLinks, R as ContextMenuItem, Rt as isNullishFilter, S as downloadExportedFile, St as generateColumns, T as Filenames, Tt as ColumnChartContext, U as CompactChipRow, Ut as Tabs, V as useInternalStateWithSync, Vt as dateToLocalISODateTime, W as DatePicker, Wt as TabsContent, X as CommandInput, Xt as LazyVegaEmbed, Y as CommandEmpty, Yt as ChartLoadingState, Z as CommandItem, Zt as useOverflowDetection, _ as DataTable, _n as ChevronLeft, _t as TableCell, an as TextWrap, at as contextAwarePanelType, b as downloadBlob, bt as TableRow, c as SLIDE_TYPE_OPTIONS_BY_VALUE, cn as EyeOff, ct as slotsController, d as Switch, dn as Download, en as HtmlOutput, et as smartMatch, f as RadioGroup, fn as Code, g as OutputRenderer, gn as ChevronsDownUp, gt as TableBody, h as OutputArea, hn as ChevronsLeft, ht as Table, i as showCodeInRunModeAtom, in as $fae977aafc393c5c$export$6b862160d295c8e, it as contextAwarePanelOwner, j as LoadingState, jt as loadTableAndRawData, k as EmptyState, kt as usePrevious$1, lt as Toggle, m as JsonOutput, mn as ChevronsRight, mt as Provider$1, n as useNotebookCodeAvailable, nn as safeLocale, nt as PANEL_TYPES, on as GripHorizontal, ot as isCellAwareAtom, p as RadioGroupItem, pn as ChevronsUpDown, pt as Fill, q as ComboboxItem, qt as ChartErrorState, r as marimoVersionAtom, rn as $fae977aafc393c5c$export$588937bcd60ade55, rt as contextAwarePanelOpen, sn as Funnel, st as SlotNames, t as cellDomProps, tn as EmotionCacheProvider, tt as ContextAwarePanelItem, u as Slide, un as Ellipsis, v as InstallPackageButton, vn as ArrowDownWideNarrow, vt as TableHead, w as Progress, wt as renderCellValue, x as downloadByURL, xt as NAMELESS_COLUMN_PREFIX, y as ADD_PRINTING_CLASS, yt as TableHeader, z as ContextMenuSeparator, zt as Maps, __tla as __tla_2 } from "./common-DwIK9Ruq.js";
30
30
  import { c as Calendar, i as createReducerAndAtoms, n as useOnUnmount, o as ToggleLeft, t as useOnMount } from "./useLifecycle-CMJGqBaY.js";
31
31
  import { t as Check } from "./check-DP7U0H0G.js";
32
32
  import { A as Icon, C as logNever, D as $18f2051aff69b9bf$export$a54013f0d02a8f82, E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, F as createCollection, I as X, M as clamp$2, N as usePrevious$2, P as useDirection, R as ChevronDown, S as assertNever, a as SelectGroup, c as SelectSeparator, d as NativeSelect, i as SelectContent, j as Trigger$1, l as SelectTrigger, n as capitalize, o as SelectItem, r as Select, s as SelectLabel, t as Strings, u as SelectValue, w as $a916eb452884faea$export$b7a616150fdb9f44 } from "./strings-DIy9NAmg.js";
@@ -38147,7 +38147,7 @@ ${c}
38147
38147
  function _temp2$2(e) {
38148
38148
  e.target === e.currentTarget && e.key === "Enter" && (e.preventDefault(), e.stopPropagation(), e.currentTarget.click());
38149
38149
  }
38150
- var LazySlidesComponent = import_react.lazy(() => import("./reveal-component-DuXe-jZN.js"));
38150
+ var LazySlidesComponent = import_react.lazy(() => import("./reveal-component-DlbR8R40.js"));
38151
38151
  const SlidesLayoutRenderer = ({ layout: e, setLayout: r, cells: c, mode: l }) => {
38152
38152
  var _a5;
38153
38153
  let u = useAtomValue(kioskModeAtom), d = l === "read" || u, f = useAtomValue(numColumnsAtom) > 1, [p, m] = (0, import_react.useState)(null), { slideCells: h, skippedIds: g, noOutputIds: _, slideTypes: v, startCellIndex: y } = (0, import_react.useMemo)(() => computeSlideCellsInfo(c, e), [
@@ -9,7 +9,7 @@ import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
9
9
  import { ut as outputIsStale } from "./html-to-image-DzQw9y4M.js";
10
10
  import "./chunk-5FQGJX7Z-B9WoXK1R.js";
11
11
  import { u as createLucideIcon } from "./dist-DIlxLFXG.js";
12
- import { a as DEFAULT_DECK_TRANSITION, cn as EyeOff, dt as PanelGroup, fn as Code, ft as PanelResizeHandle, l as SlideSidebar, ln as Expand, n as useNotebookCodeAvailable, o as DEFAULT_DECK_VERTICAL_ALIGN, s as DEFAULT_SLIDE_TYPE, t as cellDomProps, u as Slide, ut as Panel } from "./common-BxtRKijk.js";
12
+ import { a as DEFAULT_DECK_TRANSITION, cn as EyeOff, dt as PanelGroup, fn as Code, ft as PanelResizeHandle, l as SlideSidebar, ln as Expand, n as useNotebookCodeAvailable, o as DEFAULT_DECK_VERTICAL_ALIGN, s as DEFAULT_SLIDE_TYPE, t as cellDomProps, u as Slide, ut as Panel } from "./common-DwIK9Ruq.js";
13
13
  import { R as ChevronDown } from "./strings-DIy9NAmg.js";
14
14
  import { X as useDebouncedCallback } from "./input-C5K4VBvB.js";
15
15
  import { v as kioskModeAtom } from "./toDate-CqhBWjvO.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/islands",
3
- "version": "0.23.16-dev53",
3
+ "version": "0.23.16-dev54",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -89,6 +89,12 @@ DATABASE_URL = "data.duckdb"
89
89
  engine = duckdb.connect(DATABASE_URL, read_only=True)"
90
90
  `;
91
91
 
92
+ exports[`generateDatabaseCode > basic connections > iceberg configured catalog 1`] = `
93
+ "from pyiceberg.catalog import load_catalog
94
+
95
+ catalog = load_catalog("my_catalog")"
96
+ `;
97
+
92
98
  exports[`generateDatabaseCode > basic connections > iceberg dynamodb 1`] = `
93
99
  "from pyiceberg.catalog.dynamodb import DynamoDBCatalog
94
100
 
@@ -166,6 +166,17 @@ describe("generateDatabaseCode", () => {
166
166
  },
167
167
  };
168
168
 
169
+ const icebergConfiguredCatalogConnection: DatabaseConnection = {
170
+ type: "iceberg",
171
+ name: "my_catalog",
172
+ catalog: {
173
+ type: "REST",
174
+ uri: undefined,
175
+ warehouse: undefined,
176
+ token: undefined,
177
+ },
178
+ };
179
+
169
180
  const icebergSqlConnection: DatabaseConnection = {
170
181
  type: "iceberg",
171
182
  name: "my_catalog",
@@ -310,6 +321,11 @@ describe("generateDatabaseCode", () => {
310
321
  ["chdb", chdbConnection, "chdb"],
311
322
  ["timeplus", timeplusConnection, "sqlalchemy"],
312
323
  ["trino", trinoConnection, "sqlmodel"],
324
+ [
325
+ "iceberg configured catalog",
326
+ icebergConfiguredCatalogConnection,
327
+ "pyiceberg",
328
+ ],
313
329
  ["iceberg rest", icebergRestConnection, "pyiceberg"],
314
330
  ["iceberg sql", icebergSqlConnection, "pyiceberg"],
315
331
  ["iceberg hive", icebergHiveConnection, "pyiceberg"],
@@ -603,7 +603,22 @@ class TrinoGenerator extends CodeGenerator<"trino"> {
603
603
  }
604
604
 
605
605
  class PyIcebergGenerator extends CodeGenerator<"iceberg"> {
606
+ private getCatalogOptions(): Record<
607
+ string,
608
+ string | number | boolean | undefined
609
+ > {
610
+ return Object.fromEntries(
611
+ Object.entries(this.connection.catalog).filter(
612
+ ([key, value]) => value != null && value !== "" && key !== "type",
613
+ ),
614
+ );
615
+ }
616
+
606
617
  generateImports(): string[] {
618
+ if (Object.keys(this.getCatalogOptions()).length === 0) {
619
+ return ["from pyiceberg.catalog import load_catalog"];
620
+ }
621
+
607
622
  switch (this.connection.catalog.type) {
608
623
  case "REST":
609
624
  return ["from pyiceberg.catalog.rest import RestCatalog"];
@@ -621,15 +636,12 @@ class PyIcebergGenerator extends CodeGenerator<"iceberg"> {
621
636
  }
622
637
 
623
638
  generateConnectionCode(): string {
624
- let options: Record<string, string | number | boolean | undefined> = {
625
- ...this.connection.catalog,
626
- };
627
- // Remove k='type' and v=nullish values
628
- options = Object.fromEntries(
629
- Object.entries(options).filter(
630
- ([k, v]) => v != null && v !== "" && k !== "type",
631
- ),
632
- );
639
+ const name = `"${this.connection.name}"`;
640
+ const options = this.getCatalogOptions();
641
+ if (Object.keys(options).length === 0) {
642
+ return `catalog = load_catalog(${name})`;
643
+ }
644
+
633
645
  // Convert to secrets if they are secrets
634
646
  for (const [k, v] of Object.entries(options)) {
635
647
  if (isSecret(v)) {
@@ -645,8 +657,6 @@ class PyIcebergGenerator extends CodeGenerator<"iceberg"> {
645
657
  (line) => `${indent}${line}`,
646
658
  );
647
659
 
648
- const name = `"${this.connection.name}"`;
649
-
650
660
  switch (this.connection.catalog.type) {
651
661
  case "REST":
652
662
  return dedent(`