You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by gi...@apache.org on 2026/09/23 23:35:56 UTC
(incubator-texera-site) branch staging-publish updated: deploy: 8f85fa878c8c1a5b322627e6064aa47fc59db3ed
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch staging-publish
in repository https://gitbox.apache.org/repos/asf/incubator-texera-site.git
The following commit(s) were added to refs/heads/staging-publish by this push:
new 8d77cf7d deploy: 8f85fa878c8c1a5b322627e6064aa47fc59db3ed
8d77cf7d is described below
commit 8d77cf7dffe3aac84e5e370f8b9efaea6c2af321
Author: mengw15 <me...@users.noreply.github.com>
AuthorDate: Wed Sep 23 23:35:51 2026 +0000
deploy: 8f85fa878c8c1a5b322627e6064aa47fc59db3ed
---
_print/blog/index.html | 5 +++--
_print/docs/v1.2.0/contribution-guidelines/index.html | 4 ++--
_print/docs/v1.2.0/getting-started/index.html | 4 ++--
_print/docs/v1.2.0/index.html | 16 ++++++++--------
_print/docs/v1.2.0/tutorials/index.html | 6 +++---
blog/2026/09/15/notebook-migration-tool/index.html | 9 +++++----
.../guide-for-developers/index.html | 6 +++---
.../getting-started/installing-using-docker/index.html | 2 +-
.../getting-started/run-on-kubernetes/index.html | 2 +-
docs/v1.2.0/overview/index.html | 2 +-
.../tutorials/guide-to-launch-lakekeeper/index.html | 6 +++---
.../notebook-migration-architecture-diagram.png | Bin 0 -> 264032 bytes
sitemap.xml | 2 +-
tags/index.html | 2 +-
tags/index.xml | 2 +-
tags/jupyter/index.html | 2 +-
tags/jupyter/index.xml | 2 +-
tags/llm/index.html | 2 +-
tags/llm/index.xml | 2 +-
tags/notebook-migration/index.html | 2 +-
tags/notebook-migration/index.xml | 2 +-
tags/python/index.html | 2 +-
tags/python/index.xml | 2 +-
tags/workflows/index.html | 2 +-
tags/workflows/index.xml | 2 +-
25 files changed, 45 insertions(+), 43 deletions(-)
diff --git a/_print/blog/index.html b/_print/blog/index.html
index d253ee94..dd42a8f8 100644
--- a/_print/blog/index.html
+++ b/_print/blog/index.html
@@ -10,12 +10,13 @@ Reading the Result</h2><div style="height:3px;width:60px;background:#14110f;marg
<source src=/videos/notebook-migration-mapping.mp4 type=video/mp4>Your browser does not support the video tag.</video><p style=font-size:14px;color:#666;margin-top:10px>Selecting an operator highlights the cell it was generated from, and selecting a cell highlights its operators.</p></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The notebook is uploaded to a JupyterLab server, which the workspace embeds in a read-only iframe. Each workflow get [...]
<source src=/videos/notebook-migration-panel.mp4 type=video/mp4>Your browser does not support the video tag.</video><p style=font-size:14px;color:#666;margin-top:10px>Minimizing and reopening the panel, closing and reopening the workflow, and deleting the notebook.</p></div><h2 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:32px;letter-spacing:-.01em;margin:48px 0 6px;line-height:1.1;color:#14110f"><span style="font-family:helvetica neue,Arial,sans-serif;font- [...]
What It Does Not Do</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">A generated workflow does not arrive with its data attached. The tool reads the notebook's code, not the files that code opened, so the user still has to upload the dataset and connect it before anything will run. Until then the workspace reports the workflow as invalid, which is expected rather than a si [...]
+The Path of a Conversion</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">A conversion touches four components spread across the gateway, the computation tier, and storage. The diagram traces a single one, from the upload through to the workspace reloading.</p><div style="margin:34px 0"><img src=/images/blog_hero/notebook-migration-architecture-diagram.png alt="An eight st [...]
How It Is Built</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The feature splits across a Dropwizard microservice, <code>notebook-migration-service</code>, which owns the notebook file, the cell mapping, and the JupyterLab server, and a pair of frontend services. <code>NotebookMigrationService</code> builds the prompt, calls the model, and turns the response into a work [...]
<a style=text-decoration:none href=https://github.com/apache/texera/pull/7602 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #7602</span></a></td></tr><tr><td style="padding:16px 18px;background:#fbf7ef;border-bottom:1px solid #e3dccd;font-family:helvetica neue,Arial,sans-serif;font-size:15.5px;vertical-align:top"><b>2. Per-user Jupyter.</b> A reg [...]
<a style=text-decoration:none href=https://github.com/apache/texera/pull/8032 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #8032</span></a></td></tr><tr><td style="padding:16px 18px;background:#fbf7ef;border-bottom:1px solid #e3dccd;font-family:helvetica neue,Arial,sans-serif;font-size:15.5px;vertical-align:top"><b>3. Deployment topology.</b> Th [...]
<a style=text-decoration:none href=https://github.com/apache/texera/pull/8073 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #8073</span></a></td></tr><tr><td style="padding:16px 18px;background:#fbf7ef;font-family:helvetica neue,Arial,sans-serif;font-size:15.5px;vertical-align:top"><b>4. Per-workflow files.</b> Every workflow gets its own noteboo [...]
-<a style=text-decoration:none href=https://github.com/apache/texera/pull/7738 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #7738</span></a></td></tr></tbody></table><h2 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:32px;letter-spacing:-.01em;margin:48px 0 6px;line-height:1.1;color:#14110f"><span style="font-family:he [...]
-Problems That Came Up</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><h3 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:22px;margin:30px 0 10px">One notebook name for every workflow</h3><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The frontend uploaded every notebook to <code>work/notebook.ipynb</code>. Across users that was safe, because each user had their own pod. Across one user's wo [...]
+<a style=text-decoration:none href=https://github.com/apache/texera/pull/7738 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #7738</span></a></td></tr></tbody></table><h2 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:32px;letter-spacing:-.01em;margin:48px 0 6px;line-height:1.1;color:#14110f"><span style="font-family:he [...]
+Problems That Came Up</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><h3 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:22px;margin:30px 0 10px">One notebook name for every workflow</h3><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The frontend uploaded every notebook to <code>work/notebook.ipynb</code>. Across users that was safe, because each user had their own pod. Across one user's wo [...]
Deploying It</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The tool runs in all three of Texera's deployment modes. Single-node Docker Compose and the local development scripts each bring up one JupyterLab shared across users, which suits a deployment that already assumes one trusted environment. The Helm chart runs the service as a global Deployment with one JupyterLab [...]
<time datetime=2026-07-22 class=text-body-secondary>Wednesday, July 22, 2026</time></div><div style="max-width:100%;width:100%;margin:0 0 32px;text-align:center;background:#fdf6e9;border-radius:12px;padding:24px"><img src=/images/blog_hero/ds4all-summer-2026.png alt="DS4ALL Summer 2026 Texera program logo" style=width:100%;max-width:380px;height:auto;display:inline-block></div><div style="max-width:100%;width:100%;margin:0;font-family:helvetica neue,Arial,sans-serif;color:#14110f;backgro [...]
What the Program Covers</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">Over the week, students worked through the core concepts that underpin practical data science: data modeling, data cleaning, data wrangling, and visualization. From there the program moves into basic Python programming for data processing, and then into AI and machine learning techniques — build [...]
diff --git a/_print/docs/v1.2.0/contribution-guidelines/index.html b/_print/docs/v1.2.0/contribution-guidelines/index.html
index 57b2bcaf..2a45579b 100644
--- a/_print/docs/v1.2.0/contribution-guidelines/index.html
+++ b/_print/docs/v1.2.0/contribution-guidelines/index.html
@@ -41,8 +41,8 @@ Install <a href=https://www.postgresql.org/download/>Postgres</a>. If you are us
</span></span></span></code></pre></div><p>Install <a href=https://pgroonga.github.io/install/>Pgroonga</a> for enabling full-text search, if you are using Mac, simply execute:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>brew install pgroonga
</span></span></span></code></pre></div><p>Execute <code>sql/texera_ddl.sql</code> to create <code>texera_db</code> database for storing user system data & metadata storage</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>psql -U postgres -f "sql/texera_ddl.sql"
</span></span></span></code></pre></div><p>Execute <code>sql/iceberg_postgres_catalog.sql</code> to create the database for storing Iceberg catalogs.</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>psql -U postgres -f "sql/iceberg_postgres_catalog.sql"
-</span></span></span></code></pre></div><h3 id=setup-the-lakefsminio-locally>Setup the LakeFS+Minio locally<a class=td-heading-self-link href=#setup-the-lakefsminio-locally aria-label="Heading self-link"></a></h3><p>Texera requires <a href=https://lakefs.io/>LakeFS</a> and S3(<a href=https://min.io/docs/minio/kubernetes/upstream/index.html>Minio</a> is one of the implementations) as the dataset storage. Setting up these two storage services locally are required to make Texera’s dat [...]
-</code></pre><p>Edit <code>docker-compose.yml</code> by: search for <code>volumes</code> in the file and follow the instructions in the comment. This step is required otherwise your data will be lost if containers are deleted</p><p>Execute the following command to start LakeFS and Minio:</p><pre tabindex=0><code>docker compose up
+</span></span></span></code></pre></div><h3 id=setup-the-lakefsrustfs-locally>Setup the LakeFS+RustFS locally<a class=td-heading-self-link href=#setup-the-lakefsrustfs-locally aria-label="Heading self-link"></a></h3><p>Texera requires <a href=https://lakefs.io/>LakeFS</a> and S3(<a href=https://docs.rustfs.com/>RustFS</a> is one of the implementations) as the dataset storage. Setting up these two storage services locally are required to make Texera’s dataset feature functioning.</p [...]
+</code></pre><p>Edit <code>docker-compose.yml</code> by: search for <code>volumes</code> in the file and follow the instructions in the comment. This step is required otherwise your data will be lost if containers are deleted</p><p>Execute the following command to start LakeFS and RustFS:</p><pre tabindex=0><code>docker compose up
</code></pre><h3 id=import-the-project-into-intellij>Import the project into IntelliJ<a class=td-heading-self-link href=#import-the-project-into-intellij aria-label="Heading self-link"></a></h3><p>Before you import the project, you need to have “Scala”, and “SBT Executor” plugins installed in Intellij.
<img width=479 alt="Screenshot 2024-12-02 at 5 59 34 PM" src=/images/github-assets/415f2130-e885-499e-8f16-44ea48942406.png></p><ol><li>In Intellij, open <code>File -> New -> Project From Existing Source</code>, then choose the <code>texera</code> folder.</li><li>In the next window, select <code>Import Project from external model</code>, then select <code>sbt</code>.</li><li>In the next window, make sure <code>Project JDK</code> is set. Click OK.</li><li>IntelliJ should import and build [...]
</code></pre><p>This will generate proto-specified codes. And the IntelliJ indexing should start. Wait until the indexing and importing is completed. And on the right, you can open the sbt tab and check the loaded <code>texera</code> project and couple of sub projects:</p><img width=616 height=859 alt=image src=/images/github-assets/4e916543-a991-4e64-aa4f-b7775eb6b106.png><ol start=5><li><p>When IntelliJ prompts “Scalafmt configuration detected in this project” in the bottom [...]
diff --git a/_print/docs/v1.2.0/getting-started/index.html b/_print/docs/v1.2.0/getting-started/index.html
index 20c653bc..3c147eaf 100644
--- a/_print/docs/v1.2.0/getting-started/index.html
+++ b/_print/docs/v1.2.0/getting-started/index.html
@@ -23,7 +23,7 @@ lsof -i :9000
</code></pre><p>you can open the browser and navigate to the URL shown in the message.</p><p>Input the default account <code>texera</code> with password <code>texera</code>, and then click on the <code>Sign In</code> button to login:
<img width=1100 height=500 alt=texera-login src=/images/github-assets/84cd784a-09a8-4e56-b9f5-49b53da67914.png></p><h2 id=stop-restart-and-uninstall-texera>Stop, Restart, and Uninstall Texera<a class=td-heading-self-link href=#stop-restart-and-uninstall-texera aria-label="Heading self-link"></a></h2><h3 id=stop>Stop<a class=td-heading-self-link href=#stop aria-label="Heading self-link"></a></h3><p>Press <code>Ctrl+C</code> in the terminal to stop Texera.</p><p>If you already closed the t [...]
</span></span></code></pre></div><p>to stop Texera.</p><h3 id=restart>Restart<a class=td-heading-self-link href=#restart aria-label="Heading self-link"></a></h3><p>Same as the way you <a href=/docs/v1.2.0/getting-started/installing-using-docker/#launch-texera>launch Texera</a>.</p><h3 id=uninstall>Uninstall<a class=td-heading-self-link href=#uninstall aria-label="Heading self-link"></a></h3><p>To remove Texera and all its data, go to the installation folder and run:</p><div class=highlig [...]
-</span></span></code></pre></div><blockquote><p>⚠️ Warning: This will permanently delete all the data used by Texera.</p></blockquote><h2 id=advanced-settings>Advanced Settings<a class=td-heading-self-link href=#advanced-settings aria-label="Heading self-link"></a></h2><p>Before making any of the changes below, please <a href=/docs/v1.2.0/getting-started/installing-using-docker/#stop>stop Texera</a> first. Once you finish the changes, <a href=/docs/v1.2.0/getting-started/installing-using [...]
+</span></span></code></pre></div><blockquote><p>⚠️ Warning: This will permanently delete all the data used by Texera.</p></blockquote><h2 id=advanced-settings>Advanced Settings<a class=td-heading-self-link href=#advanced-settings aria-label="Heading self-link"></a></h2><p>Before making any of the changes below, please <a href=/docs/v1.2.0/getting-started/installing-using-docker/#stop>stop Texera</a> first. Once you finish the changes, <a href=/docs/v1.2.0/getting-started/installing-using [...]
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>driver</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#000>local</span><span style=color:#f8f8f8;text-decoration:underline>
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>driver_opts</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline>
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>type</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#000>none</span><span style=color:#f8f8f8;text-decoration:underline>
@@ -53,7 +53,7 @@ docker compose --profile examples up
</span></span><span style=display:flex><span>helm install texera k8s --namespace texera-dev --create-namespace
</span></span></code></pre></div></blockquote><hr><h2 id=3-verify-the-installation>3. Verify the Installation<a class=td-heading-self-link href=#3-verify-the-installation aria-label="Heading self-link"></a></h2><p>Wait for the required deployments to be in the <code>Running</code> state. You can check their status by running:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style [...]
</span></span></code></pre></div><p>The key deployments required to run Texera are:</p><ul><li><code>texera-webserver</code></li><li><code>texera-file-service</code></li><li><code>texera-workflow-computing-unit-manager</code></li></ul><hr><h2 id=4-accessing-the-texera-ui>4. Accessing the Texera UI<a class=td-heading-self-link href=#4-accessing-the-texera-ui aria-label="Heading self-link"></a></h2><p>Once the deployments are running, you can access the Texera web interface.</p><ol><li><p> [...]
-</span></span></code></pre></div></li><li><p><strong>Login</strong></p><p>Open http://localhost:30080 in your browser and log in using the default username and password.</p></li></ol><hr><h2 id=5-troubleshooting>5. Troubleshooting<a class=td-heading-self-link href=#5-troubleshooting aria-label="Heading self-link"></a></h2><h3 id=file-upload-error>File Upload Error<a class=td-heading-self-link href=#file-upload-error aria-label="Heading self-link"></a></h3><p>If you see an error when tryi [...]
+</span></span></code></pre></div></li><li><p><strong>Login</strong></p><p>Open http://localhost:30080 in your browser and log in using the default username and password.</p></li></ol><hr><h2 id=5-troubleshooting>5. Troubleshooting<a class=td-heading-self-link href=#5-troubleshooting aria-label="Heading self-link"></a></h2><h3 id=file-upload-error>File Upload Error<a class=td-heading-self-link href=#file-upload-error aria-label="Heading self-link"></a></h3><p>If you see an error when tryi [...]
</span></span></code></pre></div><p>This maps the service’s port <code>9000</code> to your local port <code>31000</code>.</p><h3 id=using-custom-built-images>Using Custom-Built Images<a class=td-heading-self-link href=#using-custom-built-images aria-label="Heading self-link"></a></h3><p>To test custom changes, you can update the <code>bin/k8s/values.yaml</code> file to use your own Docker images. After modifying the <code>values.yaml</code> file, upgrade the Helm release to apply t [...]
</span></span></code></pre></div><h2 id=6-security-recommendation>6. Security Recommendation<a class=td-heading-self-link href=#6-security-recommendation aria-label="Heading self-link"></a></h2><p>For any deployment, especially in production, it’s crucial to apply the principle of least privilege to limit potential damage from a security vulnerability. While the OS user deploying the chart needs kubectl and helm permissions, a more critical concern is the user running the applicati [...]
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>template</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline>
diff --git a/_print/docs/v1.2.0/index.html b/_print/docs/v1.2.0/index.html
index a5440cd4..c9acf030 100644
--- a/_print/docs/v1.2.0/index.html
+++ b/_print/docs/v1.2.0/index.html
@@ -1,7 +1,7 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=canonical type=text/html href=https://texera.staged.apache.org/docs/v1.2.0/><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/docs/v1.2.0/index.xml><meta name=robots content="noindex, nofollow"><link rel="shortcut icon" href=/favicons/favicon.ico><link re [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
-<a href=# onclick="return print(),!1">Click here to print</a>.</p><p><a href=/docs/v1.2.0/>Return to the regular view of this page</a>.</p></div><h1 class=title>Texera Documentation</h1><ul><li>1: <a href=#pg-c6ecbe08a2bdb6fcfaa1f23f2351a9ac>Overview</a></li><li>2: <a href=#pg-f517ce5f1166e83fcd305e3a9137b6bc>Getting Started</a></li><ul><li>2.1: <a href=#pg-02a9e020bc5c225f2fdb58b9f5460fda>Install Texera</a></li><li>2.2: <a href=#pg-c2effa3ec0eff6e6e2f0fcddabc4b63d>Installing Apache Texe [...]
+<a href=# onclick="return print(),!1">Click here to print</a>.</p><p><a href=/docs/v1.2.0/>Return to the regular view of this page</a>.</p></div><h1 class=title>Texera Documentation</h1><ul><li>1: <a href=#pg-c6ecbe08a2bdb6fcfaa1f23f2351a9ac>Overview</a></li><li>2: <a href=#pg-f517ce5f1166e83fcd305e3a9137b6bc>Getting Started</a></li><ul><li>2.1: <a href=#pg-02a9e020bc5c225f2fdb58b9f5460fda>Install Texera</a></li><li>2.2: <a href=#pg-c2effa3ec0eff6e6e2f0fcddabc4b63d>Installing Apache Texe [...]
</span></span></code></pre></div></div><div class=td-content><h1 id=pg-02a9e020bc5c225f2fdb58b9f5460fda>2.1 - Install Texera</h1><p>To install Texera, you may choose one of the two supported architectures depending on your needs:</p><ul><li><p><strong>Single Node Deployment</strong>: ideal for quickly starting Texera on a local machine or testing deployments serving a small number of users. See <a href=/docs/v1.2.0/getting-started/installing-using-docker/>Installing Apache Texera using D [...]
</span></span><span style=display:flex><span>docker compose version
</span></span></code></pre></div><p>You should see output messages like the following (your versions may be different):</p><pre tabindex=0><code>$ docker --version
@@ -23,7 +23,7 @@ lsof -i :9000
</code></pre><p>you can open the browser and navigate to the URL shown in the message.</p><p>Input the default account <code>texera</code> with password <code>texera</code>, and then click on the <code>Sign In</code> button to login:
<img width=1100 height=500 alt=texera-login src=/images/github-assets/84cd784a-09a8-4e56-b9f5-49b53da67914.png></p><h2 id=stop-restart-and-uninstall-texera>Stop, Restart, and Uninstall Texera<a class=td-heading-self-link href=#stop-restart-and-uninstall-texera aria-label="Heading self-link"></a></h2><h3 id=stop>Stop<a class=td-heading-self-link href=#stop aria-label="Heading self-link"></a></h3><p>Press <code>Ctrl+C</code> in the terminal to stop Texera.</p><p>If you already closed the t [...]
</span></span></code></pre></div><p>to stop Texera.</p><h3 id=restart>Restart<a class=td-heading-self-link href=#restart aria-label="Heading self-link"></a></h3><p>Same as the way you <a href=/docs/v1.2.0/getting-started/installing-using-docker/#launch-texera>launch Texera</a>.</p><h3 id=uninstall>Uninstall<a class=td-heading-self-link href=#uninstall aria-label="Heading self-link"></a></h3><p>To remove Texera and all its data, go to the installation folder and run:</p><div class=highlig [...]
-</span></span></code></pre></div><blockquote><p>⚠️ Warning: This will permanently delete all the data used by Texera.</p></blockquote><h2 id=advanced-settings>Advanced Settings<a class=td-heading-self-link href=#advanced-settings aria-label="Heading self-link"></a></h2><p>Before making any of the changes below, please <a href=/docs/v1.2.0/getting-started/installing-using-docker/#stop>stop Texera</a> first. Once you finish the changes, <a href=/docs/v1.2.0/getting-started/installing-using [...]
+</span></span></code></pre></div><blockquote><p>⚠️ Warning: This will permanently delete all the data used by Texera.</p></blockquote><h2 id=advanced-settings>Advanced Settings<a class=td-heading-self-link href=#advanced-settings aria-label="Heading self-link"></a></h2><p>Before making any of the changes below, please <a href=/docs/v1.2.0/getting-started/installing-using-docker/#stop>stop Texera</a> first. Once you finish the changes, <a href=/docs/v1.2.0/getting-started/installing-using [...]
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>driver</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#000>local</span><span style=color:#f8f8f8;text-decoration:underline>
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>driver_opts</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline>
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>type</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#000>none</span><span style=color:#f8f8f8;text-decoration:underline>
@@ -53,7 +53,7 @@ docker compose --profile examples up
</span></span><span style=display:flex><span>helm install texera k8s --namespace texera-dev --create-namespace
</span></span></code></pre></div></blockquote><hr><h2 id=3-verify-the-installation>3. Verify the Installation<a class=td-heading-self-link href=#3-verify-the-installation aria-label="Heading self-link"></a></h2><p>Wait for the required deployments to be in the <code>Running</code> state. You can check their status by running:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style [...]
</span></span></code></pre></div><p>The key deployments required to run Texera are:</p><ul><li><code>texera-webserver</code></li><li><code>texera-file-service</code></li><li><code>texera-workflow-computing-unit-manager</code></li></ul><hr><h2 id=4-accessing-the-texera-ui>4. Accessing the Texera UI<a class=td-heading-self-link href=#4-accessing-the-texera-ui aria-label="Heading self-link"></a></h2><p>Once the deployments are running, you can access the Texera web interface.</p><ol><li><p> [...]
-</span></span></code></pre></div></li><li><p><strong>Login</strong></p><p>Open http://localhost:30080 in your browser and log in using the default username and password.</p></li></ol><hr><h2 id=5-troubleshooting>5. Troubleshooting<a class=td-heading-self-link href=#5-troubleshooting aria-label="Heading self-link"></a></h2><h3 id=file-upload-error>File Upload Error<a class=td-heading-self-link href=#file-upload-error aria-label="Heading self-link"></a></h3><p>If you see an error when tryi [...]
+</span></span></code></pre></div></li><li><p><strong>Login</strong></p><p>Open http://localhost:30080 in your browser and log in using the default username and password.</p></li></ol><hr><h2 id=5-troubleshooting>5. Troubleshooting<a class=td-heading-self-link href=#5-troubleshooting aria-label="Heading self-link"></a></h2><h3 id=file-upload-error>File Upload Error<a class=td-heading-self-link href=#file-upload-error aria-label="Heading self-link"></a></h3><p>If you see an error when tryi [...]
</span></span></code></pre></div><p>This maps the service’s port <code>9000</code> to your local port <code>31000</code>.</p><h3 id=using-custom-built-images>Using Custom-Built Images<a class=td-heading-self-link href=#using-custom-built-images aria-label="Heading self-link"></a></h3><p>To test custom changes, you can update the <code>bin/k8s/values.yaml</code> file to use your own Docker images. After modifying the <code>values.yaml</code> file, upgrade the Helm release to apply t [...]
</span></span></code></pre></div><h2 id=6-security-recommendation>6. Security Recommendation<a class=td-heading-self-link href=#6-security-recommendation aria-label="Heading self-link"></a></h2><p>For any deployment, especially in production, it’s crucial to apply the principle of least privilege to limit potential damage from a security vulnerability. While the OS user deploying the chart needs kubectl and helm permissions, a more critical concern is the user running the applicati [...]
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>template</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline>
@@ -159,17 +159,17 @@ This dependency is particularly useful to implement machine learning inference o
</span></span></span><span style=display:flex><span><span style=color:#a40000>-LAKEKEEPER__PG_DATABASE_URL_WRITE=""
</span></span></span><span style=display:flex><span><span style=color:#a40000></span><span style=color:#00a000>+LAKEKEEPER__PG_DATABASE_URL_READ="postgres://<user>:<urlencoded_password>@<host>:5432/texera_lakekeeper"
</span></span></span><span style=display:flex><span><span style=color:#00a000>+LAKEKEEPER__PG_DATABASE_URL_WRITE="postgres://<user>:<urlencoded_password>@<host>:5432/texera_lakekeeper"
-</span></span></span></code></pre></div><p>If you have customized storage-related values in <code>common/config/src/main/resources/storage.conf</code> (for example, the bucket name, S3 endpoint, or MinIO credentials), check the below environment variables in the script and modify their values accordingly:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span [...]
+</span></span></span></code></pre></div><p>If you have customized storage-related values in <code>common/config/src/main/resources/storage.conf</code> (for example, the bucket name, S3 endpoint, or RustFS credentials), check the below environment variables in the script and modify their values accordingly:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><spa [...]
</span></span><span style=display:flex><span> <span style=color:#8f5902;font-style:italic># if needed, update the default values after `:-` to match storage.conf</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_URI</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_URI</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>http</span><span style=color:#000;font-weight:700>://localhost:</span><span style=color:#000>8181</span><span style=color:#000 [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_WAREHOUSE_NAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_WAREHOUSE_NAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_REGION</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_REGION</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>us</span><span style=color:#000;font-weight:700>-west-2</span><span style=color:#4e9a06>}</span><span style=color:#4e9a0 [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_S3_BUCKET</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_S3_BUCKET</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera</span><span style=color:#000;font-weight:700>-iceberg</span><span style=color:#4e9a06>}</span><span style=c [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_ENDPOINT</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_ENDPOINT</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>http</span><span style=color:#000;font-weight:700>://localhost:</span><span style=color:#000>9000</span><span style=color:#4e9a06>}</span><span style=co [...]
-</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera_minio</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
+</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera_rustfs</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_PASSWORD</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_PASSWORD</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>password</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span></code></pre></div><h2 id=step-4-run-the-bootstrap-script>Step 4: Run the Bootstrap Script<a class=td-heading-self-link href=#step-4-run-the-bootstrap-script aria-label="Heading self-link"></a></h2><p>Run the following script in Texera repo:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>bash bin/bootstrap-lakekeeper.sh
-</span></span></code></pre></div><p>The script will:</p><ol><li>Start Lakekeeper if it’s not already running (on http://localhost:8181)</li><li>Bootstrap the Lakekeeper server (creates the default project)</li><li>Create the texera-iceberg bucket in MinIO if it doesn’t exist</li><li>Register the texera warehouse with Lakekeeper, pointing at that bucket</li></ol><h2 id=step-5-verify>Step 5: Verify<a class=td-heading-self-link href=#step-5-verify aria-label="Heading self-link"> [...]
+</span></span></code></pre></div><p>The script will:</p><ol><li>Start Lakekeeper if it’s not already running (on http://localhost:8181)</li><li>Bootstrap the Lakekeeper server (creates the default project)</li><li>Create the texera-iceberg bucket in RustFS if it doesn’t exist</li><li>Register the texera warehouse with Lakekeeper, pointing at that bucket</li></ol><h2 id=step-5-verify>Step 5: Verify<a class=td-heading-self-link href=#step-5-verify aria-label="Heading self-link" [...]
</span></span></code></pre></div><p>You should see a JSON response with <code>"health":"ok"</code>.</p><p>Verify that the warehouse has been created by running:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl http://localhost:8181/management/v1/warehouse
</span></span></code></pre></div><p>You should see a warehouse in the response.</p><h2 id=step-6-switch-texera-to-use-the-rest-catalog>Step 6: Switch Texera to use the REST catalog<a class=td-heading-self-link href=#step-6-switch-texera-to-use-the-rest-catalog aria-label="Heading self-link"></a></h2><p>To make Texera actually use the Lakekeeper REST catalog you just set up, <code>edit common/config/src/main/resources/storage.conf</code>:</p><div class=highlight><pre tabindex=0 style=back [...]
</span></span><span style=display:flex><span> iceberg {
@@ -371,8 +371,8 @@ Install <a href=https://www.postgresql.org/download/>Postgres</a>. If you are us
</span></span></span></code></pre></div><p>Install <a href=https://pgroonga.github.io/install/>Pgroonga</a> for enabling full-text search, if you are using Mac, simply execute:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>brew install pgroonga
</span></span></span></code></pre></div><p>Execute <code>sql/texera_ddl.sql</code> to create <code>texera_db</code> database for storing user system data & metadata storage</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>psql -U postgres -f "sql/texera_ddl.sql"
</span></span></span></code></pre></div><p>Execute <code>sql/iceberg_postgres_catalog.sql</code> to create the database for storing Iceberg catalogs.</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>psql -U postgres -f "sql/iceberg_postgres_catalog.sql"
-</span></span></span></code></pre></div><h3 id=setup-the-lakefsminio-locally>Setup the LakeFS+Minio locally<a class=td-heading-self-link href=#setup-the-lakefsminio-locally aria-label="Heading self-link"></a></h3><p>Texera requires <a href=https://lakefs.io/>LakeFS</a> and S3(<a href=https://min.io/docs/minio/kubernetes/upstream/index.html>Minio</a> is one of the implementations) as the dataset storage. Setting up these two storage services locally are required to make Texera’s dat [...]
-</code></pre><p>Edit <code>docker-compose.yml</code> by: search for <code>volumes</code> in the file and follow the instructions in the comment. This step is required otherwise your data will be lost if containers are deleted</p><p>Execute the following command to start LakeFS and Minio:</p><pre tabindex=0><code>docker compose up
+</span></span></span></code></pre></div><h3 id=setup-the-lakefsrustfs-locally>Setup the LakeFS+RustFS locally<a class=td-heading-self-link href=#setup-the-lakefsrustfs-locally aria-label="Heading self-link"></a></h3><p>Texera requires <a href=https://lakefs.io/>LakeFS</a> and S3(<a href=https://docs.rustfs.com/>RustFS</a> is one of the implementations) as the dataset storage. Setting up these two storage services locally are required to make Texera’s dataset feature functioning.</p [...]
+</code></pre><p>Edit <code>docker-compose.yml</code> by: search for <code>volumes</code> in the file and follow the instructions in the comment. This step is required otherwise your data will be lost if containers are deleted</p><p>Execute the following command to start LakeFS and RustFS:</p><pre tabindex=0><code>docker compose up
</code></pre><h3 id=import-the-project-into-intellij>Import the project into IntelliJ<a class=td-heading-self-link href=#import-the-project-into-intellij aria-label="Heading self-link"></a></h3><p>Before you import the project, you need to have “Scala”, and “SBT Executor” plugins installed in Intellij.
<img width=479 alt="Screenshot 2024-12-02 at 5 59 34 PM" src=/images/github-assets/415f2130-e885-499e-8f16-44ea48942406.png></p><ol><li>In Intellij, open <code>File -> New -> Project From Existing Source</code>, then choose the <code>texera</code> folder.</li><li>In the next window, select <code>Import Project from external model</code>, then select <code>sbt</code>.</li><li>In the next window, make sure <code>Project JDK</code> is set. Click OK.</li><li>IntelliJ should import and build [...]
</code></pre><p>This will generate proto-specified codes. And the IntelliJ indexing should start. Wait until the indexing and importing is completed. And on the right, you can open the sbt tab and check the loaded <code>texera</code> project and couple of sub projects:</p><img width=616 height=859 alt=image src=/images/github-assets/4e916543-a991-4e64-aa4f-b7775eb6b106.png><ol start=5><li><p>When IntelliJ prompts “Scalafmt configuration detected in this project” in the bottom [...]
diff --git a/_print/docs/v1.2.0/tutorials/index.html b/_print/docs/v1.2.0/tutorials/index.html
index 680d3983..14e1db80 100644
--- a/_print/docs/v1.2.0/tutorials/index.html
+++ b/_print/docs/v1.2.0/tutorials/index.html
@@ -91,17 +91,17 @@ This dependency is particularly useful to implement machine learning inference o
</span></span></span><span style=display:flex><span><span style=color:#a40000>-LAKEKEEPER__PG_DATABASE_URL_WRITE=""
</span></span></span><span style=display:flex><span><span style=color:#a40000></span><span style=color:#00a000>+LAKEKEEPER__PG_DATABASE_URL_READ="postgres://<user>:<urlencoded_password>@<host>:5432/texera_lakekeeper"
</span></span></span><span style=display:flex><span><span style=color:#00a000>+LAKEKEEPER__PG_DATABASE_URL_WRITE="postgres://<user>:<urlencoded_password>@<host>:5432/texera_lakekeeper"
-</span></span></span></code></pre></div><p>If you have customized storage-related values in <code>common/config/src/main/resources/storage.conf</code> (for example, the bucket name, S3 endpoint, or MinIO credentials), check the below environment variables in the script and modify their values accordingly:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span [...]
+</span></span></span></code></pre></div><p>If you have customized storage-related values in <code>common/config/src/main/resources/storage.conf</code> (for example, the bucket name, S3 endpoint, or RustFS credentials), check the below environment variables in the script and modify their values accordingly:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><spa [...]
</span></span><span style=display:flex><span> <span style=color:#8f5902;font-style:italic># if needed, update the default values after `:-` to match storage.conf</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_URI</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_URI</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>http</span><span style=color:#000;font-weight:700>://localhost:</span><span style=color:#000>8181</span><span style=color:#000 [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_WAREHOUSE_NAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_WAREHOUSE_NAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_REGION</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_REGION</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>us</span><span style=color:#000;font-weight:700>-west-2</span><span style=color:#4e9a06>}</span><span style=color:#4e9a0 [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_S3_BUCKET</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_S3_BUCKET</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera</span><span style=color:#000;font-weight:700>-iceberg</span><span style=color:#4e9a06>}</span><span style=c [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_ENDPOINT</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_ENDPOINT</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>http</span><span style=color:#000;font-weight:700>://localhost:</span><span style=color:#000>9000</span><span style=color:#4e9a06>}</span><span style=co [...]
-</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera_minio</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
+</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera_rustfs</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_PASSWORD</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_PASSWORD</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>password</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span></code></pre></div><h2 id=step-4-run-the-bootstrap-script>Step 4: Run the Bootstrap Script<a class=td-heading-self-link href=#step-4-run-the-bootstrap-script aria-label="Heading self-link"></a></h2><p>Run the following script in Texera repo:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>bash bin/bootstrap-lakekeeper.sh
-</span></span></code></pre></div><p>The script will:</p><ol><li>Start Lakekeeper if it’s not already running (on http://localhost:8181)</li><li>Bootstrap the Lakekeeper server (creates the default project)</li><li>Create the texera-iceberg bucket in MinIO if it doesn’t exist</li><li>Register the texera warehouse with Lakekeeper, pointing at that bucket</li></ol><h2 id=step-5-verify>Step 5: Verify<a class=td-heading-self-link href=#step-5-verify aria-label="Heading self-link"> [...]
+</span></span></code></pre></div><p>The script will:</p><ol><li>Start Lakekeeper if it’s not already running (on http://localhost:8181)</li><li>Bootstrap the Lakekeeper server (creates the default project)</li><li>Create the texera-iceberg bucket in RustFS if it doesn’t exist</li><li>Register the texera warehouse with Lakekeeper, pointing at that bucket</li></ol><h2 id=step-5-verify>Step 5: Verify<a class=td-heading-self-link href=#step-5-verify aria-label="Heading self-link" [...]
</span></span></code></pre></div><p>You should see a JSON response with <code>"health":"ok"</code>.</p><p>Verify that the warehouse has been created by running:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl http://localhost:8181/management/v1/warehouse
</span></span></code></pre></div><p>You should see a warehouse in the response.</p><h2 id=step-6-switch-texera-to-use-the-rest-catalog>Step 6: Switch Texera to use the REST catalog<a class=td-heading-self-link href=#step-6-switch-texera-to-use-the-rest-catalog aria-label="Heading self-link"></a></h2><p>To make Texera actually use the Lakekeeper REST catalog you just set up, <code>edit common/config/src/main/resources/storage.conf</code>:</p><div class=highlight><pre tabindex=0 style=back [...]
</span></span><span style=display:flex><span> iceberg {
diff --git a/blog/2026/09/15/notebook-migration-tool/index.html b/blog/2026/09/15/notebook-migration-tool/index.html
index 97c5fed6..28a858c4 100644
--- a/blog/2026/09/15/notebook-migration-tool/index.html
+++ b/blog/2026/09/15/notebook-migration-tool/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/logo.png><title>Migrating Jupyter Notebooks into Texera Workflows | Apache Texera</title><meta name=descri [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/logo.png><title>Migrating Jupyter Notebooks into Texera Workflows | Apache Texera</title><meta name=descri [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
<time datetime=2026-09-15 class=text-body-secondary>Tuesday, September 15, 2026</time></div><header class=article-meta><div class="taxonomy taxonomy-terms-article taxo-tags"><h5 class=taxonomy-title>Tags:</h5><ul class=taxonomy-terms><li><a class=taxonomy-term href=https://texera.staged.apache.org/tags/notebook-migration/ data-taxonomy-term=notebook-migration><span class=taxonomy-label>Notebook-Migration</span></a></li><li><a class=taxonomy-term href=https://texera.staged.apache.org/tags [...]
@@ -9,13 +9,14 @@ Reading the Result</h2><div style="height:3px;width:60px;background:#14110f;marg
<source src=/videos/notebook-migration-mapping.mp4 type=video/mp4>Your browser does not support the video tag.</video><p style=font-size:14px;color:#666;margin-top:10px>Selecting an operator highlights the cell it was generated from, and selecting a cell highlights its operators.</p></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The notebook is uploaded to a JupyterLab server, which the workspace embeds in a read-only iframe. Each workflow get [...]
<source src=/videos/notebook-migration-panel.mp4 type=video/mp4>Your browser does not support the video tag.</video><p style=font-size:14px;color:#666;margin-top:10px>Minimizing and reopening the panel, closing and reopening the workflow, and deleting the notebook.</p></div><h2 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:32px;letter-spacing:-.01em;margin:48px 0 6px;line-height:1.1;color:#14110f"><span style="font-family:helvetica neue,Arial,sans-serif;font- [...]
What It Does Not Do</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">A generated workflow does not arrive with its data attached. The tool reads the notebook's code, not the files that code opened, so the user still has to upload the dataset and connect it before anything will run. Until then the workspace reports the workflow as invalid, which is expected rather than a si [...]
+The Path of a Conversion</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">A conversion touches four components spread across the gateway, the computation tier, and storage. The diagram traces a single one, from the upload through to the workspace reloading.</p><div style="margin:34px 0"><img src=/images/blog_hero/notebook-migration-architecture-diagram.png alt="An eight st [...]
How It Is Built</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The feature splits across a Dropwizard microservice, <code>notebook-migration-service</code>, which owns the notebook file, the cell mapping, and the JupyterLab server, and a pair of frontend services. <code>NotebookMigrationService</code> builds the prompt, calls the model, and turns the response into a work [...]
<a style=text-decoration:none href=https://github.com/apache/texera/pull/7602 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #7602</span></a></td></tr><tr><td style="padding:16px 18px;background:#fbf7ef;border-bottom:1px solid #e3dccd;font-family:helvetica neue,Arial,sans-serif;font-size:15.5px;vertical-align:top"><b>2. Per-user Jupyter.</b> A reg [...]
<a style=text-decoration:none href=https://github.com/apache/texera/pull/8032 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #8032</span></a></td></tr><tr><td style="padding:16px 18px;background:#fbf7ef;border-bottom:1px solid #e3dccd;font-family:helvetica neue,Arial,sans-serif;font-size:15.5px;vertical-align:top"><b>3. Deployment topology.</b> Th [...]
<a style=text-decoration:none href=https://github.com/apache/texera/pull/8073 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #8073</span></a></td></tr><tr><td style="padding:16px 18px;background:#fbf7ef;font-family:helvetica neue,Arial,sans-serif;font-size:15.5px;vertical-align:top"><b>4. Per-workflow files.</b> Every workflow gets its own noteboo [...]
-<a style=text-decoration:none href=https://github.com/apache/texera/pull/7738 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #7738</span></a></td></tr></tbody></table><h2 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:32px;letter-spacing:-.01em;margin:48px 0 6px;line-height:1.1;color:#14110f"><span style="font-family:he [...]
-Problems That Came Up</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><h3 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:22px;margin:30px 0 10px">One notebook name for every workflow</h3><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The frontend uploaded every notebook to <code>work/notebook.ipynb</code>. Across users that was safe, because each user had their own pod. Across one user's wo [...]
-Deploying It</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The tool runs in all three of Texera's deployment modes. Single-node Docker Compose and the local development scripts each bring up one JupyterLab shared across users, which suits a deployment that already assumes one trusted environment. The Helm chart runs the service as a global Deployment with one JupyterLab [...]
+<a style=text-decoration:none href=https://github.com/apache/texera/pull/7738 target=_blank rel=noopener><span style="font-size:12.5px;font-weight:700;color:#c8451f;background:rgba(200,69,31,.1);padding:1px 7px;border-radius:5px;white-space:nowrap;margin-left:6px">PR #7738</span></a></td></tr></tbody></table><h2 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:32px;letter-spacing:-.01em;margin:48px 0 6px;line-height:1.1;color:#14110f"><span style="font-family:he [...]
+Problems That Came Up</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><h3 style="font-family:Georgia,times new roman,serif;font-weight:900;font-size:22px;margin:30px 0 10px">One notebook name for every workflow</h3><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The frontend uploaded every notebook to <code>work/notebook.ipynb</code>. Across users that was safe, because each user had their own pod. Across one user's wo [...]
+Deploying It</h2><div style="height:3px;width:60px;background:#14110f;margin:0 0 22px"></div><p style="font-family:helvetica neue,Arial,sans-serif;font-size:17px;margin:0 0 18px">The tool runs in all three of Texera's deployment modes. Single-node Docker Compose and the local development scripts each bring up one JupyterLab shared across users, which suits a deployment that already assumes one trusted environment. The Helm chart runs the service as a global Deployment with one JupyterLab [...]
</a>|
<a href=https://www.apache.org target=_blank rel=noopener class=text-white>Apache
</a>|
diff --git a/docs/v1.2.0/contribution-guidelines/guide-for-developers/index.html b/docs/v1.2.0/contribution-guidelines/guide-for-developers/index.html
index 8b69f363..9ca7037b 100644
--- a/docs/v1.2.0/contribution-guidelines/guide-for-developers/index.html
+++ b/docs/v1.2.0/contribution-guidelines/guide-for-developers/index.html
@@ -233,7 +233,7 @@
<a href="https://github.com/apache/texera-site/new/main/content/docs/v1.2.0/contribution-guidelines?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+sectio [...]
<a href="https://github.com/apache/texera-site/issues/new?title=Guide%20for%20Developers" class="td-page-meta--issue td-page-meta__issue" target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create documentation issue</a>
<a href=https://github.com/apache/texera/issues/new class="td-page-meta--project td-page-meta__project-issue" target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create project issue</a>
-<a id=print href=/_print/docs/v1.2.0/contribution-guidelines/><i class="fa-solid fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#0-requirements>0. Requirements</a><ul><li></li></ul></li><li><a href=#1-setup-backend-development>1. Setup Backend Development.</a><ul><li><a href=#clone-and-configure-texera>Clone and Configure Texera</a></li><li><a href=#setup-postgresql-locally>Setup PostgreSQL locally</a></li><li><a href=#setup-t [...]
+<a id=print href=/_print/docs/v1.2.0/contribution-guidelines/><i class="fa-solid fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#0-requirements>0. Requirements</a><ul><li></li></ul></li><li><a href=#1-setup-backend-development>1. Setup Backend Development.</a><ul><li><a href=#clone-and-configure-texera>Clone and Configure Texera</a></li><li><a href=#setup-postgresql-locally>Setup PostgreSQL locally</a></li><li><a href=#setup-t [...]
</span></span></span></code></pre></div><p>Next, set <code>JAVA_HOME</code>. On macOS you can run:</p><pre tabindex=0><code>export JAVA_HOME=$(/usr/libexec/java_home -v 17)
</code></pre><p>On Windows, add a system environment variable called <code>JAVA_HOME</code> that points to the JDK directory.</p><h4 id=311310><a href=mailto:Python@3.12>Python@3.12</a>/3.11/3.10<a class=td-heading-self-link href=#311310 aria-label="Heading self-link"></a></h4><p>Install Python 3.12 (or 3.11/3.10) from the official site or your preferred package manager.</p><h4 id=git><strong>Git</strong><a class=td-heading-self-link href=#git aria-label="Heading self-link"></a></h4><p>O [...]
</span></span></span></code></pre></div><h4 id=sbt-scala-build-tool><strong>sbt (Scala Build Tool)</strong><a class=td-heading-self-link href=#sbt-scala-build-tool aria-label="Heading self-link"></a></h4><p>Install <code>sbt</code> for building the project. Please refer to <a href=https://www.scala-sbt.org/1.x/docs/Setup.html>sbt Reference Manual — Installing sbt</a>. We recommend you to use <a href=https://sdkman.io/install>sdkman</a> to install sbt.</p><p>Verify the installation by:</p [...]
@@ -260,8 +260,8 @@ Install <a href=https://www.postgresql.org/download/>Postgres</a>. If you are us
</span></span></span></code></pre></div><p>Install <a href=https://pgroonga.github.io/install/>Pgroonga</a> for enabling full-text search, if you are using Mac, simply execute:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>brew install pgroonga
</span></span></span></code></pre></div><p>Execute <code>sql/texera_ddl.sql</code> to create <code>texera_db</code> database for storing user system data & metadata storage</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>psql -U postgres -f "sql/texera_ddl.sql"
</span></span></span></code></pre></div><p>Execute <code>sql/iceberg_postgres_catalog.sql</code> to create the database for storing Iceberg catalogs.</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span><span style=color:#000;font-style:italic>psql -U postgres -f "sql/iceberg_postgres_catalog.sql"
-</span></span></span></code></pre></div><h3 id=setup-the-lakefsminio-locally>Setup the LakeFS+Minio locally<a class=td-heading-self-link href=#setup-the-lakefsminio-locally aria-label="Heading self-link"></a></h3><p>Texera requires <a href=https://lakefs.io/>LakeFS</a> and S3(<a href=https://min.io/docs/minio/kubernetes/upstream/index.html>Minio</a> is one of the implementations) as the dataset storage. Setting up these two storage services locally are required to make Texera’s dat [...]
-</code></pre><p>Edit <code>docker-compose.yml</code> by: search for <code>volumes</code> in the file and follow the instructions in the comment. This step is required otherwise your data will be lost if containers are deleted</p><p>Execute the following command to start LakeFS and Minio:</p><pre tabindex=0><code>docker compose up
+</span></span></span></code></pre></div><h3 id=setup-the-lakefsrustfs-locally>Setup the LakeFS+RustFS locally<a class=td-heading-self-link href=#setup-the-lakefsrustfs-locally aria-label="Heading self-link"></a></h3><p>Texera requires <a href=https://lakefs.io/>LakeFS</a> and S3(<a href=https://docs.rustfs.com/>RustFS</a> is one of the implementations) as the dataset storage. Setting up these two storage services locally are required to make Texera’s dataset feature functioning.</p [...]
+</code></pre><p>Edit <code>docker-compose.yml</code> by: search for <code>volumes</code> in the file and follow the instructions in the comment. This step is required otherwise your data will be lost if containers are deleted</p><p>Execute the following command to start LakeFS and RustFS:</p><pre tabindex=0><code>docker compose up
</code></pre><h3 id=import-the-project-into-intellij>Import the project into IntelliJ<a class=td-heading-self-link href=#import-the-project-into-intellij aria-label="Heading self-link"></a></h3><p>Before you import the project, you need to have “Scala”, and “SBT Executor” plugins installed in Intellij.
<img width=479 alt="Screenshot 2024-12-02 at 5 59 34 PM" src=/images/github-assets/415f2130-e885-499e-8f16-44ea48942406.png></p><ol><li>In Intellij, open <code>File -> New -> Project From Existing Source</code>, then choose the <code>texera</code> folder.</li><li>In the next window, select <code>Import Project from external model</code>, then select <code>sbt</code>.</li><li>In the next window, make sure <code>Project JDK</code> is set. Click OK.</li><li>IntelliJ should import and build [...]
</code></pre><p>This will generate proto-specified codes. And the IntelliJ indexing should start. Wait until the indexing and importing is completed. And on the right, you can open the sbt tab and check the loaded <code>texera</code> project and couple of sub projects:</p><img width=616 height=859 alt=image src=/images/github-assets/4e916543-a991-4e64-aa4f-b7775eb6b106.png><ol start=5><li><p>When IntelliJ prompts “Scalafmt configuration detected in this project” in the bottom [...]
diff --git a/docs/v1.2.0/getting-started/installing-using-docker/index.html b/docs/v1.2.0/getting-started/installing-using-docker/index.html
index 79d6720a..5e39a917 100644
--- a/docs/v1.2.0/getting-started/installing-using-docker/index.html
+++ b/docs/v1.2.0/getting-started/installing-using-docker/index.html
@@ -254,7 +254,7 @@ lsof -i :9000
</code></pre><p>you can open the browser and navigate to the URL shown in the message.</p><p>Input the default account <code>texera</code> with password <code>texera</code>, and then click on the <code>Sign In</code> button to login:
<img width=1100 height=500 alt=texera-login src=/images/github-assets/84cd784a-09a8-4e56-b9f5-49b53da67914.png></p><h2 id=stop-restart-and-uninstall-texera>Stop, Restart, and Uninstall Texera<a class=td-heading-self-link href=#stop-restart-and-uninstall-texera aria-label="Heading self-link"></a></h2><h3 id=stop>Stop<a class=td-heading-self-link href=#stop aria-label="Heading self-link"></a></h3><p>Press <code>Ctrl+C</code> in the terminal to stop Texera.</p><p>If you already closed the t [...]
</span></span></code></pre></div><p>to stop Texera.</p><h3 id=restart>Restart<a class=td-heading-self-link href=#restart aria-label="Heading self-link"></a></h3><p>Same as the way you <a href=/docs/v1.2.0/getting-started/installing-using-docker/#launch-texera>launch Texera</a>.</p><h3 id=uninstall>Uninstall<a class=td-heading-self-link href=#uninstall aria-label="Heading self-link"></a></h3><p>To remove Texera and all its data, go to the installation folder and run:</p><div class=highlig [...]
-</span></span></code></pre></div><blockquote><p>⚠️ Warning: This will permanently delete all the data used by Texera.</p></blockquote><h2 id=advanced-settings>Advanced Settings<a class=td-heading-self-link href=#advanced-settings aria-label="Heading self-link"></a></h2><p>Before making any of the changes below, please <a href=/docs/v1.2.0/getting-started/installing-using-docker/#stop>stop Texera</a> first. Once you finish the changes, <a href=/docs/v1.2.0/getting-started/installing-using [...]
+</span></span></code></pre></div><blockquote><p>⚠️ Warning: This will permanently delete all the data used by Texera.</p></blockquote><h2 id=advanced-settings>Advanced Settings<a class=td-heading-self-link href=#advanced-settings aria-label="Heading self-link"></a></h2><p>Before making any of the changes below, please <a href=/docs/v1.2.0/getting-started/installing-using-docker/#stop>stop Texera</a> first. Once you finish the changes, <a href=/docs/v1.2.0/getting-started/installing-using [...]
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>driver</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#000>local</span><span style=color:#f8f8f8;text-decoration:underline>
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>driver_opts</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline>
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>type</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#000>none</span><span style=color:#f8f8f8;text-decoration:underline>
diff --git a/docs/v1.2.0/getting-started/run-on-kubernetes/index.html b/docs/v1.2.0/getting-started/run-on-kubernetes/index.html
index ddc9064c..22ae9f14 100644
--- a/docs/v1.2.0/getting-started/run-on-kubernetes/index.html
+++ b/docs/v1.2.0/getting-started/run-on-kubernetes/index.html
@@ -244,7 +244,7 @@
</span></span><span style=display:flex><span>helm install texera k8s --namespace texera-dev --create-namespace
</span></span></code></pre></div></blockquote><hr><h2 id=3-verify-the-installation>3. Verify the Installation<a class=td-heading-self-link href=#3-verify-the-installation aria-label="Heading self-link"></a></h2><p>Wait for the required deployments to be in the <code>Running</code> state. You can check their status by running:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style [...]
</span></span></code></pre></div><p>The key deployments required to run Texera are:</p><ul><li><code>texera-webserver</code></li><li><code>texera-file-service</code></li><li><code>texera-workflow-computing-unit-manager</code></li></ul><hr><h2 id=4-accessing-the-texera-ui>4. Accessing the Texera UI<a class=td-heading-self-link href=#4-accessing-the-texera-ui aria-label="Heading self-link"></a></h2><p>Once the deployments are running, you can access the Texera web interface.</p><ol><li><p> [...]
-</span></span></code></pre></div></li><li><p><strong>Login</strong></p><p>Open http://localhost:30080 in your browser and log in using the default username and password.</p></li></ol><hr><h2 id=5-troubleshooting>5. Troubleshooting<a class=td-heading-self-link href=#5-troubleshooting aria-label="Heading self-link"></a></h2><h3 id=file-upload-error>File Upload Error<a class=td-heading-self-link href=#file-upload-error aria-label="Heading self-link"></a></h3><p>If you see an error when tryi [...]
+</span></span></code></pre></div></li><li><p><strong>Login</strong></p><p>Open http://localhost:30080 in your browser and log in using the default username and password.</p></li></ol><hr><h2 id=5-troubleshooting>5. Troubleshooting<a class=td-heading-self-link href=#5-troubleshooting aria-label="Heading self-link"></a></h2><h3 id=file-upload-error>File Upload Error<a class=td-heading-self-link href=#file-upload-error aria-label="Heading self-link"></a></h3><p>If you see an error when tryi [...]
</span></span></code></pre></div><p>This maps the service’s port <code>9000</code> to your local port <code>31000</code>.</p><h3 id=using-custom-built-images>Using Custom-Built Images<a class=td-heading-self-link href=#using-custom-built-images aria-label="Heading self-link"></a></h3><p>To test custom changes, you can update the <code>bin/k8s/values.yaml</code> file to use your own Docker images. After modifying the <code>values.yaml</code> file, upgrade the Helm release to apply t [...]
</span></span></code></pre></div><h2 id=6-security-recommendation>6. Security Recommendation<a class=td-heading-self-link href=#6-security-recommendation aria-label="Heading self-link"></a></h2><p>For any deployment, especially in production, it’s crucial to apply the principle of least privilege to limit potential damage from a security vulnerability. While the OS user deploying the chart needs kubectl and helm permissions, a more critical concern is the user running the applicati [...]
</span></span></span><span style=display:flex><span><span style=color:#f8f8f8;text-decoration:underline> </span><span style=color:#204a87;font-weight:700>template</span><span style=color:#000;font-weight:700>:</span><span style=color:#f8f8f8;text-decoration:underline>
diff --git a/docs/v1.2.0/overview/index.html b/docs/v1.2.0/overview/index.html
index 509f2a69..16507794 100644
--- a/docs/v1.2.0/overview/index.html
+++ b/docs/v1.2.0/overview/index.html
@@ -233,7 +233,7 @@
<a href="https://github.com/apache/texera-site/new/main/content/docs/v1.2.0?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page [...]
<a href="https://github.com/apache/texera-site/issues/new?title=Overview" class="td-page-meta--issue td-page-meta__issue" target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create documentation issue</a>
<a href=https://github.com/apache/texera/issues/new class="td-page-meta--project td-page-meta__project-issue" target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create project issue</a>
-<a id=print href=/_print/docs/v1.2.0/><i class="fa-solid fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#-architecture-how-it-works>🏗️ Architecture: How it Works</a></li><li><a href=#-core-concepts>🧩 Core Concepts</a></li><li><a href=#-use-cases--target-audience>🎯 Use Cases & Target Audience</a></li></ul></nav></div><div class="taxonomy taxonomy-terms-cloud taxo-tags"><h5 class=taxonomy-title>Tag Cloud</h5><ul class=taxonomy-t [...]
+<a id=print href=/_print/docs/v1.2.0/><i class="fa-solid fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#-architecture-how-it-works>🏗️ Architecture: How it Works</a></li><li><a href=#-core-concepts>🧩 Core Concepts</a></li><li><a href=#-use-cases--target-audience>🎯 Use Cases & Target Audience</a></li></ul></nav></div><div class="taxonomy taxonomy-terms-cloud taxo-tags"><h5 class=taxonomy-title>Tag Cloud</h5><ul class=taxonomy-t [...]
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-no">No</button><p class="feedback--response feedback--response-yes">Glad to hear it! Please <a href=https://github.com/apache/texera-site/issues/new>tell us how we can improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to hear that. Please <a href=https://github.com/apache/texera-site/issues/new>tell us how we can improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback--an [...]
</a>|
<a href=https://www.apache.org target=_blank rel=noopener class=text-white>Apache
diff --git a/docs/v1.2.0/tutorials/guide-to-launch-lakekeeper/index.html b/docs/v1.2.0/tutorials/guide-to-launch-lakekeeper/index.html
index 76c13ab0..52d3ab94 100644
--- a/docs/v1.2.0/tutorials/guide-to-launch-lakekeeper/index.html
+++ b/docs/v1.2.0/tutorials/guide-to-launch-lakekeeper/index.html
@@ -240,17 +240,17 @@
</span></span></span><span style=display:flex><span><span style=color:#a40000>-LAKEKEEPER__PG_DATABASE_URL_WRITE=""
</span></span></span><span style=display:flex><span><span style=color:#a40000></span><span style=color:#00a000>+LAKEKEEPER__PG_DATABASE_URL_READ="postgres://<user>:<urlencoded_password>@<host>:5432/texera_lakekeeper"
</span></span></span><span style=display:flex><span><span style=color:#00a000>+LAKEKEEPER__PG_DATABASE_URL_WRITE="postgres://<user>:<urlencoded_password>@<host>:5432/texera_lakekeeper"
-</span></span></span></code></pre></div><p>If you have customized storage-related values in <code>common/config/src/main/resources/storage.conf</code> (for example, the bucket name, S3 endpoint, or MinIO credentials), check the below environment variables in the script and modify their values accordingly:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span [...]
+</span></span></span></code></pre></div><p>If you have customized storage-related values in <code>common/config/src/main/resources/storage.conf</code> (for example, the bucket name, S3 endpoint, or RustFS credentials), check the below environment variables in the script and modify their values accordingly:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><spa [...]
</span></span><span style=display:flex><span> <span style=color:#8f5902;font-style:italic># if needed, update the default values after `:-` to match storage.conf</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_URI</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_URI</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>http</span><span style=color:#000;font-weight:700>://localhost:</span><span style=color:#000>8181</span><span style=color:#000 [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_WAREHOUSE_NAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_WAREHOUSE_NAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_REGION</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_REGION</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>us</span><span style=color:#000;font-weight:700>-west-2</span><span style=color:#4e9a06>}</span><span style=color:#4e9a0 [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_S3_BUCKET</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_ICEBERG_CATALOG_REST_S3_BUCKET</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera</span><span style=color:#000;font-weight:700>-iceberg</span><span style=color:#4e9a06>}</span><span style=c [...]
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_ENDPOINT</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_ENDPOINT</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>http</span><span style=color:#000;font-weight:700>://localhost:</span><span style=color:#000>9000</span><span style=color:#4e9a06>}</span><span style=co [...]
-</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera_minio</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
+</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_USERNAME</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>texera_rustfs</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span><span style=display:flex><span><span style=color:#000>STORAGE_S3_AUTH_PASSWORD</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>"</span><span style=color:#4e9a06>${</span><span style=color:#000>STORAGE_S3_AUTH_PASSWORD</span><span style=color:#204a87;font-weight:700>:-</span><span style=color:#000>password</span><span style=color:#4e9a06>}</span><span style=color:#4e9a06>"</span>
</span></span></code></pre></div><h2 id=step-4-run-the-bootstrap-script>Step 4: Run the Bootstrap Script<a class=td-heading-self-link href=#step-4-run-the-bootstrap-script aria-label="Heading self-link"></a></h2><p>Run the following script in Texera repo:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>bash bin/bootstrap-lakekeeper.sh
-</span></span></code></pre></div><p>The script will:</p><ol><li>Start Lakekeeper if it’s not already running (on http://localhost:8181)</li><li>Bootstrap the Lakekeeper server (creates the default project)</li><li>Create the texera-iceberg bucket in MinIO if it doesn’t exist</li><li>Register the texera warehouse with Lakekeeper, pointing at that bucket</li></ol><h2 id=step-5-verify>Step 5: Verify<a class=td-heading-self-link href=#step-5-verify aria-label="Heading self-link"> [...]
+</span></span></code></pre></div><p>The script will:</p><ol><li>Start Lakekeeper if it’s not already running (on http://localhost:8181)</li><li>Bootstrap the Lakekeeper server (creates the default project)</li><li>Create the texera-iceberg bucket in RustFS if it doesn’t exist</li><li>Register the texera warehouse with Lakekeeper, pointing at that bucket</li></ol><h2 id=step-5-verify>Step 5: Verify<a class=td-heading-self-link href=#step-5-verify aria-label="Heading self-link" [...]
</span></span></code></pre></div><p>You should see a JSON response with <code>"health":"ok"</code>.</p><p>Verify that the warehouse has been created by running:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl http://localhost:8181/management/v1/warehouse
</span></span></code></pre></div><p>You should see a warehouse in the response.</p><h2 id=step-6-switch-texera-to-use-the-rest-catalog>Step 6: Switch Texera to use the REST catalog<a class=td-heading-self-link href=#step-6-switch-texera-to-use-the-rest-catalog aria-label="Heading self-link"></a></h2><p>To make Texera actually use the Lakekeeper REST catalog you just set up, <code>edit common/config/src/main/resources/storage.conf</code>:</p><div class=highlight><pre tabindex=0 style=back [...]
</span></span><span style=display:flex><span> iceberg {
diff --git a/images/blog_hero/notebook-migration-architecture-diagram.png b/images/blog_hero/notebook-migration-architecture-diagram.png
new file mode 100644
index 00000000..068ff520
Binary files /dev/null and b/images/blog_hero/notebook-migration-architecture-diagram.png differ
diff --git a/sitemap.xml b/sitemap.xml
index abcfac0c..55a37fb2 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://texera.staged.apache.org/monthly-meetings/2026-08-25/</loc><lastmod>2026-08-25T16:59:42-07:00</lastmod></url><url><loc>https://texera.staged.apache.org/monthly-meetings/2026-07-28/</loc><lastmod>2026-07-29T15:35:23-07:00</lastmod></url><url><loc>https://texera.staged.apache.org/monthly-meetings/2026-06-30/</loc><la [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://texera.staged.apache.org/monthly-meetings/2026-08-25/</loc><lastmod>2026-08-25T16:59:42-07:00</lastmod></url><url><loc>https://texera.staged.apache.org/monthly-meetings/2026-07-28/</loc><lastmod>2026-07-29T15:35:23-07:00</lastmod></url><url><loc>https://texera.staged.apache.org/monthly-meetings/2026-06-30/</loc><la [...]
\ No newline at end of file
diff --git a/tags/index.html b/tags/index.html
index c4fb65f9..eabab0ef 100644
--- a/tags/index.html
+++ b/tags/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/logo.png [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/logo.png [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
</a>|
diff --git a/tags/index.xml b/tags/index.xml
index 162654aa..cd85bb54 100644
--- a/tags/index.xml
+++ b/tags/index.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on Apache Texera</title><link>https://texera.staged.apache.org/tags/</link><description>Recent content in Tags on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 15 Sep 2026 11:25:55 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/index.xml" rel="self" type="application/rss+xml" [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on Apache Texera</title><link>https://texera.staged.apache.org/tags/</link><description>Recent content in Tags on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 23 Sep 2026 16:04:03 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/index.xml" rel="self" type="application/rss+xml" [...]
\ No newline at end of file
diff --git a/tags/jupyter/index.html b/tags/jupyter/index.html
index da6d2bf8..44ee5772 100644
--- a/tags/jupyter/index.html
+++ b/tags/jupyter/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/jupyter/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/ [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/jupyter/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/ [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
</a>|
diff --git a/tags/jupyter/index.xml b/tags/jupyter/index.xml
index 7b618c65..f5c35fb4 100644
--- a/tags/jupyter/index.xml
+++ b/tags/jupyter/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jupyter on Apache Texera</title><link>https://texera.staged.apache.org/tags/jupyter/</link><description>Recent content in Jupyter on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 15 Sep 2026 11:25:55 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/jupyter/index.xml" rel="self" type [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jupyter on Apache Texera</title><link>https://texera.staged.apache.org/tags/jupyter/</link><description>Recent content in Jupyter on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 23 Sep 2026 16:04:03 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/jupyter/index.xml" rel="self" type [...]
<img src="https://texera.staged.apache.org/images/blog_hero/notebook-migration.png" alt="A Texera workspace showing a generated workflow beside the notebook it was generated from" style="width: 90%; height: auto; display: block; margin: 0 auto; border-radius: 12px;">
</div>
<div style="max-width: 100%; width: 100%; margin: 0; font-family: 'Helvetica Neue',Arial,sans-serif; color: #14110f; background: #ffffff; line-height: 1.65;">
diff --git a/tags/llm/index.html b/tags/llm/index.html
index 459ee1c9..28512980 100644
--- a/tags/llm/index.html
+++ b/tags/llm/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/llm/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/logo [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/llm/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/logo [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
</a>|
diff --git a/tags/llm/index.xml b/tags/llm/index.xml
index dcd13ae8..943e3352 100644
--- a/tags/llm/index.xml
+++ b/tags/llm/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Llm on Apache Texera</title><link>https://texera.staged.apache.org/tags/llm/</link><description>Recent content in Llm on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 15 Sep 2026 11:25:55 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/llm/index.xml" rel="self" type="application/rs [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Llm on Apache Texera</title><link>https://texera.staged.apache.org/tags/llm/</link><description>Recent content in Llm on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 23 Sep 2026 16:04:03 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/llm/index.xml" rel="self" type="application/rs [...]
<img src="https://texera.staged.apache.org/images/blog_hero/notebook-migration.png" alt="A Texera workspace showing a generated workflow beside the notebook it was generated from" style="width: 90%; height: auto; display: block; margin: 0 auto; border-radius: 12px;">
</div>
<div style="max-width: 100%; width: 100%; margin: 0; font-family: 'Helvetica Neue',Arial,sans-serif; color: #14110f; background: #ffffff; line-height: 1.65;">
diff --git a/tags/notebook-migration/index.html b/tags/notebook-migration/index.html
index 5a34d6f1..054ce4bd 100644
--- a/tags/notebook-migration/index.html
+++ b/tags/notebook-migration/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/notebook-migration/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png hr [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/notebook-migration/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png hr [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
</a>|
diff --git a/tags/notebook-migration/index.xml b/tags/notebook-migration/index.xml
index 8129b830..ea796adc 100644
--- a/tags/notebook-migration/index.xml
+++ b/tags/notebook-migration/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Notebook-Migration on Apache Texera</title><link>https://texera.staged.apache.org/tags/notebook-migration/</link><description>Recent content in Notebook-Migration on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 15 Sep 2026 11:25:55 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/n [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Notebook-Migration on Apache Texera</title><link>https://texera.staged.apache.org/tags/notebook-migration/</link><description>Recent content in Notebook-Migration on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 23 Sep 2026 16:04:03 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/n [...]
<img src="https://texera.staged.apache.org/images/blog_hero/notebook-migration.png" alt="A Texera workspace showing a generated workflow beside the notebook it was generated from" style="width: 90%; height: auto; display: block; margin: 0 auto; border-radius: 12px;">
</div>
<div style="max-width: 100%; width: 100%; margin: 0; font-family: 'Helvetica Neue',Arial,sans-serif; color: #14110f; background: #ffffff; line-height: 1.65;">
diff --git a/tags/python/index.html b/tags/python/index.html
index bc5125b1..8361408b 100644
--- a/tags/python/index.html
+++ b/tags/python/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/python/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/l [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/python/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/images/l [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
</a>|
diff --git a/tags/python/index.xml b/tags/python/index.xml
index 0c9c74fb..a3190427 100644
--- a/tags/python/index.xml
+++ b/tags/python/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on Apache Texera</title><link>https://texera.staged.apache.org/tags/python/</link><description>Recent content in Python on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 15 Sep 2026 11:25:55 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/python/index.xml" rel="self" type="ap [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on Apache Texera</title><link>https://texera.staged.apache.org/tags/python/</link><description>Recent content in Python on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 23 Sep 2026 16:04:03 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/python/index.xml" rel="self" type="ap [...]
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
diff --git a/tags/workflows/index.html b/tags/workflows/index.html
index 10a1d2e6..e9ed9563 100644
--- a/tags/workflows/index.html
+++ b/tags/workflows/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/workflows/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/image [...]
+<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://texera.staged.apache.org/tags/workflows/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/favicon.ico><link rel=icon type=image/png href=/image [...]
</span><span class=navbar-brand__name>Apache Texera®
</span></a><a class=navbar-version-badge href=/releases/1.2.0-incubating/ aria-label="Latest release 1.2.0-incubating">latest: v1.2.0-incubating</a><div class="td-navbar-nav-scroll ms-md-auto" id=main_navbar><ul class=navbar-nav><li class=nav-item><a class=nav-link href=/downloads/><span>Downloads</span></a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href=/community/ id=menu-community role=button data-bs-toggle=dropdown aria-expanded=false><span>Community</span [...]
</a>|
diff --git a/tags/workflows/index.xml b/tags/workflows/index.xml
index eb15860d..34f1c8c0 100644
--- a/tags/workflows/index.xml
+++ b/tags/workflows/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Workflows on Apache Texera</title><link>https://texera.staged.apache.org/tags/workflows/</link><description>Recent content in Workflows on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 15 Sep 2026 11:25:55 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/workflows/index.xml" rel="se [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Workflows on Apache Texera</title><link>https://texera.staged.apache.org/tags/workflows/</link><description>Recent content in Workflows on Apache Texera</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 23 Sep 2026 16:04:03 -0700</lastBuildDate><atom:link href="https://texera.staged.apache.org/tags/workflows/index.xml" rel="se [...]
<img src="https://texera.staged.apache.org/images/blog_hero/notebook-migration.png" alt="A Texera workspace showing a generated workflow beside the notebook it was generated from" style="width: 90%; height: auto; display: block; margin: 0 auto; border-radius: 12px;">
</div>
<div style="max-width: 100%; width: 100%; margin: 0; font-family: 'Helvetica Neue',Arial,sans-serif; color: #14110f; background: #ffffff; line-height: 1.65;">