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 <[email protected]>
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:[email protected]>[email protected]</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;">