+ Posts by + Maria Oros + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
++ Posts by + Tyler Caraza-Harter + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
+
+
+
+
+
+
+
+
+ Posts by Maria Oros — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts by Maria Oros
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/author/maria-oros/atom.xml b/_build/html/blog/author/maria-oros/atom.xml
new file mode 100644
index 0000000..9f02b6e
--- /dev/null
+++ b/_build/html/blog/author/maria-oros/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts by Maria Oros
+ 2026-05-18T21:40:18.238902+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/author"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/author/openlambda-team.html b/_build/html/blog/author/openlambda-team.html
index 083accd..2c238c4 100644
--- a/_build/html/blog/author/openlambda-team.html
+++ b/_build/html/blog/author/openlambda-team.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ + + + + Posts by Maria Oros + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
- + + + + 2026-05-18 + + + +
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/author/openlambda-team/atom.xml b/_build/html/blog/author/openlambda-team/atom.xml
index 60a39f8..8bc17fc 100644
--- a/_build/html/blog/author/openlambda-team/atom.xml
+++ b/_build/html/blog/author/openlambda-team/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts by OpenLambda Team
- 2026-05-18T20:49:10.782865+00:00
+ 2026-05-18T21:40:18.241543+00:00
ABlog
diff --git a/_build/html/blog/author/tyler-caraza-harter.html b/_build/html/blog/author/tyler-caraza-harter.html
new file mode 100644
index 0000000..e1b8ada
--- /dev/null
+++ b/_build/html/blog/author/tyler-caraza-harter.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts by Tyler Caraza-Harter — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts by Tyler Caraza-Harter
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/author/tyler-caraza-harter/atom.xml b/_build/html/blog/author/tyler-caraza-harter/atom.xml
new file mode 100644
index 0000000..934c222
--- /dev/null
+++ b/_build/html/blog/author/tyler-caraza-harter/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts by Tyler Caraza-Harter
+ 2026-05-18T21:40:18.240305+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/author"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/category.html b/_build/html/blog/category.html
index 16f1f79..9dc07aa 100644
--- a/_build/html/blog/category.html
+++ b/_build/html/blog/category.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -352,6 +378,25 @@
+
+
+ Posts in
+ Case Studies
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/category/case-studies/atom.xml b/_build/html/blog/category/case-studies/atom.xml
new file mode 100644
index 0000000..133aedc
--- /dev/null
+++ b/_build/html/blog/category/case-studies/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts in Case Studies
+ 2026-05-18T21:40:18.244931+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/category"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/category/releases.html b/_build/html/blog/category/releases.html
index 8f65cf3..edbc843 100644
--- a/_build/html/blog/category/releases.html
+++ b/_build/html/blog/category/releases.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/category/releases/atom.xml b/_build/html/blog/category/releases/atom.xml
index 27ec46d..674510a 100644
--- a/_build/html/blog/category/releases/atom.xml
+++ b/_build/html/blog/category/releases/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in Releases
- 2026-05-18T20:49:10.785174+00:00
+ 2026-05-18T21:40:18.246122+00:00
ABlog
diff --git a/_build/html/blog/drafts.html b/_build/html/blog/drafts.html
index c2ea681..6760eb4 100644
--- a/_build/html/blog/drafts.html
+++ b/_build/html/blog/drafts.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/index.html b/_build/html/blog/index.html
index b634f81..c122411 100644
--- a/_build/html/blog/index.html
+++ b/_build/html/blog/index.html
@@ -60,6 +60,7 @@
+
@@ -155,6 +156,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +175,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +209,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +228,7 @@
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
+An Application Case Study: Forecasting Crop Disease with OpenLambda — Maria Oros, Tyler Caraza-Harter, May 18, 2026
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+
+
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
Hello, OpenLambda Blog — OpenLambda Team, May 18, 2026
Welcome to the new OpenLambda blog. We’ll use this space to share release
notes, performance experiments, and design discussions.
@@ -425,6 +495,15 @@
OpenLambda BlogAgricultural Forecasting API
+
+
+
+
diff --git a/_build/html/blog/language.html b/_build/html/blog/language.html
index dec5673..81f0e44 100644
--- a/_build/html/blog/language.html
+++ b/_build/html/blog/language.html
@@ -155,6 +155,12 @@
+ -
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/language/en.html b/_build/html/blog/language/en.html
index 23c0b6e..7b953f5 100644
--- a/_build/html/blog/language/en.html
+++ b/_build/html/blog/language/en.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/language/en/atom.xml b/_build/html/blog/language/en/atom.xml
index 6a6762f..b96fdbb 100644
--- a/_build/html/blog/language/en/atom.xml
+++ b/_build/html/blog/language/en/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in en
- 2026-05-18T20:49:10.784103+00:00
+ 2026-05-18T21:40:18.242715+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/language"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
new file mode 100644
index 0000000..6c35ed3
--- /dev/null
+++ b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+An Application Case Study: Forecasting Crop Disease with OpenLambda#
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+Recently, we selected an agricultural forecasting application (AgForecast), developed by the Data Science Institute at UW–Madison, to port to OpenLambda: UW-Madison-DSI/ag_forecasting_api. AgForecast is an interesting case study, because it implements its REST API using FastAPI, which in turn uses ASGI, the so-called “spiritual successor” to WSGI, which we recently started supporting in OpenLambda. WSGI is the basis for popular Python web-programming packages such as Django and Flask; new ASGI support opens the door to an even broader range of applications.
+In this post, we describe the challenges of porting AgForecast to OL, and four new features we added to OL to make deployment of similar applications in the future simpler. The features are built-in ASGI support, direct GitHub-to-OL deployments, OL function environment variables, and OL-based pip compilation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hello, OpenLambda Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/post/2026-05-18-hello-world.html b/_build/html/blog/post/2026-05-18-hello-world.html
index bb9539d..4359895 100644
--- a/_build/html/blog/post/2026-05-18-hello-world.html
+++ b/_build/html/blog/post/2026-05-18-hello-world.html
@@ -59,7 +59,8 @@
-
+
+
@@ -213,6 +212,12 @@
@@ -226,11 +231,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -244,6 +265,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -259,7 +284,7 @@
@@ -438,6 +463,13 @@ Hello, OpenLambda Blog
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
@@ -458,6 +490,15 @@ Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
- Agricultural Forecasting API
-- Blog
+- Blog
diff --git a/_build/html/index.html b/_build/html/index.html
index 1a706c3..9d98970 100644
--- a/_build/html/index.html
+++ b/_build/html/index.html
@@ -189,7 +189,8 @@
- Agricultural Forecasting API
-
- Blog
+- Blog
diff --git a/_build/html/objects.inv b/_build/html/objects.inv
index 95991da..b7f1890 100644
--- a/_build/html/objects.inv
+++ b/_build/html/objects.inv
@@ -2,5 +2,4 @@
# Project: Project name not set
# Version:
# The remainder of this file is compressed using zlib.
-xڅRAN0+6qJDDĪc[&nI͚ݝuo/pPx`$eR@+p}]R\\ºU3Bʔx8(*zW%UYcVg?sRHH,~@\o!&fG^;ւgq%m@rˈu\h2C2DSǀ(qIYzn$Qmdss69p?^ihTtPTXJu:#KjW(9T[FLV7
-1#Ѿ
\ No newline at end of file
+xڭSKN0O% JDTĪkG$nӴJ+5of=[<;Lb4Hfqe839- 3^ #`|:1kqq /MJ¤$@PDӭ:A;!ԑׇyMu}:֦&οP+]TGI`hôUmilY̴.QZj;Tb}E,>_}A
\ No newline at end of file
diff --git a/_build/html/search.html b/_build/html/search.html
index e0fcd45..610a244 100644
--- a/_build/html/search.html
+++ b/_build/html/search.html
@@ -187,7 +187,8 @@
- Agricultural Forecasting API
-
- Blog
+- Blog
diff --git a/_build/html/searchindex.js b/_build/html/searchindex.js
index 4df1dfc..0fb07af 100644
--- a/_build/html/searchindex.js
+++ b/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"1. Clone the repo and copy these files in": [[0, "clone-the-repo-and-copy-these-files-in"]], "Agricultural Forecasting API": [[1, null]], "Applications": [[2, null]], "Configuration": [[6, "configuration"]], "Deploying Multiple Workers": [[6, "deploying-multiple-workers"]], "File Structure": [[0, "file-structure"]], "Further Reading": [[6, "further-reading"]], "Hello, OpenLambda Blog": [[4, null]], "License": [[5, "license"]], "Local Preview": [[0, "local-preview"]], "One-Time Setup (do this once per repo)": [[0, "one-time-setup-do-this-once-per-repo"]], "OpenLambda": [[5, null]], "OpenLambda Blog": [[3, null]], "OpenLambda GitHub Pages \u2014 MyST Markdown Site": [[0, null]], "Overview": [[1, "overview"], [6, "overview"]], "Related Publications": [[5, "related-publications"]], "Starting the Worker": [[6, "starting-the-worker"]], "Want to deploy FastAPI apps on OpenLambda? Just ASGI us how.": [[2, "want-to-deploy-fastapi-apps-on-openlambda-just-asgi-us-how"]], "Worker": [[6, null]]}, "docnames": ["README", "applications/ag-forecasting-api", "applications/index", "blog/index", "blog/post/2026-05-18-hello-world", "index", "worker"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["README.md", "applications/ag-forecasting-api.md", "applications/index.md", "blog/index.md", "blog/post/2026-05-18-hello-world.md", "index.md", "worker.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 6], "0": [], "003663": [], "031": [], "05": [], "09": [], "10": [], "100": [], "1049": [], "11": [], "12": [], "1234": [], "14": [], "15": [], "16": 5, "17": 5, "18": [3, 5], "20": [], "2000": [], "2024": [], "2025": [], "2026": 3, "21": [], "24": 5, "28": [], "2878": [], "30": [], "31": [], "3250": [], "35": [], "366": [], "38": [], "404": [], "423": [], "43": [], "45": [], "4500": [], "4567": [], "5": [], "50": [], "6": [], "6h": [], "7": [], "7d": [], "8": [], "8000": [], "8080": 6, "85": [], "89": [], "9": [], "90": [], "92": [], "999": [], "A": [2, 6], "By": [], "For": 1, "In": 2, "It": 6, "No": 6, "On": 2, "That": [], "The": [1, 2, 5, 6], "To": [2, 6], "With": 5, "__init__": [], "_annotate_winter_rye_biomass": [], "_build": 0, "_build_daili": [], "_compute_winter_rye_biomass": [], "_config": 0, "_doi": [], "_fall": [], "_fetch_raw_hourli": [], "_run_pipelin": [], "_toc": 0, "_total": [], "about": 5, "abov": [], "aboveground": [], "absolut": [], "access": [], "accumul": [], "acquisit": [], "acr": [], "action": 0, "activ": [], "ad": [], "adapt": [], "add": [0, 2], "address": [2, 6], "adjust": 2, "after": 6, "ag": 2, "ag_api": [], "ag_forecast": [], "ag_forecasting_api": [], "ag_models_wrapp": [], "aggreg": [], "agricultur": 2, "agronom": [], "ahead": 2, "aiohttp": [], "air": [], "al": 5, "all": 0, "alongsid": 2, "alpin": [], "alreadi": 6, "also": [2, 5], "alten": [], "altn": [], "america": [], "an": [2, 5], "analysi": [], "annot": [], "apach": 5, "api": 2, "api_cach": [], "api_kei": [], "apotheci": [], "app": [], "app_v1": [], "appli": [], "applic": [], "approach": [2, 5, 6], "ar": [2, 5, 6], "arithmet": [], "arriv": 6, "asgi": 1, "assess": [], "assumpt": [], "async": 2, "atc": 5, "authent": [], "author": 5, "auto": 0, "automat": 0, "avail": [], "averag": [], "avg": [], "await": [], "awar": [], "axi": [], "b_": [], "b_0": [], "back": 6, "backend": 6, "backward": [], "balanc": [5, 6], "base": [1, 2, 5], "basic": [], "batch": [], "becaus": 2, "behind": 6, "believ": 2, "benefici": 2, "better": 2, "between": 6, "bill": 2, "bin": 6, "binari": 6, "biomass_color": [], "biomass_lb_acr": [], "biomass_messag": [], "biomass_result": [], "bit": 5, "block": 2, "book": 0, "boss": [5, 6], "both": 2, "branch": [], "broader": 2, "broadli": 2, "browser": 0, "build": [0, 2, 6], "built": [], "bulk": [], "bundl": 0, "busi": [], "c": [], "cach": [], "calc": [], "calcul": [], "calculate_tarspot_risk": [], "calculate_winter_rye_biomass": [], "call": 6, "caller": 6, "can": [2, 5, 6], "cap": [], "capabl": [], "case": [], "categori": [], "cd": 0, "cdn": [], "cdot": [], "central": [5, 6], "cercospora": [], "chang": 2, "chapter": [], "characterist": [], "check": [1, 6], "chicago": [], "choic": 2, "chunk": [], "citi": [], "class": [], "classif": [], "classifi": [], "client": [], "clone": [], "cloud comput": 5, "cluster": [5, 6], "cmd": [], "co": 2, "coeffici": [], "col": [], "cold": 6, "color": [], "columbia": [], "column": [], "com": 0, "combin": 1, "commit": 0, "compat": [], "compon": 6, "comput": [2, 5], "compute_risks_in_parallel": [], "concern": 2, "concurr": 2, "conda": [], "config": 6, "configur": [], "confirm": [], "connect": [], "consolid": 2, "constant": [], "constraint": 2, "contact": [], "contain": [5, 6], "container": [], "content": 0, "context": [], "continu": 2, "contribut": 2, "convers": [], "convert": [], "coordin": 6, "copi": [], "core": 6, "corn": [], "could": 5, "counti": [], "cover": [], "coverag": [], "creat": [], "credenti": [], "crop": 1, "ctrl": [], "cumsum": [], "cumul": [], "curl": 6, "current": [5, 6], "curv": [], "cycl": [], "dai": [], "daili": [], "damon": [], "dashboard": [], "data": [1, 2], "datafram": [], "dataframe_to_featurecollect": [], "date": [], "datetim": [], "dd": [], "decim": [], "decis": [], "deep": 3, "deeper": 2, "def": [], "default": 6, "definit": [], "degre": [], "demand": 2, "dens": [], "dep": 0, "depend": 2, "deploi": [0, 5], "deploy": [2, 6], "deprec": [], "describ": 6, "descript": 6, "design": [2, 3, 4], "detail": 5, "detect": 2, "dev": 2, "develop": [1, 6], "dew": [], "dir": [], "direct": [], "directori": 6, "discuss": [3, 4], "diseas": 1, "disease_metadata": [], "distinguish": 2, "dive": 3, "doc": [], "docker": 6, "dockerfil": [], "document": [0, 1], "doit": [], "domain": [], "door": 2, "drive": 2, "dry": [], "dsi": [], "dst": [], "dual": [], "dure": [], "e": [], "each": 6, "earlier": 2, "ecosystem": [], "edu": [], "effect": [], "emb": [], "embed": [], "emerg": [], "enabl": [2, 5], "endpoint": 6, "enhanc": [], "ensembl": [], "enter": 1, "entir": [], "entri": [], "environ": 2, "eros": [], "error": [], "establish": [], "estim": [], "et": 5, "etc": [], "evalu": [], "eventu": 5, "everi": [], "evolut": 2, "exampl": [], "example_callapi": [], "execut": 2, "expand": 2, "experi": [3, 4], "explor": 5, "export": [], "expos": 6, "extend": 2, "extract": [], "f": [], "fail": [], "fall": [], "fall_precip": [], "fall_start": [], "fallback": [], "far": 5, "farmer": [], "fastapi": 1, "faster": [2, 5], "featur": 2, "featurecollect": [], "fetch": [], "fetch_all_measurements_async": [], "fetch_wisconet_biomass": [], "field": 6, "file": [5, 6], "fillna": [], "filter": [], "fit": [2, 5], "fix": [], "follow": [], "forecast": 2, "forecasting_d": [], "forklift": 5, "format": [], "formula": [], "forward": 6, "found": [], "four": [], "frac": [], "framework": [], "friction": 2, "friendli": 2, "frogey": [], "frogeye_risk": [], "frogeye_risk_class": [], "from": [0, 2, 3, 6], "fromisoformat": [], "front": [5, 6], "function": [2, 6], "fundament": 2, "fungu": [], "further": 2, "g": [], "gdd": [], "gdd_0c": [], "gdd_sine": [], "gdd_total": [], "gener": [], "geojson": [], "geojson_adapt": [], "geojson_schema": [], "geometri": [], "geospati": 1, "get": [5, 6], "get_weather_with_risk": [], "gi": [], "git": 0, "github": 2, "gitignor": 0, "global": [], "globe": [], "gls_risk": [], "gls_risk_class": [], "go": [5, 6], "goal": 5, "grai": [], "green": [], "grow": [], "growth": [], "guid": 6, "ha": [], "handl": [], "handler": [], "haproxi": 6, "hard": [], "harmon": [], "health": [], "healthcheck": [], "hello": 3, "help": 2, "helper": [], "hendrickson": 5, "here": [0, 1, 5], "high": [], "higher": 2, "histor": [], "histori": 2, "hod": [], "homepag": 0, "hope": 5, "horizont": 6, "host": [], "hotcloud": 5, "hour": [], "hourli": [], "html": 0, "http": [0, 5, 6], "human": [], "humid": [], "i": [1, 2, 5, 6], "ibm_api_kei": [], "ibm_servic": [], "icdcsw": 5, "id": [], "identifi": [], "idl": 2, "imag": 6, "implement": [2, 5], "import": [], "improv": 2, "inact": [], "inch": [], "includ": 2, "incom": 6, "increment": 2, "independ": 6, "index": 0, "individu": [], "inflect": [], "influenc": 2, "info": [], "inform": [], "ingest": [], "initi": 5, "input": [], "insid": 6, "instal": 0, "institut": 1, "integr": [1, 2], "intellig": 1, "interact": [], "intercept": [], "interfac": 2, "interpol": [], "interpret": [], "interv": [], "invok": 5, "io": 0, "ipynb": [], "irrig": [], "issu": 2, "its": [1, 2, 6], "jaim": 2, "jb": [], "json": 6, "jupyt": 0, "just": 5, "jwt": [], "k": [], "keep": 6, "kei": 6, "label": [], "lambda": [0, 1, 2, 5, 6], "larg": 5, "last": [], "lat": [], "latenc": 6, "latitud": [], "layer": [], "lb": [], "leaf": [], "lean": 5, "left": [], "let": 2, "librari": 5, "lifecycl": 6, "like": 2, "limit": [], "line": [], "lint": [], "linux": [5, 6], "linux contain": 5, "list": [], "listen": 6, "ll": [3, 4], "lng": [], "load": [5, 6], "load_stations_sync": [], "loadbalanc": [], "local": [5, 6], "localhost": 6, "locat": 2, "log": 6, "log_level": [], "log_output": 6, "logic": [], "login": 5, "logist": [], "logit": [], "long": 2, "longitud": [], "longstand": 2, "look": 2, "low": [], "lower": [], "m": 0, "madison": 1, "mai": 3, "main": 5, "maintain": [], "make": 5, "manag": [5, 6], "manipul": [], "manual": [5, 6], "map": [], "materi": [], "math": [], "math_help": [], "mathemat": [], "max": [], "maydi": [], "md": [0, 5], "mean": [], "measur": [], "merg": [], "merge_biomass": [], "merge_station_metadata": [], "merge_wisconet_biomass": [], "mesonet": [], "messag": [], "metadata_stations_": [], "method": [], "metric": [], "min": [], "minim": 2, "minut": 6, "mitig": [], "mm": [], "mode": 5, "model": [1, 2], "model_schema": [], "moder": [], "modern": 2, "moistur": [], "mold": [], "monitor": [], "month": [], "more": [0, 2, 5], "mostli": 5, "mount": [], "mph": [], "multi": [1, 6], "multipl": 2, "multiprocess": [], "n": 6, "name": 6, "nation": [], "nativ": 2, "natur": 2, "need": 2, "network": [], "new": [2, 3, 4, 5], "next": 1, "nginx": 6, "nighttim": [], "noaa": [], "node": [5, 6], "non": [], "normal": [], "note": [3, 4], "notebook": [], "now": 1, "num_work": [], "numer": [], "numpi": [], "o": 2, "oak": 5, "observ": [], "obtain": [], "off": [], "ol": 2, "old": [], "onboard": 2, "onc": [], "one": 6, "open": [0, 1, 2, 5], "openapi": [], "openlambda": [1, 6], "oper": 6, "opportunist": 2, "optim": [5, 6], "option": [2, 6], "orchestr": [], "org_id": [], "organ": [], "our": 2, "output": [], "overhead": 2, "packag": 5, "panda": [], "paper": 6, "parallel": [], "paramet": [], "pars": [], "pass": 6, "path": 6, "pattern": 2, "payload": 6, "pd": [], "peak": [], "per": 6, "perform": [3, 4], "period": 6, "permiss": [], "persist": 2, "pf": [], "phase": 1, "phyllachora": [], "pip": 0, "pipelin": [], "pipsqueak": 5, "place": 6, "plan": [], "plant": [], "plant_date_obj": [], "plant_doi": [], "planting_d": [], "platform": 2, "pleas": 1, "plu": [], "point": [], "pool": [2, 5], "port": [2, 6], "post": [2, 6], "practic": 2, "pre": [], "precip": [], "precip1hour_sum": [], "precip_daili": [], "precip_fal": [], "precipit": [], "pred": [], "predict": [], "premium": [], "prep": [], "presenc": [], "present": 6, "previou": [], "primari": 5, "print": 6, "prob": [], "probabl": [], "problem": [], "process": [2, 6], "product": 5, "profession": [], "project": [3, 5], "properti": [], "provid": 1, "provis": [5, 6], "proxi": [], "public": [], "pull": 6, "purpos": [], "push": 0, "put": 5, "py": [], "py_compil": [], "pydant": [], "pylint": [], "python": [0, 2], "pythonpath": [], "queri": [], "question": 2, "quickstart": 6, "r": 0, "r3": [], "rainfal": [], "rang": 2, "rapid": [5, 6], "rare": [], "rate": [], "rather": 2, "raw": [], "re": [], "read": 5, "readabl": [], "readi": [], "real": 2, "rebuild": [], "recommend": 6, "redeploi": [], "redoc": [], "reduc": [2, 6], "redund": [], "refer": 1, "refresh": [], "regener": 2, "region": [], "registri": 6, "regress": [], "rel": [], "relativehumidity_max": [], "relativehumidity_min": [], "releas": [3, 4], "relev": [], "reli": 2, "reload": [], "remov": 2, "replac": [], "repo": 6, "repositori": [], "request": [5, 6], "requir": [0, 2, 6], "research": 6, "residu": [], "resolut": [], "respect": 6, "respons": [5, 6], "rest": [], "result": [2, 6], "result_typ": [], "retri": [], "retriev": [], "return": 6, "reus": 2, "revers": [], "rh": [], "risk": 1, "risk_dai": [], "risk_df": [], "risk_model": [], "risk_processor": [], "roll": [], "rolling_mean": [], "root": [0, 6], "rout": 6, "router": [], "row": [], "rule": [], "run": [5, 6], "runlambda": 6, "runtim": 2, "rye_biomass": [], "rye_daili": [], "saascor": [], "same": [], "sandbox": 6, "save": [], "scale": 6, "schema": [], "scienc": 1, "scientif": [], "sclerotinia": [], "sclerotiorum": [], "score": [], "script": [], "see": 5, "select": [], "sep": [], "sequenti": [], "seri": [], "serv": 2, "server": [2, 6], "serverless": [2, 5, 6], "servic": [1, 2, 5], "set": [0, 2], "setup": 6, "shape": 2, "share": [3, 4], "shift": [], "shm": 2, "short": 6, "should": [], "show": [], "side": [2, 6], "sidebar": [], "similar": 6, "sinc": [], "sine": [], "singl": [2, 5, 6], "site": [], "situat": 2, "slim": [], "smaller": [], "so": 5, "sock": [5, 6], "soil": [], "sojina": [], "sourc": 1, "south": [], "soybean": [], "space": [3, 4], "specif": [], "specifi": [], "speed": [], "spot": [], "stage": [], "standalon": 6, "standard": 6, "start": [2, 5], "startup": 6, "state": 2, "stateless": [2, 6], "statewid": [], "station_data_": [], "station_id": [], "station_measurements_cach": [], "station_nam": [], "station_timezon": [], "statu": 6, "stdlib": [], "stdout": 6, "step": [], "still": [], "str": [], "structur": [], "sub": [], "subsequ": 6, "suitabl": 5, "sum": [], "summari": [], "support": 2, "sure": [], "surfac": 2, "swagger": [], "synchron": 2, "syntax": [], "system": 5, "tabl": 0, "tabular": [], "take": 5, "tar": [], "target": 2, "tarspot": [], "tarspot_risk": [], "tarspot_risk_class": [], "task": [5, 6], "team": 3, "technic": [0, 3], "technologi": 1, "temp": [], "temperatur": [], "temperature_max": [], "temperature_max_c": [], "temperature_mean": [], "temperature_mean_c": [], "temperature_min": [], "temperature_min_c": [], "temperaturedewpoint_max": [], "temperaturedewpoint_min": [], "tenant": [], "tenant_id": [], "termin": [], "termination_d": [], "text": [], "than": 2, "them": [5, 6], "thi": [2, 3, 4, 5], "those": 2, "threshold": [], "through": 1, "ti": [], "tier": [], "time": 2, "time_seri": [], "timeout": [], "timestamp": [], "timetupl": [], "titl": 5, "tl": [], "tm_ydai": [], "token": [], "tool": 1, "tornado": 2, "total": [], "traefik": [], "transit": [], "tree": 5, "true": [], "ttl": [], "two": [], "txt": 0, "type": [], "ui": [], "under": [5, 6], "underli": 2, "unifi": [], "unit": 2, "univers": 1, "until": 6, "updat": [], "url": 6, "us": [0, 1, 2, 3, 4, 5], "usag": [], "user": [], "utc": [], "util": 2, "uvicorn": [], "uw": [], "v10": [], "v2": [], "valid": 1, "variabl": 2, "variant": [], "venu": 5, "venv": [], "verbos": [], "verifi": 6, "via": 6, "view": [], "virtual": [], "visibl": 2, "vm": 5, "w": 6, "wait": [2, 6], "warm": [2, 6], "we": [2, 3, 4, 5], "weather": 1, "web": 2, "welcom": [3, 4], "well": 5, "wet": [], "when": [2, 6], "where": [2, 5, 6], "whether": [2, 6], "which": 2, "white": [], "whitemold_dry_risk": [], "whitemold_dry_risk_class": [], "wi": [], "wide": [2, 6], "wind": [], "window": [], "windspeed_max": [], "windspeed_mean": [], "wisc": [], "wisconet_active_st": [], "wisconet_biomass": [], "wisconet_g": [], "wisconet_servic": [], "wisconsin": 1, "work": [2, 5, 6], "workdir": [], "worker": 5, "worker_port": 6, "workflow": 0, "workload": 2, "world": 2, "wosc": 5, "write": 6, "written": 5, "wsgi": 2, "x_0": [], "xxx": [], "yang": 5, "year": [], "yellow": [], "yml": 0, "you": [5, 6], "your": [], "your_kei": [], "your_org": [], "your_ten": [], "yourself": 5, "yyi": [], "yyyi": [], "zeae": [], "zygot": 5, "zzz": []}, "titles": ["OpenLambda GitHub Pages \u2014 MyST Markdown Site", "Agricultural Forecasting API", "Applications", "OpenLambda Blog", "Hello, OpenLambda Blog", "OpenLambda", "Worker"], "titleterms": {"0": [], "1": 0, "2": [], "3": [], "4": [], "One": 0, "action": [], "ad": [], "addit": [], "agricultur": 1, "api": 1, "app": 2, "applic": 2, "architectur": [], "asgi": 2, "async": [], "avail": [], "biomass": [], "blog": [3, 4], "cach": [], "calcul": [], "changelog": [], "clone": 0, "collect": [], "complet": [], "compos": [], "concurr": [], "configur": 6, "consider": [], "content": [], "coordin": [], "copi": 0, "core": [], "corn": [], "current": [], "data": [], "date": [], "depend": [], "deploi": [2, 6], "deploy": [], "design": [], "develop": [], "directori": [], "diseas": [], "do": 0, "docker": [], "document": [], "effici": [], "ei": [], "enabl": [], "endpoint": [], "environ": [], "environment": [], "extern": [], "fastapi": 2, "featur": [], "file": 0, "flow": [], "forecast": 1, "format": [], "frogey": [], "further": 6, "geojson": [], "github": 0, "grai": [], "group": [], "handl": [], "hello": 4, "high": [], "how": 2, "ibm": [], "instal": [], "integr": [], "intellig": [], "journei": [], "just": 2, "kei": [], "leaf": [], "legaci": [], "level": [], "licens": 5, "local": 0, "markdown": 0, "mesonet": [], "metadata": [], "model": [], "modul": [], "mold": [], "more": [], "multi": [], "multipl": 6, "myst": 0, "new": [], "onc": 0, "openlambda": [0, 2, 3, 4, 5], "optim": [], "output": [], "overview": [1, 6], "page": 0, "per": 0, "perform": [], "pipelin": [], "prerequisit": [], "preview": 0, "process": [], "product": [], "public": 5, "read": 6, "relat": 5, "repo": 0, "request": [], "resourc": [], "respons": [], "risk": [], "rye": [], "seri": [], "servic": [], "setup": 0, "site": 0, "sourc": [], "soybean": [], "spot": [], "stack": [], "start": 6, "station": [], "strategi": [], "structur": 0, "suit": [], "system": [], "tabl": [], "tarspot": [], "technic": [], "technologi": [], "test": [], "thi": 0, "time": 0, "timezon": [], "tip": [], "troubleshoot": [], "u": 2, "v1": [], "v2": [], "variabl": [], "version": [], "want": 2, "weather": [], "white": [], "winter": [], "wisconet": [], "worker": 6}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"1. Clone the repo and copy these files in": [[0, "clone-the-repo-and-copy-these-files-in"]], "Agricultural Forecasting API": [[1, null]], "An Application Case Study: Forecasting Crop Disease with OpenLambda": [[4, null]], "Applications": [[2, null]], "Configuration": [[7, "configuration"]], "Deploying Multiple Workers": [[7, "deploying-multiple-workers"]], "File Structure": [[0, "file-structure"]], "Further Reading": [[7, "further-reading"]], "Hello, OpenLambda Blog": [[5, null]], "License": [[6, "license"]], "Local Preview": [[0, "local-preview"]], "One-Time Setup (do this once per repo)": [[0, "one-time-setup-do-this-once-per-repo"]], "OpenLambda": [[6, null]], "OpenLambda Blog": [[3, null]], "OpenLambda GitHub Pages \u2014 MyST Markdown Site": [[0, null]], "Overview": [[1, "overview"], [7, "overview"]], "Related Publications": [[6, "related-publications"]], "Starting the Worker": [[7, "starting-the-worker"]], "Want to deploy FastAPI apps on OpenLambda? Just ASGI us how.": [[2, "want-to-deploy-fastapi-apps-on-openlambda-just-asgi-us-how"]], "Worker": [[7, null]]}, "docnames": ["README", "applications/ag-forecasting-api", "applications/index", "blog/index", "blog/post/2026-05-18-ag-forecasting-case-study", "blog/post/2026-05-18-hello-world", "index", "worker"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["README.md", "applications/ag-forecasting-api.md", "applications/index.md", "blog/index.md", "blog/post/2026-05-18-ag-forecasting-case-study.md", "blog/post/2026-05-18-hello-world.md", "index.md", "worker.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 7], "0": [], "003663": [], "031": [], "05": [], "09": [], "10": [], "100": [], "1049": [], "11": [], "12": [], "1234": [], "14": [], "15": [], "16": 6, "17": 6, "18": [3, 6], "20": [], "2000": [], "2024": [], "2025": [], "2026": 3, "21": [], "24": 6, "28": [], "2878": [], "30": [], "31": [], "3250": [], "35": [], "366": [], "38": [], "404": [], "423": [], "43": [], "45": [], "4500": [], "4567": [], "5": [], "50": [], "6": [], "6h": [], "7": [], "7d": [], "8": [], "8000": [], "8080": 7, "85": [], "89": [], "9": [], "90": [], "92": [], "999": [], "A": [2, 7], "By": [], "For": 1, "In": [2, 4], "It": 7, "No": 7, "On": 2, "That": [], "The": [1, 2, 4, 6, 7], "To": [2, 7], "With": 6, "__init__": [], "_annotate_winter_rye_biomass": [], "_build": 0, "_build_daili": [], "_compute_winter_rye_biomass": [], "_config": 0, "_doi": [], "_fall": [], "_fetch_raw_hourli": [], "_run_pipelin": [], "_toc": 0, "_total": [], "about": 6, "abov": [], "aboveground": [], "absolut": [], "access": [], "accumul": [], "acquisit": [], "acr": [], "action": 0, "activ": [], "ad": 4, "adapt": [], "add": [0, 2, 3, 4], "address": [2, 7], "adjust": 2, "after": 7, "ag": 2, "ag_api": [], "ag_forecast": [], "ag_forecasting_api": 4, "ag_models_wrapp": [], "agforecast": 4, "aggreg": [], "agricultur": [2, 4], "agronom": [], "ahead": 2, "aiohttp": [], "air": [], "al": 6, "all": 0, "alongsid": 2, "alpin": [], "alreadi": 7, "also": [2, 6], "alten": [], "altn": [], "america": [], "an": [2, 3, 6], "analysi": [], "annot": [], "apach": 6, "api": [2, 4], "api_cach": [], "api_kei": [], "apotheci": [], "app": [], "app_v1": [], "appli": [], "applic": 3, "approach": [2, 6, 7], "ar": [2, 4, 6, 7], "arithmet": [], "arriv": 7, "asgi": [1, 4], "assess": [], "assumpt": [], "async": 2, "atc": 6, "authent": [], "author": 6, "auto": 0, "automat": 0, "avail": [], "averag": [], "avg": [], "await": [], "awar": [], "axi": [], "b_": [], "b_0": [], "back": 7, "backend": 7, "backward": [], "balanc": [6, 7], "base": [1, 2, 4, 6], "basi": 4, "basic": [], "batch": [], "becaus": [2, 4], "behind": 7, "believ": [2, 3, 4], "benefici": 2, "best": [3, 4], "better": 2, "between": 7, "bill": 2, "bin": 7, "binari": 7, "biomass_color": [], "biomass_lb_acr": [], "biomass_messag": [], "biomass_result": [], "bit": 6, "block": 2, "book": 0, "boss": [6, 7], "both": 2, "branch": [], "broader": [2, 4], "broadli": 2, "browser": 0, "build": [0, 2, 7], "built": 4, "bulk": [], "bundl": 0, "busi": [], "c": [], "cach": [], "calc": [], "calcul": [], "calculate_tarspot_risk": [], "calculate_winter_rye_biomass": [], "call": [4, 7], "caller": 7, "can": [2, 6, 7], "cap": [], "capabl": [], "caraza": [3, 4], "case": 3, "categori": [], "cd": 0, "cdn": [], "cdot": [], "central": [6, 7], "cercospora": [], "challeng": 4, "chang": 2, "chapter": [], "characterist": [], "check": [1, 7], "chicago": [], "choic": 2, "chunk": [], "citi": [], "class": [], "classif": [], "classifi": [], "client": [], "clone": [], "cloud comput": 6, "cluster": [6, 7], "cmd": [], "co": 2, "coeffici": [], "col": [], "cold": 7, "color": [], "columbia": [], "column": [], "com": 0, "combin": 1, "commit": 0, "compat": [], "compil": 4, "compon": 7, "comput": [2, 3, 4, 6], "compute_risks_in_parallel": [], "concern": 2, "concurr": 2, "conda": [], "config": 7, "configur": [], "confirm": [], "connect": [], "consolid": 2, "constant": [], "constraint": 2, "contact": [], "contain": [6, 7], "container": [], "content": 0, "context": [], "continu": 2, "contribut": 2, "convers": [], "convert": [], "coordin": 7, "copi": [], "core": 7, "corn": [], "could": 6, "counti": [], "cover": [], "coverag": [], "creat": [], "credenti": [], "crop": [1, 3], "ctrl": [], "cumsum": [], "cumul": [], "curl": 7, "current": [6, 7], "curv": [], "cycl": [], "dai": [], "daili": [], "damon": [], "dashboard": [], "data": [1, 2, 3, 4], "datafram": [], "dataframe_to_featurecollect": [], "date": [], "datetim": [], "dd": [], "decim": [], "decis": [], "deep": 3, "deeper": 2, "def": [], "default": 7, "definit": [], "degre": [], "demand": 2, "dens": [], "dep": 0, "depart": [3, 4], "depend": 2, "deploi": [0, 6], "deploy": [2, 3, 4, 7], "deprec": [], "describ": [4, 7], "descript": 7, "design": [2, 3, 4, 5], "detail": 6, "detect": 2, "dev": 2, "develop": [1, 4, 7], "dew": [], "dir": [], "direct": 4, "directori": 7, "discuss": [3, 5], "diseas": [1, 3], "disease_metadata": [], "distinguish": 2, "dive": 3, "django": 4, "doc": [], "docker": 7, "dockerfil": [], "document": [0, 1], "doit": [], "domain": [], "door": [2, 4], "drive": 2, "dry": [], "dsi": 4, "dst": [], "dual": [], "dure": [], "e": [], "each": 7, "earlier": 2, "ecosystem": [], "edu": [], "effect": [], "emb": [], "embed": [], "emerg": [], "enabl": [2, 6], "endpoint": 7, "enhanc": [], "ensembl": [], "enter": 1, "entir": [], "entri": [], "environ": [2, 4], "eros": [], "error": [], "establish": [], "estim": [], "et": 6, "etc": [], "evalu": [], "even": 4, "eventu": 6, "ever": [3, 4], "everi": [], "evolut": 2, "exampl": [], "example_callapi": [], "execut": 2, "expand": 2, "experi": [3, 5], "explor": 6, "export": [], "expos": 7, "extend": 2, "extract": [], "f": [], "fail": [], "fall": [], "fall_precip": [], "fall_start": [], "fallback": [], "far": 6, "farmer": [], "fastapi": [1, 4], "faster": [2, 6], "featur": [2, 3, 4], "featurecollect": [], "fetch": [], "fetch_all_measurements_async": [], "fetch_wisconet_biomass": [], "field": 7, "file": [6, 7], "fillna": [], "filter": [], "fit": [2, 6], "fix": [], "flask": 4, "follow": [], "forecast": [2, 3], "forecasting_d": [], "forklift": 6, "format": [], "formula": [], "forward": 7, "found": [], "four": 4, "frac": [], "framework": [], "friction": 2, "friendli": 2, "frogey": [], "frogeye_risk": [], "frogeye_risk_class": [], "from": [0, 2, 3, 7], "fromisoformat": [], "front": [6, 7], "function": [2, 4, 7], "fundament": 2, "fungu": [], "further": 2, "futur": 4, "g": [], "gdd": [], "gdd_0c": [], "gdd_sine": [], "gdd_total": [], "gener": [], "geojson": [], "geojson_adapt": [], "geojson_schema": [], "geometri": [], "geospati": 1, "get": [6, 7], "get_weather_with_risk": [], "gi": [], "git": 0, "github": [2, 4], "gitignor": 0, "global": [], "globe": [], "gls_risk": [], "gls_risk_class": [], "go": [6, 7], "goal": [3, 4, 6], "grai": [], "green": [], "grow": [3, 4], "growth": [], "guid": 7, "ha": [], "handl": [], "handler": [], "haproxi": 7, "hard": [], "harmon": [], "harter": [3, 4], "health": [], "healthcheck": [], "hello": 3, "help": [2, 3, 4], "helper": [], "hendrickson": 6, "here": [0, 1, 6], "high": [], "higher": 2, "histor": [], "histori": 2, "hod": [], "homepag": 0, "hope": 6, "horizont": 7, "host": [], "hotcloud": 6, "hour": [], "hourli": [], "html": 0, "http": [0, 6, 7], "human": [], "humid": [], "i": [1, 2, 3, 4, 6, 7], "ibm_api_kei": [], "ibm_servic": [], "icdcsw": 6, "id": [], "identifi": [3, 4], "idl": 2, "imag": 7, "implement": [2, 4, 6], "import": [], "improv": 2, "inact": [], "inch": [], "includ": 2, "incom": 7, "increment": 2, "independ": 7, "index": 0, "individu": [], "inflect": [], "influenc": 2, "info": [], "inform": [], "ingest": [], "initi": 6, "input": [], "insid": 7, "instal": 0, "institut": [1, 3, 4], "integr": [1, 2], "intellig": 1, "interact": [], "intercept": [], "interest": [3, 4], "interfac": 2, "interpol": [], "interpret": [], "interv": [], "invok": 6, "io": 0, "ipynb": [], "irrig": [], "issu": 2, "its": [1, 2, 4, 7], "jaim": 2, "jb": [], "json": 7, "jupyt": 0, "just": 6, "jwt": [], "k": [], "keep": 7, "kei": 7, "label": [], "lambda": [0, 1, 2, 6, 7], "larg": 6, "last": [], "lat": [], "latenc": 7, "latitud": [], "layer": [], "lb": [], "leaf": [], "lean": 6, "left": [], "let": 2, "librari": 6, "lifecycl": 7, "like": 2, "limit": [], "line": [], "lint": [], "linux": [6, 7], "linux contain": 6, "list": [], "listen": 7, "ll": [3, 5], "lng": [], "load": [6, 7], "load_stations_sync": [], "loadbalanc": [], "local": [6, 7], "localhost": 7, "locat": 2, "log": 7, "log_level": [], "log_output": 7, "logic": [], "login": 6, "logist": [], "logit": [], "long": 2, "longitud": [], "longstand": 2, "look": 2, "low": [], "lower": [], "m": 0, "madison": [1, 3, 4], "mai": 3, "main": 6, "maintain": [], "make": [3, 4, 6], "manag": [6, 7], "manipul": [], "manual": [6, 7], "map": [], "maria": [3, 4], "materi": [], "math": [], "math_help": [], "mathemat": [], "max": [], "maydi": [], "md": [0, 6], "mean": [], "measur": [], "merg": [], "merge_biomass": [], "merge_station_metadata": [], "merge_wisconet_biomass": [], "mesonet": [], "messag": [], "metadata_stations_": [], "method": [], "metric": [], "min": [], "minim": [2, 3, 4], "minut": 7, "mitig": [], "mm": [], "mode": 6, "model": [1, 2], "model_schema": [], "moder": [], "modern": 2, "modif": [3, 4], "moistur": [], "mold": [], "monitor": [], "month": [], "more": [0, 2, 6], "most": [3, 4], "mostli": 6, "mount": [], "mph": [], "multi": [1, 7], "multipl": 2, "multiprocess": [], "n": 7, "name": 7, "nation": [], "nativ": 2, "natur": 2, "need": 2, "network": [], "new": [2, 3, 4, 5, 6], "next": 1, "nginx": 7, "nighttim": [], "noaa": [], "node": [6, 7], "non": [], "normal": [], "note": [3, 5], "notebook": [], "now": 1, "num_work": [], "numer": [], "numpi": [], "o": 2, "oak": 6, "observ": [], "obtain": [], "off": [], "ol": [2, 3, 4], "old": [], "onboard": 2, "onc": [], "one": 7, "open": [0, 1, 2, 4, 6], "openapi": [], "openlambda": [1, 7], "oper": 7, "opportunist": 2, "optim": [6, 7], "option": [2, 7], "orchestr": [], "org_id": [], "organ": [], "origin": [3, 4], "oro": [3, 4], "our": [2, 3, 4], "output": [], "overhead": 2, "packag": [4, 6], "pain": [3, 4], "panda": [], "paper": 7, "parallel": [], "paramet": [], "pars": [], "pass": 7, "path": 7, "pattern": 2, "payload": 7, "pd": [], "peak": [], "per": 7, "perform": [3, 5], "period": 7, "permiss": [], "persist": 2, "pf": [], "phase": 1, "phyllachora": [], "pick": [3, 4], "pip": [0, 4], "pipelin": [], "pipsqueak": 6, "place": 7, "plan": [], "plant": [], "plant_date_obj": [], "plant_doi": [], "planting_d": [], "platform": 2, "pleas": 1, "plu": [], "point": [3, 4], "pool": [2, 6], "popular": 4, "port": [2, 3, 4, 7], "post": [2, 4, 7], "practic": 2, "pre": [], "precip": [], "precip1hour_sum": [], "precip_daili": [], "precip_fal": [], "precipit": [], "pred": [], "predict": [], "premium": [], "prep": [], "presenc": [], "present": 7, "previou": [], "primari": 6, "print": 7, "prob": [], "probabl": [], "problem": [], "process": [2, 7], "product": 6, "profession": [], "program": 4, "project": [3, 6], "properti": [], "provid": 1, "provis": [6, 7], "proxi": [], "public": [], "pull": 7, "purpos": [], "push": 0, "put": 6, "py": [], "py_compil": [], "pydant": [], "pylint": [], "python": [0, 2, 4], "pythonpath": [], "queri": [], "question": 2, "quickstart": 7, "r": 0, "r3": [], "rainfal": [], "rang": [2, 4], "rapid": [6, 7], "rare": [], "rate": [], "rather": 2, "raw": [], "re": [], "read": 6, "readabl": [], "readi": [], "real": 2, "rebuild": [], "recent": 4, "recommend": 7, "redeploi": [], "redoc": [], "reduc": [2, 7], "redund": [], "refer": 1, "refresh": [], "regener": 2, "region": [], "registri": 7, "regress": [], "rel": [], "relativehumidity_max": [], "relativehumidity_min": [], "releas": [3, 5], "relev": [], "reli": 2, "reload": [], "remov": 2, "replac": [], "repo": 7, "repositori": [], "request": [6, 7], "requir": [0, 2, 7], "research": 7, "residu": [], "resolut": [], "respect": 7, "respons": [6, 7], "rest": 4, "result": [2, 7], "result_typ": [], "retri": [], "retriev": [], "return": 7, "reus": 2, "revers": [], "rh": [], "risk": 1, "risk_dai": [], "risk_df": [], "risk_model": [], "risk_processor": [], "roll": [], "rolling_mean": [], "root": [0, 7], "rout": 7, "router": [], "row": [], "rule": [], "run": [6, 7], "runlambda": 7, "runtim": 2, "rye_biomass": [], "rye_daili": [], "saascor": [], "same": [], "sandbox": 7, "save": [], "scale": 7, "schema": [], "scienc": [1, 3, 4], "scientif": [], "sclerotinia": [], "sclerotiorum": [], "score": [], "script": [], "see": 6, "select": 4, "sep": [], "sequenti": [], "seri": [], "serv": 2, "server": [2, 7], "serverless": [2, 3, 4, 6, 7], "servic": [1, 2, 6], "set": [0, 2, 3, 4], "setup": 7, "shape": 2, "share": [3, 5], "shift": [], "shm": 2, "short": 7, "should": [], "show": [], "side": [2, 7], "sidebar": [], "similar": [3, 4, 7], "simpler": 4, "sinc": [], "sine": [], "singl": [2, 6, 7], "site": [], "situat": 2, "slim": [], "smaller": [], "so": [4, 6], "sock": [6, 7], "soil": [], "sojina": [], "sourc": 1, "south": [], "soybean": [], "space": [3, 5], "specif": [], "specifi": [], "speed": [], "spiritu": 4, "spot": [], "stage": [], "standalon": 7, "standard": 7, "start": [2, 4, 6], "startup": 7, "state": 2, "stateless": [2, 7], "statewid": [], "station_data_": [], "station_id": [], "station_measurements_cach": [], "station_nam": [], "station_timezon": [], "statu": 7, "stdlib": [], "stdout": 7, "step": [], "still": [], "str": [], "structur": [], "studi": 3, "sub": [], "subsequ": 7, "successor": 4, "suitabl": 6, "sum": [], "summari": [], "support": [2, 3, 4], "sure": [], "surfac": 2, "swagger": [], "synchron": 2, "syntax": [], "system": 6, "t": [3, 4], "tabl": 0, "tabular": [], "take": 6, "tar": [], "target": 2, "tarspot": [], "tarspot_risk": [], "tarspot_risk_class": [], "task": [6, 7], "team": 3, "technic": [0, 3], "technologi": 1, "temp": [], "temperatur": [], "temperature_max": [], "temperature_max_c": [], "temperature_mean": [], "temperature_mean_c": [], "temperature_min": [], "temperature_min_c": [], "temperaturedewpoint_max": [], "temperaturedewpoint_min": [], "tenant": [], "tenant_id": [], "termin": [], "termination_d": [], "text": [], "than": 2, "them": [3, 4, 6, 7], "thi": [2, 3, 4, 5, 6], "those": 2, "threshold": [], "through": 1, "ti": [], "tier": [], "time": 2, "time_seri": [], "timeout": [], "timestamp": [], "timetupl": [], "titl": 6, "tl": [], "tm_ydai": [], "token": [], "tool": 1, "tornado": 2, "total": [], "toward": [3, 4], "traefik": [], "transit": [], "tree": 6, "true": [], "try": [3, 4], "ttl": [], "turn": 4, "two": [], "txt": 0, "tyler": [3, 4], "type": [], "u": [3, 4], "ui": [], "under": [6, 7], "underli": 2, "unifi": [], "unit": 2, "univers": [1, 3, 4], "until": 7, "updat": [], "url": 7, "us": [0, 1, 2, 3, 4, 5, 6], "usag": [], "user": [], "utc": [], "util": 2, "uvicorn": [], "uw": 4, "v10": [], "v2": [], "valid": 1, "variabl": [2, 4], "variant": [], "venu": 6, "venv": [], "verbos": [], "verifi": 7, "via": 7, "view": [], "virtual": [], "visibl": 2, "vm": 6, "w": 7, "wai": [3, 4], "wait": [2, 7], "warm": [2, 7], "we": [2, 3, 4, 5, 6], "weather": 1, "web": [2, 4], "welcom": [3, 5], "well": 6, "weren": [3, 4], "wet": [], "when": [2, 7], "where": [2, 6, 7], "whether": [2, 7], "which": [2, 4], "white": [], "whitemold_dry_risk": [], "whitemold_dry_risk_class": [], "wi": [], "wide": [2, 7], "wind": [], "window": [], "windspeed_max": [], "windspeed_mean": [], "wisc": [], "wisconet_active_st": [], "wisconet_biomass": [], "wisconet_g": [], "wisconet_servic": [], "wisconsin": [1, 3, 4], "work": [2, 3, 4, 6, 7], "workdir": [], "worker": 6, "worker_port": 7, "workflow": 0, "workload": 2, "world": 2, "wosc": 6, "write": 7, "written": 6, "wsgi": [2, 4], "x_0": [], "xxx": [], "yang": 6, "year": [], "yellow": [], "yml": 0, "you": [6, 7], "your": [], "your_kei": [], "your_org": [], "your_ten": [], "yourself": 6, "yyi": [], "yyyi": [], "zeae": [], "zygot": 6, "zzz": []}, "titles": ["OpenLambda GitHub Pages \u2014 MyST Markdown Site", "Agricultural Forecasting API", "Applications", "OpenLambda Blog", "An Application Case Study: Forecasting Crop Disease with OpenLambda", "Hello, OpenLambda Blog", "OpenLambda", "Worker"], "titleterms": {"0": [], "1": 0, "2": [], "3": [], "4": [], "One": 0, "action": [], "ad": [], "addit": [], "agricultur": 1, "an": 4, "api": 1, "app": 2, "applic": [2, 4], "architectur": [], "asgi": 2, "async": [], "avail": [], "biomass": [], "blog": [3, 5], "cach": [], "calcul": [], "case": 4, "changelog": [], "clone": 0, "collect": [], "complet": [], "compos": [], "concurr": [], "configur": 7, "consider": [], "content": [], "coordin": [], "copi": 0, "core": [], "corn": [], "crop": 4, "current": [], "data": [], "date": [], "depend": [], "deploi": [2, 7], "deploy": [], "design": [], "develop": [], "directori": [], "diseas": 4, "do": 0, "docker": [], "document": [], "effici": [], "ei": [], "enabl": [], "endpoint": [], "environ": [], "environment": [], "extern": [], "fastapi": 2, "featur": [], "file": 0, "flow": [], "forecast": [1, 4], "format": [], "frogey": [], "further": 7, "geojson": [], "github": 0, "grai": [], "group": [], "handl": [], "hello": 5, "high": [], "how": 2, "ibm": [], "instal": [], "integr": [], "intellig": [], "journei": [], "just": 2, "kei": [], "leaf": [], "legaci": [], "level": [], "licens": 6, "local": 0, "markdown": 0, "mesonet": [], "metadata": [], "model": [], "modul": [], "mold": [], "more": [], "multi": [], "multipl": 7, "myst": 0, "new": [], "onc": 0, "openlambda": [0, 2, 3, 4, 5, 6], "optim": [], "output": [], "overview": [1, 7], "page": 0, "per": 0, "perform": [], "pipelin": [], "prerequisit": [], "preview": 0, "process": [], "product": [], "public": 6, "read": 7, "relat": 6, "repo": 0, "request": [], "resourc": [], "respons": [], "risk": [], "rye": [], "seri": [], "servic": [], "setup": 0, "site": 0, "sourc": [], "soybean": [], "spot": [], "stack": [], "start": 7, "station": [], "strategi": [], "structur": 0, "studi": 4, "suit": [], "system": [], "tabl": [], "tarspot": [], "technic": [], "technologi": [], "test": [], "thi": 0, "time": 0, "timezon": [], "tip": [], "troubleshoot": [], "u": 2, "v1": [], "v2": [], "variabl": [], "version": [], "want": 2, "weather": [], "white": [], "winter": [], "wisconet": [], "worker": 7}})
\ No newline at end of file
diff --git a/_toc.yml b/_toc.yml
index f55657e..79dea18 100644
--- a/_toc.yml
+++ b/_toc.yml
@@ -12,4 +12,5 @@ chapters:
- file: blog/index
title: Blog
sections:
- - glob: blog/posts/*
\ No newline at end of file
+ - file: blog/post/2026-05-18-hello-world
+ - file: blog/post/2026-05-18-agforecast-case-study
\ No newline at end of file
diff --git a/blog/post/2026-05-18-hello-world.md b/blog/post/2026-05-18-hello-world.md
new file mode 100644
index 0000000..7a403e3
--- /dev/null
+++ b/blog/post/2026-05-18-hello-world.md
@@ -0,0 +1,13 @@
+---
+blogpost: true
+date: 2026-05-18
+author: open-lambda
+category: Releases
+tags: announcement, openlambda
+language: en
+---
+
+# Hello, OpenLambda Blog
+
+Welcome to the new OpenLambda blog. We'll use this space to share release
+notes, performance experiments, and design discussions.
\ No newline at end of file
-
+
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + + + 2026-05-18 + + + +
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
diff --git a/_build/html/blog/author/openlambda-team/atom.xml b/_build/html/blog/author/openlambda-team/atom.xml
index 60a39f8..8bc17fc 100644
--- a/_build/html/blog/author/openlambda-team/atom.xml
+++ b/_build/html/blog/author/openlambda-team/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts by OpenLambda Team
- 2026-05-18T20:49:10.782865+00:00
+ 2026-05-18T21:40:18.241543+00:00
ABlog
diff --git a/_build/html/blog/author/tyler-caraza-harter.html b/_build/html/blog/author/tyler-caraza-harter.html
new file mode 100644
index 0000000..e1b8ada
--- /dev/null
+++ b/_build/html/blog/author/tyler-caraza-harter.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts by Tyler Caraza-Harter — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts by Tyler Caraza-Harter
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/author/tyler-caraza-harter/atom.xml b/_build/html/blog/author/tyler-caraza-harter/atom.xml
new file mode 100644
index 0000000..934c222
--- /dev/null
+++ b/_build/html/blog/author/tyler-caraza-harter/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts by Tyler Caraza-Harter
+ 2026-05-18T21:40:18.240305+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/author"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/category.html b/_build/html/blog/category.html
index 16f1f79..9dc07aa 100644
--- a/_build/html/blog/category.html
+++ b/_build/html/blog/category.html
@@ -155,6 +155,12 @@
+
+ + + + + Posts by Tyler Caraza-Harter + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
+
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -352,6 +378,25 @@
+
+
+ Posts in
+ Case Studies
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/category/case-studies/atom.xml b/_build/html/blog/category/case-studies/atom.xml
new file mode 100644
index 0000000..133aedc
--- /dev/null
+++ b/_build/html/blog/category/case-studies/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts in Case Studies
+ 2026-05-18T21:40:18.244931+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/category"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/category/releases.html b/_build/html/blog/category/releases.html
index 8f65cf3..edbc843 100644
--- a/_build/html/blog/category/releases.html
+++ b/_build/html/blog/category/releases.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/category/releases/atom.xml b/_build/html/blog/category/releases/atom.xml
index 27ec46d..674510a 100644
--- a/_build/html/blog/category/releases/atom.xml
+++ b/_build/html/blog/category/releases/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in Releases
- 2026-05-18T20:49:10.785174+00:00
+ 2026-05-18T21:40:18.246122+00:00
ABlog
diff --git a/_build/html/blog/drafts.html b/_build/html/blog/drafts.html
index c2ea681..6760eb4 100644
--- a/_build/html/blog/drafts.html
+++ b/_build/html/blog/drafts.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/index.html b/_build/html/blog/index.html
index b634f81..c122411 100644
--- a/_build/html/blog/index.html
+++ b/_build/html/blog/index.html
@@ -60,6 +60,7 @@
+
@@ -155,6 +156,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +175,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +209,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +228,7 @@
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
+An Application Case Study: Forecasting Crop Disease with OpenLambda — Maria Oros, Tyler Caraza-Harter, May 18, 2026
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+
+
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
Hello, OpenLambda Blog — OpenLambda Team, May 18, 2026
Welcome to the new OpenLambda blog. We’ll use this space to share release
notes, performance experiments, and design discussions.
@@ -425,6 +495,15 @@
OpenLambda BlogAgricultural Forecasting API
+
+
+
+
diff --git a/_build/html/blog/language.html b/_build/html/blog/language.html
index dec5673..81f0e44 100644
--- a/_build/html/blog/language.html
+++ b/_build/html/blog/language.html
@@ -155,6 +155,12 @@
+ -
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/language/en.html b/_build/html/blog/language/en.html
index 23c0b6e..7b953f5 100644
--- a/_build/html/blog/language/en.html
+++ b/_build/html/blog/language/en.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/language/en/atom.xml b/_build/html/blog/language/en/atom.xml
index 6a6762f..b96fdbb 100644
--- a/_build/html/blog/language/en/atom.xml
+++ b/_build/html/blog/language/en/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in en
- 2026-05-18T20:49:10.784103+00:00
+ 2026-05-18T21:40:18.242715+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/language"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
new file mode 100644
index 0000000..6c35ed3
--- /dev/null
+++ b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+An Application Case Study: Forecasting Crop Disease with OpenLambda#
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+Recently, we selected an agricultural forecasting application (AgForecast), developed by the Data Science Institute at UW–Madison, to port to OpenLambda: UW-Madison-DSI/ag_forecasting_api. AgForecast is an interesting case study, because it implements its REST API using FastAPI, which in turn uses ASGI, the so-called “spiritual successor” to WSGI, which we recently started supporting in OpenLambda. WSGI is the basis for popular Python web-programming packages such as Django and Flask; new ASGI support opens the door to an even broader range of applications.
+In this post, we describe the challenges of porting AgForecast to OL, and four new features we added to OL to make deployment of similar applications in the future simpler. The features are built-in ASGI support, direct GitHub-to-OL deployments, OL function environment variables, and OL-based pip compilation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hello, OpenLambda Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/post/2026-05-18-hello-world.html b/_build/html/blog/post/2026-05-18-hello-world.html
index bb9539d..4359895 100644
--- a/_build/html/blog/post/2026-05-18-hello-world.html
+++ b/_build/html/blog/post/2026-05-18-hello-world.html
@@ -59,7 +59,8 @@
-
+
+
@@ -213,6 +212,12 @@
@@ -226,11 +231,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -244,6 +265,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -259,7 +284,7 @@
@@ -438,6 +463,13 @@ Hello, OpenLambda Blog
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
@@ -458,6 +490,15 @@ Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
- Agricultural Forecasting API
-- Blog
+- Blog
diff --git a/_build/html/index.html b/_build/html/index.html
index 1a706c3..9d98970 100644
--- a/_build/html/index.html
+++ b/_build/html/index.html
@@ -189,7 +189,8 @@
- Agricultural Forecasting API
-
- Blog
+- Blog
diff --git a/_build/html/objects.inv b/_build/html/objects.inv
index 95991da..b7f1890 100644
--- a/_build/html/objects.inv
+++ b/_build/html/objects.inv
@@ -2,5 +2,4 @@
# Project: Project name not set
# Version:
# The remainder of this file is compressed using zlib.
-xڅRAN0+6qJDDĪc[&nI͚ݝuo/pPx`$eR@+p}]R\\ºU3Bʔx8(*zW%UYcVg?sRHH,~@\o!&fG^;ւgq%m@rˈu\h2C2DSǀ(qIYzn$Qmdss69p?^ihTtPTXJu:#KjW(9T[FLV7
-1#Ѿ
\ No newline at end of file
+xڭSKN0O% JDTĪkG$nӴJ+5of=[<;Lb4Hfqe839- 3^ #`|:1kqq /MJ¤$@PDӭ:A;!ԑׇyMu}:֦&οP+]TGI`hôUmilY̴.QZj;Tb}E,>_}A
\ No newline at end of file
diff --git a/_build/html/search.html b/_build/html/search.html
index e0fcd45..610a244 100644
--- a/_build/html/search.html
+++ b/_build/html/search.html
@@ -187,7 +187,8 @@
- Agricultural Forecasting API
-
- Blog
+- Blog
diff --git a/_build/html/searchindex.js b/_build/html/searchindex.js
index 4df1dfc..0fb07af 100644
--- a/_build/html/searchindex.js
+++ b/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"1. Clone the repo and copy these files in": [[0, "clone-the-repo-and-copy-these-files-in"]], "Agricultural Forecasting API": [[1, null]], "Applications": [[2, null]], "Configuration": [[6, "configuration"]], "Deploying Multiple Workers": [[6, "deploying-multiple-workers"]], "File Structure": [[0, "file-structure"]], "Further Reading": [[6, "further-reading"]], "Hello, OpenLambda Blog": [[4, null]], "License": [[5, "license"]], "Local Preview": [[0, "local-preview"]], "One-Time Setup (do this once per repo)": [[0, "one-time-setup-do-this-once-per-repo"]], "OpenLambda": [[5, null]], "OpenLambda Blog": [[3, null]], "OpenLambda GitHub Pages \u2014 MyST Markdown Site": [[0, null]], "Overview": [[1, "overview"], [6, "overview"]], "Related Publications": [[5, "related-publications"]], "Starting the Worker": [[6, "starting-the-worker"]], "Want to deploy FastAPI apps on OpenLambda? Just ASGI us how.": [[2, "want-to-deploy-fastapi-apps-on-openlambda-just-asgi-us-how"]], "Worker": [[6, null]]}, "docnames": ["README", "applications/ag-forecasting-api", "applications/index", "blog/index", "blog/post/2026-05-18-hello-world", "index", "worker"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["README.md", "applications/ag-forecasting-api.md", "applications/index.md", "blog/index.md", "blog/post/2026-05-18-hello-world.md", "index.md", "worker.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 6], "0": [], "003663": [], "031": [], "05": [], "09": [], "10": [], "100": [], "1049": [], "11": [], "12": [], "1234": [], "14": [], "15": [], "16": 5, "17": 5, "18": [3, 5], "20": [], "2000": [], "2024": [], "2025": [], "2026": 3, "21": [], "24": 5, "28": [], "2878": [], "30": [], "31": [], "3250": [], "35": [], "366": [], "38": [], "404": [], "423": [], "43": [], "45": [], "4500": [], "4567": [], "5": [], "50": [], "6": [], "6h": [], "7": [], "7d": [], "8": [], "8000": [], "8080": 6, "85": [], "89": [], "9": [], "90": [], "92": [], "999": [], "A": [2, 6], "By": [], "For": 1, "In": 2, "It": 6, "No": 6, "On": 2, "That": [], "The": [1, 2, 5, 6], "To": [2, 6], "With": 5, "__init__": [], "_annotate_winter_rye_biomass": [], "_build": 0, "_build_daili": [], "_compute_winter_rye_biomass": [], "_config": 0, "_doi": [], "_fall": [], "_fetch_raw_hourli": [], "_run_pipelin": [], "_toc": 0, "_total": [], "about": 5, "abov": [], "aboveground": [], "absolut": [], "access": [], "accumul": [], "acquisit": [], "acr": [], "action": 0, "activ": [], "ad": [], "adapt": [], "add": [0, 2], "address": [2, 6], "adjust": 2, "after": 6, "ag": 2, "ag_api": [], "ag_forecast": [], "ag_forecasting_api": [], "ag_models_wrapp": [], "aggreg": [], "agricultur": 2, "agronom": [], "ahead": 2, "aiohttp": [], "air": [], "al": 5, "all": 0, "alongsid": 2, "alpin": [], "alreadi": 6, "also": [2, 5], "alten": [], "altn": [], "america": [], "an": [2, 5], "analysi": [], "annot": [], "apach": 5, "api": 2, "api_cach": [], "api_kei": [], "apotheci": [], "app": [], "app_v1": [], "appli": [], "applic": [], "approach": [2, 5, 6], "ar": [2, 5, 6], "arithmet": [], "arriv": 6, "asgi": 1, "assess": [], "assumpt": [], "async": 2, "atc": 5, "authent": [], "author": 5, "auto": 0, "automat": 0, "avail": [], "averag": [], "avg": [], "await": [], "awar": [], "axi": [], "b_": [], "b_0": [], "back": 6, "backend": 6, "backward": [], "balanc": [5, 6], "base": [1, 2, 5], "basic": [], "batch": [], "becaus": 2, "behind": 6, "believ": 2, "benefici": 2, "better": 2, "between": 6, "bill": 2, "bin": 6, "binari": 6, "biomass_color": [], "biomass_lb_acr": [], "biomass_messag": [], "biomass_result": [], "bit": 5, "block": 2, "book": 0, "boss": [5, 6], "both": 2, "branch": [], "broader": 2, "broadli": 2, "browser": 0, "build": [0, 2, 6], "built": [], "bulk": [], "bundl": 0, "busi": [], "c": [], "cach": [], "calc": [], "calcul": [], "calculate_tarspot_risk": [], "calculate_winter_rye_biomass": [], "call": 6, "caller": 6, "can": [2, 5, 6], "cap": [], "capabl": [], "case": [], "categori": [], "cd": 0, "cdn": [], "cdot": [], "central": [5, 6], "cercospora": [], "chang": 2, "chapter": [], "characterist": [], "check": [1, 6], "chicago": [], "choic": 2, "chunk": [], "citi": [], "class": [], "classif": [], "classifi": [], "client": [], "clone": [], "cloud comput": 5, "cluster": [5, 6], "cmd": [], "co": 2, "coeffici": [], "col": [], "cold": 6, "color": [], "columbia": [], "column": [], "com": 0, "combin": 1, "commit": 0, "compat": [], "compon": 6, "comput": [2, 5], "compute_risks_in_parallel": [], "concern": 2, "concurr": 2, "conda": [], "config": 6, "configur": [], "confirm": [], "connect": [], "consolid": 2, "constant": [], "constraint": 2, "contact": [], "contain": [5, 6], "container": [], "content": 0, "context": [], "continu": 2, "contribut": 2, "convers": [], "convert": [], "coordin": 6, "copi": [], "core": 6, "corn": [], "could": 5, "counti": [], "cover": [], "coverag": [], "creat": [], "credenti": [], "crop": 1, "ctrl": [], "cumsum": [], "cumul": [], "curl": 6, "current": [5, 6], "curv": [], "cycl": [], "dai": [], "daili": [], "damon": [], "dashboard": [], "data": [1, 2], "datafram": [], "dataframe_to_featurecollect": [], "date": [], "datetim": [], "dd": [], "decim": [], "decis": [], "deep": 3, "deeper": 2, "def": [], "default": 6, "definit": [], "degre": [], "demand": 2, "dens": [], "dep": 0, "depend": 2, "deploi": [0, 5], "deploy": [2, 6], "deprec": [], "describ": 6, "descript": 6, "design": [2, 3, 4], "detail": 5, "detect": 2, "dev": 2, "develop": [1, 6], "dew": [], "dir": [], "direct": [], "directori": 6, "discuss": [3, 4], "diseas": 1, "disease_metadata": [], "distinguish": 2, "dive": 3, "doc": [], "docker": 6, "dockerfil": [], "document": [0, 1], "doit": [], "domain": [], "door": 2, "drive": 2, "dry": [], "dsi": [], "dst": [], "dual": [], "dure": [], "e": [], "each": 6, "earlier": 2, "ecosystem": [], "edu": [], "effect": [], "emb": [], "embed": [], "emerg": [], "enabl": [2, 5], "endpoint": 6, "enhanc": [], "ensembl": [], "enter": 1, "entir": [], "entri": [], "environ": 2, "eros": [], "error": [], "establish": [], "estim": [], "et": 5, "etc": [], "evalu": [], "eventu": 5, "everi": [], "evolut": 2, "exampl": [], "example_callapi": [], "execut": 2, "expand": 2, "experi": [3, 4], "explor": 5, "export": [], "expos": 6, "extend": 2, "extract": [], "f": [], "fail": [], "fall": [], "fall_precip": [], "fall_start": [], "fallback": [], "far": 5, "farmer": [], "fastapi": 1, "faster": [2, 5], "featur": 2, "featurecollect": [], "fetch": [], "fetch_all_measurements_async": [], "fetch_wisconet_biomass": [], "field": 6, "file": [5, 6], "fillna": [], "filter": [], "fit": [2, 5], "fix": [], "follow": [], "forecast": 2, "forecasting_d": [], "forklift": 5, "format": [], "formula": [], "forward": 6, "found": [], "four": [], "frac": [], "framework": [], "friction": 2, "friendli": 2, "frogey": [], "frogeye_risk": [], "frogeye_risk_class": [], "from": [0, 2, 3, 6], "fromisoformat": [], "front": [5, 6], "function": [2, 6], "fundament": 2, "fungu": [], "further": 2, "g": [], "gdd": [], "gdd_0c": [], "gdd_sine": [], "gdd_total": [], "gener": [], "geojson": [], "geojson_adapt": [], "geojson_schema": [], "geometri": [], "geospati": 1, "get": [5, 6], "get_weather_with_risk": [], "gi": [], "git": 0, "github": 2, "gitignor": 0, "global": [], "globe": [], "gls_risk": [], "gls_risk_class": [], "go": [5, 6], "goal": 5, "grai": [], "green": [], "grow": [], "growth": [], "guid": 6, "ha": [], "handl": [], "handler": [], "haproxi": 6, "hard": [], "harmon": [], "health": [], "healthcheck": [], "hello": 3, "help": 2, "helper": [], "hendrickson": 5, "here": [0, 1, 5], "high": [], "higher": 2, "histor": [], "histori": 2, "hod": [], "homepag": 0, "hope": 5, "horizont": 6, "host": [], "hotcloud": 5, "hour": [], "hourli": [], "html": 0, "http": [0, 5, 6], "human": [], "humid": [], "i": [1, 2, 5, 6], "ibm_api_kei": [], "ibm_servic": [], "icdcsw": 5, "id": [], "identifi": [], "idl": 2, "imag": 6, "implement": [2, 5], "import": [], "improv": 2, "inact": [], "inch": [], "includ": 2, "incom": 6, "increment": 2, "independ": 6, "index": 0, "individu": [], "inflect": [], "influenc": 2, "info": [], "inform": [], "ingest": [], "initi": 5, "input": [], "insid": 6, "instal": 0, "institut": 1, "integr": [1, 2], "intellig": 1, "interact": [], "intercept": [], "interfac": 2, "interpol": [], "interpret": [], "interv": [], "invok": 5, "io": 0, "ipynb": [], "irrig": [], "issu": 2, "its": [1, 2, 6], "jaim": 2, "jb": [], "json": 6, "jupyt": 0, "just": 5, "jwt": [], "k": [], "keep": 6, "kei": 6, "label": [], "lambda": [0, 1, 2, 5, 6], "larg": 5, "last": [], "lat": [], "latenc": 6, "latitud": [], "layer": [], "lb": [], "leaf": [], "lean": 5, "left": [], "let": 2, "librari": 5, "lifecycl": 6, "like": 2, "limit": [], "line": [], "lint": [], "linux": [5, 6], "linux contain": 5, "list": [], "listen": 6, "ll": [3, 4], "lng": [], "load": [5, 6], "load_stations_sync": [], "loadbalanc": [], "local": [5, 6], "localhost": 6, "locat": 2, "log": 6, "log_level": [], "log_output": 6, "logic": [], "login": 5, "logist": [], "logit": [], "long": 2, "longitud": [], "longstand": 2, "look": 2, "low": [], "lower": [], "m": 0, "madison": 1, "mai": 3, "main": 5, "maintain": [], "make": 5, "manag": [5, 6], "manipul": [], "manual": [5, 6], "map": [], "materi": [], "math": [], "math_help": [], "mathemat": [], "max": [], "maydi": [], "md": [0, 5], "mean": [], "measur": [], "merg": [], "merge_biomass": [], "merge_station_metadata": [], "merge_wisconet_biomass": [], "mesonet": [], "messag": [], "metadata_stations_": [], "method": [], "metric": [], "min": [], "minim": 2, "minut": 6, "mitig": [], "mm": [], "mode": 5, "model": [1, 2], "model_schema": [], "moder": [], "modern": 2, "moistur": [], "mold": [], "monitor": [], "month": [], "more": [0, 2, 5], "mostli": 5, "mount": [], "mph": [], "multi": [1, 6], "multipl": 2, "multiprocess": [], "n": 6, "name": 6, "nation": [], "nativ": 2, "natur": 2, "need": 2, "network": [], "new": [2, 3, 4, 5], "next": 1, "nginx": 6, "nighttim": [], "noaa": [], "node": [5, 6], "non": [], "normal": [], "note": [3, 4], "notebook": [], "now": 1, "num_work": [], "numer": [], "numpi": [], "o": 2, "oak": 5, "observ": [], "obtain": [], "off": [], "ol": 2, "old": [], "onboard": 2, "onc": [], "one": 6, "open": [0, 1, 2, 5], "openapi": [], "openlambda": [1, 6], "oper": 6, "opportunist": 2, "optim": [5, 6], "option": [2, 6], "orchestr": [], "org_id": [], "organ": [], "our": 2, "output": [], "overhead": 2, "packag": 5, "panda": [], "paper": 6, "parallel": [], "paramet": [], "pars": [], "pass": 6, "path": 6, "pattern": 2, "payload": 6, "pd": [], "peak": [], "per": 6, "perform": [3, 4], "period": 6, "permiss": [], "persist": 2, "pf": [], "phase": 1, "phyllachora": [], "pip": 0, "pipelin": [], "pipsqueak": 5, "place": 6, "plan": [], "plant": [], "plant_date_obj": [], "plant_doi": [], "planting_d": [], "platform": 2, "pleas": 1, "plu": [], "point": [], "pool": [2, 5], "port": [2, 6], "post": [2, 6], "practic": 2, "pre": [], "precip": [], "precip1hour_sum": [], "precip_daili": [], "precip_fal": [], "precipit": [], "pred": [], "predict": [], "premium": [], "prep": [], "presenc": [], "present": 6, "previou": [], "primari": 5, "print": 6, "prob": [], "probabl": [], "problem": [], "process": [2, 6], "product": 5, "profession": [], "project": [3, 5], "properti": [], "provid": 1, "provis": [5, 6], "proxi": [], "public": [], "pull": 6, "purpos": [], "push": 0, "put": 5, "py": [], "py_compil": [], "pydant": [], "pylint": [], "python": [0, 2], "pythonpath": [], "queri": [], "question": 2, "quickstart": 6, "r": 0, "r3": [], "rainfal": [], "rang": 2, "rapid": [5, 6], "rare": [], "rate": [], "rather": 2, "raw": [], "re": [], "read": 5, "readabl": [], "readi": [], "real": 2, "rebuild": [], "recommend": 6, "redeploi": [], "redoc": [], "reduc": [2, 6], "redund": [], "refer": 1, "refresh": [], "regener": 2, "region": [], "registri": 6, "regress": [], "rel": [], "relativehumidity_max": [], "relativehumidity_min": [], "releas": [3, 4], "relev": [], "reli": 2, "reload": [], "remov": 2, "replac": [], "repo": 6, "repositori": [], "request": [5, 6], "requir": [0, 2, 6], "research": 6, "residu": [], "resolut": [], "respect": 6, "respons": [5, 6], "rest": [], "result": [2, 6], "result_typ": [], "retri": [], "retriev": [], "return": 6, "reus": 2, "revers": [], "rh": [], "risk": 1, "risk_dai": [], "risk_df": [], "risk_model": [], "risk_processor": [], "roll": [], "rolling_mean": [], "root": [0, 6], "rout": 6, "router": [], "row": [], "rule": [], "run": [5, 6], "runlambda": 6, "runtim": 2, "rye_biomass": [], "rye_daili": [], "saascor": [], "same": [], "sandbox": 6, "save": [], "scale": 6, "schema": [], "scienc": 1, "scientif": [], "sclerotinia": [], "sclerotiorum": [], "score": [], "script": [], "see": 5, "select": [], "sep": [], "sequenti": [], "seri": [], "serv": 2, "server": [2, 6], "serverless": [2, 5, 6], "servic": [1, 2, 5], "set": [0, 2], "setup": 6, "shape": 2, "share": [3, 4], "shift": [], "shm": 2, "short": 6, "should": [], "show": [], "side": [2, 6], "sidebar": [], "similar": 6, "sinc": [], "sine": [], "singl": [2, 5, 6], "site": [], "situat": 2, "slim": [], "smaller": [], "so": 5, "sock": [5, 6], "soil": [], "sojina": [], "sourc": 1, "south": [], "soybean": [], "space": [3, 4], "specif": [], "specifi": [], "speed": [], "spot": [], "stage": [], "standalon": 6, "standard": 6, "start": [2, 5], "startup": 6, "state": 2, "stateless": [2, 6], "statewid": [], "station_data_": [], "station_id": [], "station_measurements_cach": [], "station_nam": [], "station_timezon": [], "statu": 6, "stdlib": [], "stdout": 6, "step": [], "still": [], "str": [], "structur": [], "sub": [], "subsequ": 6, "suitabl": 5, "sum": [], "summari": [], "support": 2, "sure": [], "surfac": 2, "swagger": [], "synchron": 2, "syntax": [], "system": 5, "tabl": 0, "tabular": [], "take": 5, "tar": [], "target": 2, "tarspot": [], "tarspot_risk": [], "tarspot_risk_class": [], "task": [5, 6], "team": 3, "technic": [0, 3], "technologi": 1, "temp": [], "temperatur": [], "temperature_max": [], "temperature_max_c": [], "temperature_mean": [], "temperature_mean_c": [], "temperature_min": [], "temperature_min_c": [], "temperaturedewpoint_max": [], "temperaturedewpoint_min": [], "tenant": [], "tenant_id": [], "termin": [], "termination_d": [], "text": [], "than": 2, "them": [5, 6], "thi": [2, 3, 4, 5], "those": 2, "threshold": [], "through": 1, "ti": [], "tier": [], "time": 2, "time_seri": [], "timeout": [], "timestamp": [], "timetupl": [], "titl": 5, "tl": [], "tm_ydai": [], "token": [], "tool": 1, "tornado": 2, "total": [], "traefik": [], "transit": [], "tree": 5, "true": [], "ttl": [], "two": [], "txt": 0, "type": [], "ui": [], "under": [5, 6], "underli": 2, "unifi": [], "unit": 2, "univers": 1, "until": 6, "updat": [], "url": 6, "us": [0, 1, 2, 3, 4, 5], "usag": [], "user": [], "utc": [], "util": 2, "uvicorn": [], "uw": [], "v10": [], "v2": [], "valid": 1, "variabl": 2, "variant": [], "venu": 5, "venv": [], "verbos": [], "verifi": 6, "via": 6, "view": [], "virtual": [], "visibl": 2, "vm": 5, "w": 6, "wait": [2, 6], "warm": [2, 6], "we": [2, 3, 4, 5], "weather": 1, "web": 2, "welcom": [3, 4], "well": 5, "wet": [], "when": [2, 6], "where": [2, 5, 6], "whether": [2, 6], "which": 2, "white": [], "whitemold_dry_risk": [], "whitemold_dry_risk_class": [], "wi": [], "wide": [2, 6], "wind": [], "window": [], "windspeed_max": [], "windspeed_mean": [], "wisc": [], "wisconet_active_st": [], "wisconet_biomass": [], "wisconet_g": [], "wisconet_servic": [], "wisconsin": 1, "work": [2, 5, 6], "workdir": [], "worker": 5, "worker_port": 6, "workflow": 0, "workload": 2, "world": 2, "wosc": 5, "write": 6, "written": 5, "wsgi": 2, "x_0": [], "xxx": [], "yang": 5, "year": [], "yellow": [], "yml": 0, "you": [5, 6], "your": [], "your_kei": [], "your_org": [], "your_ten": [], "yourself": 5, "yyi": [], "yyyi": [], "zeae": [], "zygot": 5, "zzz": []}, "titles": ["OpenLambda GitHub Pages \u2014 MyST Markdown Site", "Agricultural Forecasting API", "Applications", "OpenLambda Blog", "Hello, OpenLambda Blog", "OpenLambda", "Worker"], "titleterms": {"0": [], "1": 0, "2": [], "3": [], "4": [], "One": 0, "action": [], "ad": [], "addit": [], "agricultur": 1, "api": 1, "app": 2, "applic": 2, "architectur": [], "asgi": 2, "async": [], "avail": [], "biomass": [], "blog": [3, 4], "cach": [], "calcul": [], "changelog": [], "clone": 0, "collect": [], "complet": [], "compos": [], "concurr": [], "configur": 6, "consider": [], "content": [], "coordin": [], "copi": 0, "core": [], "corn": [], "current": [], "data": [], "date": [], "depend": [], "deploi": [2, 6], "deploy": [], "design": [], "develop": [], "directori": [], "diseas": [], "do": 0, "docker": [], "document": [], "effici": [], "ei": [], "enabl": [], "endpoint": [], "environ": [], "environment": [], "extern": [], "fastapi": 2, "featur": [], "file": 0, "flow": [], "forecast": 1, "format": [], "frogey": [], "further": 6, "geojson": [], "github": 0, "grai": [], "group": [], "handl": [], "hello": 4, "high": [], "how": 2, "ibm": [], "instal": [], "integr": [], "intellig": [], "journei": [], "just": 2, "kei": [], "leaf": [], "legaci": [], "level": [], "licens": 5, "local": 0, "markdown": 0, "mesonet": [], "metadata": [], "model": [], "modul": [], "mold": [], "more": [], "multi": [], "multipl": 6, "myst": 0, "new": [], "onc": 0, "openlambda": [0, 2, 3, 4, 5], "optim": [], "output": [], "overview": [1, 6], "page": 0, "per": 0, "perform": [], "pipelin": [], "prerequisit": [], "preview": 0, "process": [], "product": [], "public": 5, "read": 6, "relat": 5, "repo": 0, "request": [], "resourc": [], "respons": [], "risk": [], "rye": [], "seri": [], "servic": [], "setup": 0, "site": 0, "sourc": [], "soybean": [], "spot": [], "stack": [], "start": 6, "station": [], "strategi": [], "structur": 0, "suit": [], "system": [], "tabl": [], "tarspot": [], "technic": [], "technologi": [], "test": [], "thi": 0, "time": 0, "timezon": [], "tip": [], "troubleshoot": [], "u": 2, "v1": [], "v2": [], "variabl": [], "version": [], "want": 2, "weather": [], "white": [], "winter": [], "wisconet": [], "worker": 6}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"1. Clone the repo and copy these files in": [[0, "clone-the-repo-and-copy-these-files-in"]], "Agricultural Forecasting API": [[1, null]], "An Application Case Study: Forecasting Crop Disease with OpenLambda": [[4, null]], "Applications": [[2, null]], "Configuration": [[7, "configuration"]], "Deploying Multiple Workers": [[7, "deploying-multiple-workers"]], "File Structure": [[0, "file-structure"]], "Further Reading": [[7, "further-reading"]], "Hello, OpenLambda Blog": [[5, null]], "License": [[6, "license"]], "Local Preview": [[0, "local-preview"]], "One-Time Setup (do this once per repo)": [[0, "one-time-setup-do-this-once-per-repo"]], "OpenLambda": [[6, null]], "OpenLambda Blog": [[3, null]], "OpenLambda GitHub Pages \u2014 MyST Markdown Site": [[0, null]], "Overview": [[1, "overview"], [7, "overview"]], "Related Publications": [[6, "related-publications"]], "Starting the Worker": [[7, "starting-the-worker"]], "Want to deploy FastAPI apps on OpenLambda? Just ASGI us how.": [[2, "want-to-deploy-fastapi-apps-on-openlambda-just-asgi-us-how"]], "Worker": [[7, null]]}, "docnames": ["README", "applications/ag-forecasting-api", "applications/index", "blog/index", "blog/post/2026-05-18-ag-forecasting-case-study", "blog/post/2026-05-18-hello-world", "index", "worker"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["README.md", "applications/ag-forecasting-api.md", "applications/index.md", "blog/index.md", "blog/post/2026-05-18-ag-forecasting-case-study.md", "blog/post/2026-05-18-hello-world.md", "index.md", "worker.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 7], "0": [], "003663": [], "031": [], "05": [], "09": [], "10": [], "100": [], "1049": [], "11": [], "12": [], "1234": [], "14": [], "15": [], "16": 6, "17": 6, "18": [3, 6], "20": [], "2000": [], "2024": [], "2025": [], "2026": 3, "21": [], "24": 6, "28": [], "2878": [], "30": [], "31": [], "3250": [], "35": [], "366": [], "38": [], "404": [], "423": [], "43": [], "45": [], "4500": [], "4567": [], "5": [], "50": [], "6": [], "6h": [], "7": [], "7d": [], "8": [], "8000": [], "8080": 7, "85": [], "89": [], "9": [], "90": [], "92": [], "999": [], "A": [2, 7], "By": [], "For": 1, "In": [2, 4], "It": 7, "No": 7, "On": 2, "That": [], "The": [1, 2, 4, 6, 7], "To": [2, 7], "With": 6, "__init__": [], "_annotate_winter_rye_biomass": [], "_build": 0, "_build_daili": [], "_compute_winter_rye_biomass": [], "_config": 0, "_doi": [], "_fall": [], "_fetch_raw_hourli": [], "_run_pipelin": [], "_toc": 0, "_total": [], "about": 6, "abov": [], "aboveground": [], "absolut": [], "access": [], "accumul": [], "acquisit": [], "acr": [], "action": 0, "activ": [], "ad": 4, "adapt": [], "add": [0, 2, 3, 4], "address": [2, 7], "adjust": 2, "after": 7, "ag": 2, "ag_api": [], "ag_forecast": [], "ag_forecasting_api": 4, "ag_models_wrapp": [], "agforecast": 4, "aggreg": [], "agricultur": [2, 4], "agronom": [], "ahead": 2, "aiohttp": [], "air": [], "al": 6, "all": 0, "alongsid": 2, "alpin": [], "alreadi": 7, "also": [2, 6], "alten": [], "altn": [], "america": [], "an": [2, 3, 6], "analysi": [], "annot": [], "apach": 6, "api": [2, 4], "api_cach": [], "api_kei": [], "apotheci": [], "app": [], "app_v1": [], "appli": [], "applic": 3, "approach": [2, 6, 7], "ar": [2, 4, 6, 7], "arithmet": [], "arriv": 7, "asgi": [1, 4], "assess": [], "assumpt": [], "async": 2, "atc": 6, "authent": [], "author": 6, "auto": 0, "automat": 0, "avail": [], "averag": [], "avg": [], "await": [], "awar": [], "axi": [], "b_": [], "b_0": [], "back": 7, "backend": 7, "backward": [], "balanc": [6, 7], "base": [1, 2, 4, 6], "basi": 4, "basic": [], "batch": [], "becaus": [2, 4], "behind": 7, "believ": [2, 3, 4], "benefici": 2, "best": [3, 4], "better": 2, "between": 7, "bill": 2, "bin": 7, "binari": 7, "biomass_color": [], "biomass_lb_acr": [], "biomass_messag": [], "biomass_result": [], "bit": 6, "block": 2, "book": 0, "boss": [6, 7], "both": 2, "branch": [], "broader": [2, 4], "broadli": 2, "browser": 0, "build": [0, 2, 7], "built": 4, "bulk": [], "bundl": 0, "busi": [], "c": [], "cach": [], "calc": [], "calcul": [], "calculate_tarspot_risk": [], "calculate_winter_rye_biomass": [], "call": [4, 7], "caller": 7, "can": [2, 6, 7], "cap": [], "capabl": [], "caraza": [3, 4], "case": 3, "categori": [], "cd": 0, "cdn": [], "cdot": [], "central": [6, 7], "cercospora": [], "challeng": 4, "chang": 2, "chapter": [], "characterist": [], "check": [1, 7], "chicago": [], "choic": 2, "chunk": [], "citi": [], "class": [], "classif": [], "classifi": [], "client": [], "clone": [], "cloud comput": 6, "cluster": [6, 7], "cmd": [], "co": 2, "coeffici": [], "col": [], "cold": 7, "color": [], "columbia": [], "column": [], "com": 0, "combin": 1, "commit": 0, "compat": [], "compil": 4, "compon": 7, "comput": [2, 3, 4, 6], "compute_risks_in_parallel": [], "concern": 2, "concurr": 2, "conda": [], "config": 7, "configur": [], "confirm": [], "connect": [], "consolid": 2, "constant": [], "constraint": 2, "contact": [], "contain": [6, 7], "container": [], "content": 0, "context": [], "continu": 2, "contribut": 2, "convers": [], "convert": [], "coordin": 7, "copi": [], "core": 7, "corn": [], "could": 6, "counti": [], "cover": [], "coverag": [], "creat": [], "credenti": [], "crop": [1, 3], "ctrl": [], "cumsum": [], "cumul": [], "curl": 7, "current": [6, 7], "curv": [], "cycl": [], "dai": [], "daili": [], "damon": [], "dashboard": [], "data": [1, 2, 3, 4], "datafram": [], "dataframe_to_featurecollect": [], "date": [], "datetim": [], "dd": [], "decim": [], "decis": [], "deep": 3, "deeper": 2, "def": [], "default": 7, "definit": [], "degre": [], "demand": 2, "dens": [], "dep": 0, "depart": [3, 4], "depend": 2, "deploi": [0, 6], "deploy": [2, 3, 4, 7], "deprec": [], "describ": [4, 7], "descript": 7, "design": [2, 3, 4, 5], "detail": 6, "detect": 2, "dev": 2, "develop": [1, 4, 7], "dew": [], "dir": [], "direct": 4, "directori": 7, "discuss": [3, 5], "diseas": [1, 3], "disease_metadata": [], "distinguish": 2, "dive": 3, "django": 4, "doc": [], "docker": 7, "dockerfil": [], "document": [0, 1], "doit": [], "domain": [], "door": [2, 4], "drive": 2, "dry": [], "dsi": 4, "dst": [], "dual": [], "dure": [], "e": [], "each": 7, "earlier": 2, "ecosystem": [], "edu": [], "effect": [], "emb": [], "embed": [], "emerg": [], "enabl": [2, 6], "endpoint": 7, "enhanc": [], "ensembl": [], "enter": 1, "entir": [], "entri": [], "environ": [2, 4], "eros": [], "error": [], "establish": [], "estim": [], "et": 6, "etc": [], "evalu": [], "even": 4, "eventu": 6, "ever": [3, 4], "everi": [], "evolut": 2, "exampl": [], "example_callapi": [], "execut": 2, "expand": 2, "experi": [3, 5], "explor": 6, "export": [], "expos": 7, "extend": 2, "extract": [], "f": [], "fail": [], "fall": [], "fall_precip": [], "fall_start": [], "fallback": [], "far": 6, "farmer": [], "fastapi": [1, 4], "faster": [2, 6], "featur": [2, 3, 4], "featurecollect": [], "fetch": [], "fetch_all_measurements_async": [], "fetch_wisconet_biomass": [], "field": 7, "file": [6, 7], "fillna": [], "filter": [], "fit": [2, 6], "fix": [], "flask": 4, "follow": [], "forecast": [2, 3], "forecasting_d": [], "forklift": 6, "format": [], "formula": [], "forward": 7, "found": [], "four": 4, "frac": [], "framework": [], "friction": 2, "friendli": 2, "frogey": [], "frogeye_risk": [], "frogeye_risk_class": [], "from": [0, 2, 3, 7], "fromisoformat": [], "front": [6, 7], "function": [2, 4, 7], "fundament": 2, "fungu": [], "further": 2, "futur": 4, "g": [], "gdd": [], "gdd_0c": [], "gdd_sine": [], "gdd_total": [], "gener": [], "geojson": [], "geojson_adapt": [], "geojson_schema": [], "geometri": [], "geospati": 1, "get": [6, 7], "get_weather_with_risk": [], "gi": [], "git": 0, "github": [2, 4], "gitignor": 0, "global": [], "globe": [], "gls_risk": [], "gls_risk_class": [], "go": [6, 7], "goal": [3, 4, 6], "grai": [], "green": [], "grow": [3, 4], "growth": [], "guid": 7, "ha": [], "handl": [], "handler": [], "haproxi": 7, "hard": [], "harmon": [], "harter": [3, 4], "health": [], "healthcheck": [], "hello": 3, "help": [2, 3, 4], "helper": [], "hendrickson": 6, "here": [0, 1, 6], "high": [], "higher": 2, "histor": [], "histori": 2, "hod": [], "homepag": 0, "hope": 6, "horizont": 7, "host": [], "hotcloud": 6, "hour": [], "hourli": [], "html": 0, "http": [0, 6, 7], "human": [], "humid": [], "i": [1, 2, 3, 4, 6, 7], "ibm_api_kei": [], "ibm_servic": [], "icdcsw": 6, "id": [], "identifi": [3, 4], "idl": 2, "imag": 7, "implement": [2, 4, 6], "import": [], "improv": 2, "inact": [], "inch": [], "includ": 2, "incom": 7, "increment": 2, "independ": 7, "index": 0, "individu": [], "inflect": [], "influenc": 2, "info": [], "inform": [], "ingest": [], "initi": 6, "input": [], "insid": 7, "instal": 0, "institut": [1, 3, 4], "integr": [1, 2], "intellig": 1, "interact": [], "intercept": [], "interest": [3, 4], "interfac": 2, "interpol": [], "interpret": [], "interv": [], "invok": 6, "io": 0, "ipynb": [], "irrig": [], "issu": 2, "its": [1, 2, 4, 7], "jaim": 2, "jb": [], "json": 7, "jupyt": 0, "just": 6, "jwt": [], "k": [], "keep": 7, "kei": 7, "label": [], "lambda": [0, 1, 2, 6, 7], "larg": 6, "last": [], "lat": [], "latenc": 7, "latitud": [], "layer": [], "lb": [], "leaf": [], "lean": 6, "left": [], "let": 2, "librari": 6, "lifecycl": 7, "like": 2, "limit": [], "line": [], "lint": [], "linux": [6, 7], "linux contain": 6, "list": [], "listen": 7, "ll": [3, 5], "lng": [], "load": [6, 7], "load_stations_sync": [], "loadbalanc": [], "local": [6, 7], "localhost": 7, "locat": 2, "log": 7, "log_level": [], "log_output": 7, "logic": [], "login": 6, "logist": [], "logit": [], "long": 2, "longitud": [], "longstand": 2, "look": 2, "low": [], "lower": [], "m": 0, "madison": [1, 3, 4], "mai": 3, "main": 6, "maintain": [], "make": [3, 4, 6], "manag": [6, 7], "manipul": [], "manual": [6, 7], "map": [], "maria": [3, 4], "materi": [], "math": [], "math_help": [], "mathemat": [], "max": [], "maydi": [], "md": [0, 6], "mean": [], "measur": [], "merg": [], "merge_biomass": [], "merge_station_metadata": [], "merge_wisconet_biomass": [], "mesonet": [], "messag": [], "metadata_stations_": [], "method": [], "metric": [], "min": [], "minim": [2, 3, 4], "minut": 7, "mitig": [], "mm": [], "mode": 6, "model": [1, 2], "model_schema": [], "moder": [], "modern": 2, "modif": [3, 4], "moistur": [], "mold": [], "monitor": [], "month": [], "more": [0, 2, 6], "most": [3, 4], "mostli": 6, "mount": [], "mph": [], "multi": [1, 7], "multipl": 2, "multiprocess": [], "n": 7, "name": 7, "nation": [], "nativ": 2, "natur": 2, "need": 2, "network": [], "new": [2, 3, 4, 5, 6], "next": 1, "nginx": 7, "nighttim": [], "noaa": [], "node": [6, 7], "non": [], "normal": [], "note": [3, 5], "notebook": [], "now": 1, "num_work": [], "numer": [], "numpi": [], "o": 2, "oak": 6, "observ": [], "obtain": [], "off": [], "ol": [2, 3, 4], "old": [], "onboard": 2, "onc": [], "one": 7, "open": [0, 1, 2, 4, 6], "openapi": [], "openlambda": [1, 7], "oper": 7, "opportunist": 2, "optim": [6, 7], "option": [2, 7], "orchestr": [], "org_id": [], "organ": [], "origin": [3, 4], "oro": [3, 4], "our": [2, 3, 4], "output": [], "overhead": 2, "packag": [4, 6], "pain": [3, 4], "panda": [], "paper": 7, "parallel": [], "paramet": [], "pars": [], "pass": 7, "path": 7, "pattern": 2, "payload": 7, "pd": [], "peak": [], "per": 7, "perform": [3, 5], "period": 7, "permiss": [], "persist": 2, "pf": [], "phase": 1, "phyllachora": [], "pick": [3, 4], "pip": [0, 4], "pipelin": [], "pipsqueak": 6, "place": 7, "plan": [], "plant": [], "plant_date_obj": [], "plant_doi": [], "planting_d": [], "platform": 2, "pleas": 1, "plu": [], "point": [3, 4], "pool": [2, 6], "popular": 4, "port": [2, 3, 4, 7], "post": [2, 4, 7], "practic": 2, "pre": [], "precip": [], "precip1hour_sum": [], "precip_daili": [], "precip_fal": [], "precipit": [], "pred": [], "predict": [], "premium": [], "prep": [], "presenc": [], "present": 7, "previou": [], "primari": 6, "print": 7, "prob": [], "probabl": [], "problem": [], "process": [2, 7], "product": 6, "profession": [], "program": 4, "project": [3, 6], "properti": [], "provid": 1, "provis": [6, 7], "proxi": [], "public": [], "pull": 7, "purpos": [], "push": 0, "put": 6, "py": [], "py_compil": [], "pydant": [], "pylint": [], "python": [0, 2, 4], "pythonpath": [], "queri": [], "question": 2, "quickstart": 7, "r": 0, "r3": [], "rainfal": [], "rang": [2, 4], "rapid": [6, 7], "rare": [], "rate": [], "rather": 2, "raw": [], "re": [], "read": 6, "readabl": [], "readi": [], "real": 2, "rebuild": [], "recent": 4, "recommend": 7, "redeploi": [], "redoc": [], "reduc": [2, 7], "redund": [], "refer": 1, "refresh": [], "regener": 2, "region": [], "registri": 7, "regress": [], "rel": [], "relativehumidity_max": [], "relativehumidity_min": [], "releas": [3, 5], "relev": [], "reli": 2, "reload": [], "remov": 2, "replac": [], "repo": 7, "repositori": [], "request": [6, 7], "requir": [0, 2, 7], "research": 7, "residu": [], "resolut": [], "respect": 7, "respons": [6, 7], "rest": 4, "result": [2, 7], "result_typ": [], "retri": [], "retriev": [], "return": 7, "reus": 2, "revers": [], "rh": [], "risk": 1, "risk_dai": [], "risk_df": [], "risk_model": [], "risk_processor": [], "roll": [], "rolling_mean": [], "root": [0, 7], "rout": 7, "router": [], "row": [], "rule": [], "run": [6, 7], "runlambda": 7, "runtim": 2, "rye_biomass": [], "rye_daili": [], "saascor": [], "same": [], "sandbox": 7, "save": [], "scale": 7, "schema": [], "scienc": [1, 3, 4], "scientif": [], "sclerotinia": [], "sclerotiorum": [], "score": [], "script": [], "see": 6, "select": 4, "sep": [], "sequenti": [], "seri": [], "serv": 2, "server": [2, 7], "serverless": [2, 3, 4, 6, 7], "servic": [1, 2, 6], "set": [0, 2, 3, 4], "setup": 7, "shape": 2, "share": [3, 5], "shift": [], "shm": 2, "short": 7, "should": [], "show": [], "side": [2, 7], "sidebar": [], "similar": [3, 4, 7], "simpler": 4, "sinc": [], "sine": [], "singl": [2, 6, 7], "site": [], "situat": 2, "slim": [], "smaller": [], "so": [4, 6], "sock": [6, 7], "soil": [], "sojina": [], "sourc": 1, "south": [], "soybean": [], "space": [3, 5], "specif": [], "specifi": [], "speed": [], "spiritu": 4, "spot": [], "stage": [], "standalon": 7, "standard": 7, "start": [2, 4, 6], "startup": 7, "state": 2, "stateless": [2, 7], "statewid": [], "station_data_": [], "station_id": [], "station_measurements_cach": [], "station_nam": [], "station_timezon": [], "statu": 7, "stdlib": [], "stdout": 7, "step": [], "still": [], "str": [], "structur": [], "studi": 3, "sub": [], "subsequ": 7, "successor": 4, "suitabl": 6, "sum": [], "summari": [], "support": [2, 3, 4], "sure": [], "surfac": 2, "swagger": [], "synchron": 2, "syntax": [], "system": 6, "t": [3, 4], "tabl": 0, "tabular": [], "take": 6, "tar": [], "target": 2, "tarspot": [], "tarspot_risk": [], "tarspot_risk_class": [], "task": [6, 7], "team": 3, "technic": [0, 3], "technologi": 1, "temp": [], "temperatur": [], "temperature_max": [], "temperature_max_c": [], "temperature_mean": [], "temperature_mean_c": [], "temperature_min": [], "temperature_min_c": [], "temperaturedewpoint_max": [], "temperaturedewpoint_min": [], "tenant": [], "tenant_id": [], "termin": [], "termination_d": [], "text": [], "than": 2, "them": [3, 4, 6, 7], "thi": [2, 3, 4, 5, 6], "those": 2, "threshold": [], "through": 1, "ti": [], "tier": [], "time": 2, "time_seri": [], "timeout": [], "timestamp": [], "timetupl": [], "titl": 6, "tl": [], "tm_ydai": [], "token": [], "tool": 1, "tornado": 2, "total": [], "toward": [3, 4], "traefik": [], "transit": [], "tree": 6, "true": [], "try": [3, 4], "ttl": [], "turn": 4, "two": [], "txt": 0, "tyler": [3, 4], "type": [], "u": [3, 4], "ui": [], "under": [6, 7], "underli": 2, "unifi": [], "unit": 2, "univers": [1, 3, 4], "until": 7, "updat": [], "url": 7, "us": [0, 1, 2, 3, 4, 5, 6], "usag": [], "user": [], "utc": [], "util": 2, "uvicorn": [], "uw": 4, "v10": [], "v2": [], "valid": 1, "variabl": [2, 4], "variant": [], "venu": 6, "venv": [], "verbos": [], "verifi": 7, "via": 7, "view": [], "virtual": [], "visibl": 2, "vm": 6, "w": 7, "wai": [3, 4], "wait": [2, 7], "warm": [2, 7], "we": [2, 3, 4, 5, 6], "weather": 1, "web": [2, 4], "welcom": [3, 5], "well": 6, "weren": [3, 4], "wet": [], "when": [2, 7], "where": [2, 6, 7], "whether": [2, 7], "which": [2, 4], "white": [], "whitemold_dry_risk": [], "whitemold_dry_risk_class": [], "wi": [], "wide": [2, 7], "wind": [], "window": [], "windspeed_max": [], "windspeed_mean": [], "wisc": [], "wisconet_active_st": [], "wisconet_biomass": [], "wisconet_g": [], "wisconet_servic": [], "wisconsin": [1, 3, 4], "work": [2, 3, 4, 6, 7], "workdir": [], "worker": 6, "worker_port": 7, "workflow": 0, "workload": 2, "world": 2, "wosc": 6, "write": 7, "written": 6, "wsgi": [2, 4], "x_0": [], "xxx": [], "yang": 6, "year": [], "yellow": [], "yml": 0, "you": [6, 7], "your": [], "your_kei": [], "your_org": [], "your_ten": [], "yourself": 6, "yyi": [], "yyyi": [], "zeae": [], "zygot": 6, "zzz": []}, "titles": ["OpenLambda GitHub Pages \u2014 MyST Markdown Site", "Agricultural Forecasting API", "Applications", "OpenLambda Blog", "An Application Case Study: Forecasting Crop Disease with OpenLambda", "Hello, OpenLambda Blog", "OpenLambda", "Worker"], "titleterms": {"0": [], "1": 0, "2": [], "3": [], "4": [], "One": 0, "action": [], "ad": [], "addit": [], "agricultur": 1, "an": 4, "api": 1, "app": 2, "applic": [2, 4], "architectur": [], "asgi": 2, "async": [], "avail": [], "biomass": [], "blog": [3, 5], "cach": [], "calcul": [], "case": 4, "changelog": [], "clone": 0, "collect": [], "complet": [], "compos": [], "concurr": [], "configur": 7, "consider": [], "content": [], "coordin": [], "copi": 0, "core": [], "corn": [], "crop": 4, "current": [], "data": [], "date": [], "depend": [], "deploi": [2, 7], "deploy": [], "design": [], "develop": [], "directori": [], "diseas": 4, "do": 0, "docker": [], "document": [], "effici": [], "ei": [], "enabl": [], "endpoint": [], "environ": [], "environment": [], "extern": [], "fastapi": 2, "featur": [], "file": 0, "flow": [], "forecast": [1, 4], "format": [], "frogey": [], "further": 7, "geojson": [], "github": 0, "grai": [], "group": [], "handl": [], "hello": 5, "high": [], "how": 2, "ibm": [], "instal": [], "integr": [], "intellig": [], "journei": [], "just": 2, "kei": [], "leaf": [], "legaci": [], "level": [], "licens": 6, "local": 0, "markdown": 0, "mesonet": [], "metadata": [], "model": [], "modul": [], "mold": [], "more": [], "multi": [], "multipl": 7, "myst": 0, "new": [], "onc": 0, "openlambda": [0, 2, 3, 4, 5, 6], "optim": [], "output": [], "overview": [1, 7], "page": 0, "per": 0, "perform": [], "pipelin": [], "prerequisit": [], "preview": 0, "process": [], "product": [], "public": 6, "read": 7, "relat": 6, "repo": 0, "request": [], "resourc": [], "respons": [], "risk": [], "rye": [], "seri": [], "servic": [], "setup": 0, "site": 0, "sourc": [], "soybean": [], "spot": [], "stack": [], "start": 7, "station": [], "strategi": [], "structur": 0, "studi": 4, "suit": [], "system": [], "tabl": [], "tarspot": [], "technic": [], "technologi": [], "test": [], "thi": 0, "time": 0, "timezon": [], "tip": [], "troubleshoot": [], "u": 2, "v1": [], "v2": [], "variabl": [], "version": [], "want": 2, "weather": [], "white": [], "winter": [], "wisconet": [], "worker": 7}})
\ No newline at end of file
diff --git a/_toc.yml b/_toc.yml
index f55657e..79dea18 100644
--- a/_toc.yml
+++ b/_toc.yml
@@ -12,4 +12,5 @@ chapters:
- file: blog/index
title: Blog
sections:
- - glob: blog/posts/*
\ No newline at end of file
+ - file: blog/post/2026-05-18-hello-world
+ - file: blog/post/2026-05-18-agforecast-case-study
\ No newline at end of file
diff --git a/blog/post/2026-05-18-hello-world.md b/blog/post/2026-05-18-hello-world.md
new file mode 100644
index 0000000..7a403e3
--- /dev/null
+++ b/blog/post/2026-05-18-hello-world.md
@@ -0,0 +1,13 @@
+---
+blogpost: true
+date: 2026-05-18
+author: open-lambda
+category: Releases
+tags: announcement, openlambda
+language: en
+---
+
+# Hello, OpenLambda Blog
+
+Welcome to the new OpenLambda blog. We'll use this space to share release
+notes, performance experiments, and design discussions.
\ No newline at end of file
-
+
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + + + 2026-05-18 + + + +
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +208,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +208,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +209,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +228,7 @@
An Application Case Study: Forecasting Crop Disease with OpenLambda — Maria Oros, Tyler Caraza-Harter, May 18, 2026
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison + +Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments. + +
+Hello, OpenLambda Blog — OpenLambda Team, May 18, 2026
Welcome to the new OpenLambda blog. We’ll use this space to share release notes, performance experiments, and design discussions. @@ -425,6 +495,15 @@
OpenLambda BlogAgricultural Forecasting API + + + + diff --git a/_build/html/blog/language.html b/_build/html/blog/language.html index dec5673..81f0e44 100644 --- a/_build/html/blog/language.html +++ b/_build/html/blog/language.html @@ -155,6 +155,12 @@
+ - + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +208,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
@@ -352,6 +378,25 @@
+
+
+ Posts in
+ Case Studies
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/category/case-studies/atom.xml b/_build/html/blog/category/case-studies/atom.xml
new file mode 100644
index 0000000..133aedc
--- /dev/null
+++ b/_build/html/blog/category/case-studies/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts in Case Studies
+ 2026-05-18T21:40:18.244931+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/category"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/category/releases.html b/_build/html/blog/category/releases.html
index 8f65cf3..edbc843 100644
--- a/_build/html/blog/category/releases.html
+++ b/_build/html/blog/category/releases.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
diff --git a/_build/html/blog/category/releases/atom.xml b/_build/html/blog/category/releases/atom.xml
index 27ec46d..674510a 100644
--- a/_build/html/blog/category/releases/atom.xml
+++ b/_build/html/blog/category/releases/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in Releases
- 2026-05-18T20:49:10.785174+00:00
+ 2026-05-18T21:40:18.246122+00:00
ABlog
diff --git a/_build/html/blog/drafts.html b/_build/html/blog/drafts.html
index c2ea681..6760eb4 100644
--- a/_build/html/blog/drafts.html
+++ b/_build/html/blog/drafts.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
diff --git a/_build/html/blog/index.html b/_build/html/blog/index.html
index b634f81..c122411 100644
--- a/_build/html/blog/index.html
+++ b/_build/html/blog/index.html
@@ -60,6 +60,7 @@
+
@@ -155,6 +156,12 @@
+
@@ -168,11 +175,27 @@
Tags
-
+
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/language/en.html b/_build/html/blog/language/en.html
index 23c0b6e..7b953f5 100644
--- a/_build/html/blog/language/en.html
+++ b/_build/html/blog/language/en.html
@@ -155,6 +155,12 @@
+
+ Posts in + Case Studies + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
+
+
+
+
+
+
+
+
+ Posts in Case Studies — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts in Case Studies
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/category/case-studies/atom.xml b/_build/html/blog/category/case-studies/atom.xml
new file mode 100644
index 0000000..133aedc
--- /dev/null
+++ b/_build/html/blog/category/case-studies/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts in Case Studies
+ 2026-05-18T21:40:18.244931+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/category"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/category/releases.html b/_build/html/blog/category/releases.html
index 8f65cf3..edbc843 100644
--- a/_build/html/blog/category/releases.html
+++ b/_build/html/blog/category/releases.html
@@ -155,6 +155,12 @@
+
+ + + + + Posts in Case Studies + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
Tags
-
+
diff --git a/_build/html/blog/category/releases/atom.xml b/_build/html/blog/category/releases/atom.xml
index 27ec46d..674510a 100644
--- a/_build/html/blog/category/releases/atom.xml
+++ b/_build/html/blog/category/releases/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in Releases
- 2026-05-18T20:49:10.785174+00:00
+ 2026-05-18T21:40:18.246122+00:00
ABlog
diff --git a/_build/html/blog/drafts.html b/_build/html/blog/drafts.html
index c2ea681..6760eb4 100644
--- a/_build/html/blog/drafts.html
+++ b/_build/html/blog/drafts.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
diff --git a/_build/html/blog/index.html b/_build/html/blog/index.html
index b634f81..c122411 100644
--- a/_build/html/blog/index.html
+++ b/_build/html/blog/index.html
@@ -60,6 +60,7 @@
+
@@ -155,6 +156,12 @@
+
@@ -168,11 +175,27 @@
Tags
-
+
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
-
+
diff --git a/_build/html/blog/category/releases/atom.xml b/_build/html/blog/category/releases/atom.xml
index 27ec46d..674510a 100644
--- a/_build/html/blog/category/releases/atom.xml
+++ b/_build/html/blog/category/releases/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in Releases
- 2026-05-18T20:49:10.785174+00:00
+ 2026-05-18T21:40:18.246122+00:00
ABlog
diff --git a/_build/html/blog/drafts.html b/_build/html/blog/drafts.html
index c2ea681..6760eb4 100644
--- a/_build/html/blog/drafts.html
+++ b/_build/html/blog/drafts.html
@@ -155,6 +155,12 @@
+
+
Tags
-
+
diff --git a/_build/html/blog/index.html b/_build/html/blog/index.html
index b634f81..c122411 100644
--- a/_build/html/blog/index.html
+++ b/_build/html/blog/index.html
@@ -60,6 +60,7 @@
+
@@ -155,6 +156,12 @@
+
@@ -168,11 +175,27 @@
Tags
-
+
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
-
+
diff --git a/_build/html/blog/index.html b/_build/html/blog/index.html
index b634f81..c122411 100644
--- a/_build/html/blog/index.html
+++ b/_build/html/blog/index.html
@@ -60,6 +60,7 @@
+
@@ -155,6 +156,12 @@
+
Tags
-
+
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
-
+
@@ -355,6 +382,49 @@ OpenLambda Blog
OpenLambda Blog#
News, releases, and technical deep-dives from the OpenLambda project.
-
+
Tags
-
+
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
-
+
@@ -369,6 +395,15 @@
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
+
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/language/en/atom.xml b/_build/html/blog/language/en/atom.xml
index 6a6762f..b96fdbb 100644
--- a/_build/html/blog/language/en/atom.xml
+++ b/_build/html/blog/language/en/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in en
- 2026-05-18T20:49:10.784103+00:00
+ 2026-05-18T21:40:18.242715+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/language"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
new file mode 100644
index 0000000..6c35ed3
--- /dev/null
+++ b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+An Application Case Study: Forecasting Crop Disease with OpenLambda#
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+Recently, we selected an agricultural forecasting application (AgForecast), developed by the Data Science Institute at UW–Madison, to port to OpenLambda: UW-Madison-DSI/ag_forecasting_api. AgForecast is an interesting case study, because it implements its REST API using FastAPI, which in turn uses ASGI, the so-called “spiritual successor” to WSGI, which we recently started supporting in OpenLambda. WSGI is the basis for popular Python web-programming packages such as Django and Flask; new ASGI support opens the door to an even broader range of applications.
+In this post, we describe the challenges of porting AgForecast to OL, and four new features we added to OL to make deployment of similar applications in the future simpler. The features are built-in ASGI support, direct GitHub-to-OL deployments, OL function environment variables, and OL-based pip compilation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hello, OpenLambda Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/post/2026-05-18-hello-world.html b/_build/html/blog/post/2026-05-18-hello-world.html
index bb9539d..4359895 100644
--- a/_build/html/blog/post/2026-05-18-hello-world.html
+++ b/_build/html/blog/post/2026-05-18-hello-world.html
@@ -59,7 +59,8 @@
-
+
+
@@ -213,6 +212,12 @@
@@ -226,11 +231,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -244,6 +265,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -259,7 +284,7 @@
@@ -438,6 +463,13 @@ Hello, OpenLambda Blog
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
@@ -458,6 +490,15 @@ Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
-
+
+ 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
@@ -168,11 +174,27 @@
Tags
- -
+
-
+ agforecast
+
+
+ -
announcement
- -
+
-
+ asgi
+
+
+ -
+ case-study
+
+
+ -
+ fastapi
+
+
+ -
openlambda
@@ -186,6 +208,10 @@
+ -
+ Case Studies (1)
+
+
-
Releases (1)
@@ -201,7 +227,7 @@
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+ -
+
+
+
+ 2026-05-18
+
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
- Agricultural Forecasting API
-- Blog
+- Blog
diff --git a/_build/html/index.html b/_build/html/index.html
index 1a706c3..9d98970 100644
--- a/_build/html/index.html
+++ b/_build/html/index.html
@@ -189,7 +189,8 @@
- Agricultural Forecasting API
-
- Blog
+- Blog
diff --git a/_build/html/objects.inv b/_build/html/objects.inv
index 95991da..b7f1890 100644
--- a/_build/html/objects.inv
+++ b/_build/html/objects.inv
@@ -2,5 +2,4 @@
# Project: Project name not set
# Version:
# The remainder of this file is compressed using zlib.
-xڅRAN0+6qJDDĪc[&nI͚ݝuo/pPx`$eR@+p}]R\\ºU3Bʔx8(*zW%UYcVg?sRHH,~@\o!&fG^;ւgq%m@rˈu\h2C2DSǀ(qIYzn$Qmdss69p?^ihTtPTXJu:#KjW(9T[FLV7
-1#Ѿ
\ No newline at end of file
+xڭSKN0O% JDTĪkG$nӴJ+5of=[<;Lb4Hfqe839- 3^ #`|:1kqq /MJ¤$@PDӭ:A;!ԑׇyMu}:֦&οP+]TGI`hôUmilY̴.QZj;Tb}E,>_}A
\ No newline at end of file
diff --git a/_build/html/search.html b/_build/html/search.html
index e0fcd45..610a244 100644
--- a/_build/html/search.html
+++ b/_build/html/search.html
@@ -187,7 +187,8 @@
- Agricultural Forecasting API
-
- Blog
+- Blog
diff --git a/_build/html/searchindex.js b/_build/html/searchindex.js
index 4df1dfc..0fb07af 100644
--- a/_build/html/searchindex.js
+++ b/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"1. Clone the repo and copy these files in": [[0, "clone-the-repo-and-copy-these-files-in"]], "Agricultural Forecasting API": [[1, null]], "Applications": [[2, null]], "Configuration": [[6, "configuration"]], "Deploying Multiple Workers": [[6, "deploying-multiple-workers"]], "File Structure": [[0, "file-structure"]], "Further Reading": [[6, "further-reading"]], "Hello, OpenLambda Blog": [[4, null]], "License": [[5, "license"]], "Local Preview": [[0, "local-preview"]], "One-Time Setup (do this once per repo)": [[0, "one-time-setup-do-this-once-per-repo"]], "OpenLambda": [[5, null]], "OpenLambda Blog": [[3, null]], "OpenLambda GitHub Pages \u2014 MyST Markdown Site": [[0, null]], "Overview": [[1, "overview"], [6, "overview"]], "Related Publications": [[5, "related-publications"]], "Starting the Worker": [[6, "starting-the-worker"]], "Want to deploy FastAPI apps on OpenLambda? Just ASGI us how.": [[2, "want-to-deploy-fastapi-apps-on-openlambda-just-asgi-us-how"]], "Worker": [[6, null]]}, "docnames": ["README", "applications/ag-forecasting-api", "applications/index", "blog/index", "blog/post/2026-05-18-hello-world", "index", "worker"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["README.md", "applications/ag-forecasting-api.md", "applications/index.md", "blog/index.md", "blog/post/2026-05-18-hello-world.md", "index.md", "worker.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 6], "0": [], "003663": [], "031": [], "05": [], "09": [], "10": [], "100": [], "1049": [], "11": [], "12": [], "1234": [], "14": [], "15": [], "16": 5, "17": 5, "18": [3, 5], "20": [], "2000": [], "2024": [], "2025": [], "2026": 3, "21": [], "24": 5, "28": [], "2878": [], "30": [], "31": [], "3250": [], "35": [], "366": [], "38": [], "404": [], "423": [], "43": [], "45": [], "4500": [], "4567": [], "5": [], "50": [], "6": [], "6h": [], "7": [], "7d": [], "8": [], "8000": [], "8080": 6, "85": [], "89": [], "9": [], "90": [], "92": [], "999": [], "A": [2, 6], "By": [], "For": 1, "In": 2, "It": 6, "No": 6, "On": 2, "That": [], "The": [1, 2, 5, 6], "To": [2, 6], "With": 5, "__init__": [], "_annotate_winter_rye_biomass": [], "_build": 0, "_build_daili": [], "_compute_winter_rye_biomass": [], "_config": 0, "_doi": [], "_fall": [], "_fetch_raw_hourli": [], "_run_pipelin": [], "_toc": 0, "_total": [], "about": 5, "abov": [], "aboveground": [], "absolut": [], "access": [], "accumul": [], "acquisit": [], "acr": [], "action": 0, "activ": [], "ad": [], "adapt": [], "add": [0, 2], "address": [2, 6], "adjust": 2, "after": 6, "ag": 2, "ag_api": [], "ag_forecast": [], "ag_forecasting_api": [], "ag_models_wrapp": [], "aggreg": [], "agricultur": 2, "agronom": [], "ahead": 2, "aiohttp": [], "air": [], "al": 5, "all": 0, "alongsid": 2, "alpin": [], "alreadi": 6, "also": [2, 5], "alten": [], "altn": [], "america": [], "an": [2, 5], "analysi": [], "annot": [], "apach": 5, "api": 2, "api_cach": [], "api_kei": [], "apotheci": [], "app": [], "app_v1": [], "appli": [], "applic": [], "approach": [2, 5, 6], "ar": [2, 5, 6], "arithmet": [], "arriv": 6, "asgi": 1, "assess": [], "assumpt": [], "async": 2, "atc": 5, "authent": [], "author": 5, "auto": 0, "automat": 0, "avail": [], "averag": [], "avg": [], "await": [], "awar": [], "axi": [], "b_": [], "b_0": [], "back": 6, "backend": 6, "backward": [], "balanc": [5, 6], "base": [1, 2, 5], "basic": [], "batch": [], "becaus": 2, "behind": 6, "believ": 2, "benefici": 2, "better": 2, "between": 6, "bill": 2, "bin": 6, "binari": 6, "biomass_color": [], "biomass_lb_acr": [], "biomass_messag": [], "biomass_result": [], "bit": 5, "block": 2, "book": 0, "boss": [5, 6], "both": 2, "branch": [], "broader": 2, "broadli": 2, "browser": 0, "build": [0, 2, 6], "built": [], "bulk": [], "bundl": 0, "busi": [], "c": [], "cach": [], "calc": [], "calcul": [], "calculate_tarspot_risk": [], "calculate_winter_rye_biomass": [], "call": 6, "caller": 6, "can": [2, 5, 6], "cap": [], "capabl": [], "case": [], "categori": [], "cd": 0, "cdn": [], "cdot": [], "central": [5, 6], "cercospora": [], "chang": 2, "chapter": [], "characterist": [], "check": [1, 6], "chicago": [], "choic": 2, "chunk": [], "citi": [], "class": [], "classif": [], "classifi": [], "client": [], "clone": [], "cloud comput": 5, "cluster": [5, 6], "cmd": [], "co": 2, "coeffici": [], "col": [], "cold": 6, "color": [], "columbia": [], "column": [], "com": 0, "combin": 1, "commit": 0, "compat": [], "compon": 6, "comput": [2, 5], "compute_risks_in_parallel": [], "concern": 2, "concurr": 2, "conda": [], "config": 6, "configur": [], "confirm": [], "connect": [], "consolid": 2, "constant": [], "constraint": 2, "contact": [], "contain": [5, 6], "container": [], "content": 0, "context": [], "continu": 2, "contribut": 2, "convers": [], "convert": [], "coordin": 6, "copi": [], "core": 6, "corn": [], "could": 5, "counti": [], "cover": [], "coverag": [], "creat": [], "credenti": [], "crop": 1, "ctrl": [], "cumsum": [], "cumul": [], "curl": 6, "current": [5, 6], "curv": [], "cycl": [], "dai": [], "daili": [], "damon": [], "dashboard": [], "data": [1, 2], "datafram": [], "dataframe_to_featurecollect": [], "date": [], "datetim": [], "dd": [], "decim": [], "decis": [], "deep": 3, "deeper": 2, "def": [], "default": 6, "definit": [], "degre": [], "demand": 2, "dens": [], "dep": 0, "depend": 2, "deploi": [0, 5], "deploy": [2, 6], "deprec": [], "describ": 6, "descript": 6, "design": [2, 3, 4], "detail": 5, "detect": 2, "dev": 2, "develop": [1, 6], "dew": [], "dir": [], "direct": [], "directori": 6, "discuss": [3, 4], "diseas": 1, "disease_metadata": [], "distinguish": 2, "dive": 3, "doc": [], "docker": 6, "dockerfil": [], "document": [0, 1], "doit": [], "domain": [], "door": 2, "drive": 2, "dry": [], "dsi": [], "dst": [], "dual": [], "dure": [], "e": [], "each": 6, "earlier": 2, "ecosystem": [], "edu": [], "effect": [], "emb": [], "embed": [], "emerg": [], "enabl": [2, 5], "endpoint": 6, "enhanc": [], "ensembl": [], "enter": 1, "entir": [], "entri": [], "environ": 2, "eros": [], "error": [], "establish": [], "estim": [], "et": 5, "etc": [], "evalu": [], "eventu": 5, "everi": [], "evolut": 2, "exampl": [], "example_callapi": [], "execut": 2, "expand": 2, "experi": [3, 4], "explor": 5, "export": [], "expos": 6, "extend": 2, "extract": [], "f": [], "fail": [], "fall": [], "fall_precip": [], "fall_start": [], "fallback": [], "far": 5, "farmer": [], "fastapi": 1, "faster": [2, 5], "featur": 2, "featurecollect": [], "fetch": [], "fetch_all_measurements_async": [], "fetch_wisconet_biomass": [], "field": 6, "file": [5, 6], "fillna": [], "filter": [], "fit": [2, 5], "fix": [], "follow": [], "forecast": 2, "forecasting_d": [], "forklift": 5, "format": [], "formula": [], "forward": 6, "found": [], "four": [], "frac": [], "framework": [], "friction": 2, "friendli": 2, "frogey": [], "frogeye_risk": [], "frogeye_risk_class": [], "from": [0, 2, 3, 6], "fromisoformat": [], "front": [5, 6], "function": [2, 6], "fundament": 2, "fungu": [], "further": 2, "g": [], "gdd": [], "gdd_0c": [], "gdd_sine": [], "gdd_total": [], "gener": [], "geojson": [], "geojson_adapt": [], "geojson_schema": [], "geometri": [], "geospati": 1, "get": [5, 6], "get_weather_with_risk": [], "gi": [], "git": 0, "github": 2, "gitignor": 0, "global": [], "globe": [], "gls_risk": [], "gls_risk_class": [], "go": [5, 6], "goal": 5, "grai": [], "green": [], "grow": [], "growth": [], "guid": 6, "ha": [], "handl": [], "handler": [], "haproxi": 6, "hard": [], "harmon": [], "health": [], "healthcheck": [], "hello": 3, "help": 2, "helper": [], "hendrickson": 5, "here": [0, 1, 5], "high": [], "higher": 2, "histor": [], "histori": 2, "hod": [], "homepag": 0, "hope": 5, "horizont": 6, "host": [], "hotcloud": 5, "hour": [], "hourli": [], "html": 0, "http": [0, 5, 6], "human": [], "humid": [], "i": [1, 2, 5, 6], "ibm_api_kei": [], "ibm_servic": [], "icdcsw": 5, "id": [], "identifi": [], "idl": 2, "imag": 6, "implement": [2, 5], "import": [], "improv": 2, "inact": [], "inch": [], "includ": 2, "incom": 6, "increment": 2, "independ": 6, "index": 0, "individu": [], "inflect": [], "influenc": 2, "info": [], "inform": [], "ingest": [], "initi": 5, "input": [], "insid": 6, "instal": 0, "institut": 1, "integr": [1, 2], "intellig": 1, "interact": [], "intercept": [], "interfac": 2, "interpol": [], "interpret": [], "interv": [], "invok": 5, "io": 0, "ipynb": [], "irrig": [], "issu": 2, "its": [1, 2, 6], "jaim": 2, "jb": [], "json": 6, "jupyt": 0, "just": 5, "jwt": [], "k": [], "keep": 6, "kei": 6, "label": [], "lambda": [0, 1, 2, 5, 6], "larg": 5, "last": [], "lat": [], "latenc": 6, "latitud": [], "layer": [], "lb": [], "leaf": [], "lean": 5, "left": [], "let": 2, "librari": 5, "lifecycl": 6, "like": 2, "limit": [], "line": [], "lint": [], "linux": [5, 6], "linux contain": 5, "list": [], "listen": 6, "ll": [3, 4], "lng": [], "load": [5, 6], "load_stations_sync": [], "loadbalanc": [], "local": [5, 6], "localhost": 6, "locat": 2, "log": 6, "log_level": [], "log_output": 6, "logic": [], "login": 5, "logist": [], "logit": [], "long": 2, "longitud": [], "longstand": 2, "look": 2, "low": [], "lower": [], "m": 0, "madison": 1, "mai": 3, "main": 5, "maintain": [], "make": 5, "manag": [5, 6], "manipul": [], "manual": [5, 6], "map": [], "materi": [], "math": [], "math_help": [], "mathemat": [], "max": [], "maydi": [], "md": [0, 5], "mean": [], "measur": [], "merg": [], "merge_biomass": [], "merge_station_metadata": [], "merge_wisconet_biomass": [], "mesonet": [], "messag": [], "metadata_stations_": [], "method": [], "metric": [], "min": [], "minim": 2, "minut": 6, "mitig": [], "mm": [], "mode": 5, "model": [1, 2], "model_schema": [], "moder": [], "modern": 2, "moistur": [], "mold": [], "monitor": [], "month": [], "more": [0, 2, 5], "mostli": 5, "mount": [], "mph": [], "multi": [1, 6], "multipl": 2, "multiprocess": [], "n": 6, "name": 6, "nation": [], "nativ": 2, "natur": 2, "need": 2, "network": [], "new": [2, 3, 4, 5], "next": 1, "nginx": 6, "nighttim": [], "noaa": [], "node": [5, 6], "non": [], "normal": [], "note": [3, 4], "notebook": [], "now": 1, "num_work": [], "numer": [], "numpi": [], "o": 2, "oak": 5, "observ": [], "obtain": [], "off": [], "ol": 2, "old": [], "onboard": 2, "onc": [], "one": 6, "open": [0, 1, 2, 5], "openapi": [], "openlambda": [1, 6], "oper": 6, "opportunist": 2, "optim": [5, 6], "option": [2, 6], "orchestr": [], "org_id": [], "organ": [], "our": 2, "output": [], "overhead": 2, "packag": 5, "panda": [], "paper": 6, "parallel": [], "paramet": [], "pars": [], "pass": 6, "path": 6, "pattern": 2, "payload": 6, "pd": [], "peak": [], "per": 6, "perform": [3, 4], "period": 6, "permiss": [], "persist": 2, "pf": [], "phase": 1, "phyllachora": [], "pip": 0, "pipelin": [], "pipsqueak": 5, "place": 6, "plan": [], "plant": [], "plant_date_obj": [], "plant_doi": [], "planting_d": [], "platform": 2, "pleas": 1, "plu": [], "point": [], "pool": [2, 5], "port": [2, 6], "post": [2, 6], "practic": 2, "pre": [], "precip": [], "precip1hour_sum": [], "precip_daili": [], "precip_fal": [], "precipit": [], "pred": [], "predict": [], "premium": [], "prep": [], "presenc": [], "present": 6, "previou": [], "primari": 5, "print": 6, "prob": [], "probabl": [], "problem": [], "process": [2, 6], "product": 5, "profession": [], "project": [3, 5], "properti": [], "provid": 1, "provis": [5, 6], "proxi": [], "public": [], "pull": 6, "purpos": [], "push": 0, "put": 5, "py": [], "py_compil": [], "pydant": [], "pylint": [], "python": [0, 2], "pythonpath": [], "queri": [], "question": 2, "quickstart": 6, "r": 0, "r3": [], "rainfal": [], "rang": 2, "rapid": [5, 6], "rare": [], "rate": [], "rather": 2, "raw": [], "re": [], "read": 5, "readabl": [], "readi": [], "real": 2, "rebuild": [], "recommend": 6, "redeploi": [], "redoc": [], "reduc": [2, 6], "redund": [], "refer": 1, "refresh": [], "regener": 2, "region": [], "registri": 6, "regress": [], "rel": [], "relativehumidity_max": [], "relativehumidity_min": [], "releas": [3, 4], "relev": [], "reli": 2, "reload": [], "remov": 2, "replac": [], "repo": 6, "repositori": [], "request": [5, 6], "requir": [0, 2, 6], "research": 6, "residu": [], "resolut": [], "respect": 6, "respons": [5, 6], "rest": [], "result": [2, 6], "result_typ": [], "retri": [], "retriev": [], "return": 6, "reus": 2, "revers": [], "rh": [], "risk": 1, "risk_dai": [], "risk_df": [], "risk_model": [], "risk_processor": [], "roll": [], "rolling_mean": [], "root": [0, 6], "rout": 6, "router": [], "row": [], "rule": [], "run": [5, 6], "runlambda": 6, "runtim": 2, "rye_biomass": [], "rye_daili": [], "saascor": [], "same": [], "sandbox": 6, "save": [], "scale": 6, "schema": [], "scienc": 1, "scientif": [], "sclerotinia": [], "sclerotiorum": [], "score": [], "script": [], "see": 5, "select": [], "sep": [], "sequenti": [], "seri": [], "serv": 2, "server": [2, 6], "serverless": [2, 5, 6], "servic": [1, 2, 5], "set": [0, 2], "setup": 6, "shape": 2, "share": [3, 4], "shift": [], "shm": 2, "short": 6, "should": [], "show": [], "side": [2, 6], "sidebar": [], "similar": 6, "sinc": [], "sine": [], "singl": [2, 5, 6], "site": [], "situat": 2, "slim": [], "smaller": [], "so": 5, "sock": [5, 6], "soil": [], "sojina": [], "sourc": 1, "south": [], "soybean": [], "space": [3, 4], "specif": [], "specifi": [], "speed": [], "spot": [], "stage": [], "standalon": 6, "standard": 6, "start": [2, 5], "startup": 6, "state": 2, "stateless": [2, 6], "statewid": [], "station_data_": [], "station_id": [], "station_measurements_cach": [], "station_nam": [], "station_timezon": [], "statu": 6, "stdlib": [], "stdout": 6, "step": [], "still": [], "str": [], "structur": [], "sub": [], "subsequ": 6, "suitabl": 5, "sum": [], "summari": [], "support": 2, "sure": [], "surfac": 2, "swagger": [], "synchron": 2, "syntax": [], "system": 5, "tabl": 0, "tabular": [], "take": 5, "tar": [], "target": 2, "tarspot": [], "tarspot_risk": [], "tarspot_risk_class": [], "task": [5, 6], "team": 3, "technic": [0, 3], "technologi": 1, "temp": [], "temperatur": [], "temperature_max": [], "temperature_max_c": [], "temperature_mean": [], "temperature_mean_c": [], "temperature_min": [], "temperature_min_c": [], "temperaturedewpoint_max": [], "temperaturedewpoint_min": [], "tenant": [], "tenant_id": [], "termin": [], "termination_d": [], "text": [], "than": 2, "them": [5, 6], "thi": [2, 3, 4, 5], "those": 2, "threshold": [], "through": 1, "ti": [], "tier": [], "time": 2, "time_seri": [], "timeout": [], "timestamp": [], "timetupl": [], "titl": 5, "tl": [], "tm_ydai": [], "token": [], "tool": 1, "tornado": 2, "total": [], "traefik": [], "transit": [], "tree": 5, "true": [], "ttl": [], "two": [], "txt": 0, "type": [], "ui": [], "under": [5, 6], "underli": 2, "unifi": [], "unit": 2, "univers": 1, "until": 6, "updat": [], "url": 6, "us": [0, 1, 2, 3, 4, 5], "usag": [], "user": [], "utc": [], "util": 2, "uvicorn": [], "uw": [], "v10": [], "v2": [], "valid": 1, "variabl": 2, "variant": [], "venu": 5, "venv": [], "verbos": [], "verifi": 6, "via": 6, "view": [], "virtual": [], "visibl": 2, "vm": 5, "w": 6, "wait": [2, 6], "warm": [2, 6], "we": [2, 3, 4, 5], "weather": 1, "web": 2, "welcom": [3, 4], "well": 5, "wet": [], "when": [2, 6], "where": [2, 5, 6], "whether": [2, 6], "which": 2, "white": [], "whitemold_dry_risk": [], "whitemold_dry_risk_class": [], "wi": [], "wide": [2, 6], "wind": [], "window": [], "windspeed_max": [], "windspeed_mean": [], "wisc": [], "wisconet_active_st": [], "wisconet_biomass": [], "wisconet_g": [], "wisconet_servic": [], "wisconsin": 1, "work": [2, 5, 6], "workdir": [], "worker": 5, "worker_port": 6, "workflow": 0, "workload": 2, "world": 2, "wosc": 5, "write": 6, "written": 5, "wsgi": 2, "x_0": [], "xxx": [], "yang": 5, "year": [], "yellow": [], "yml": 0, "you": [5, 6], "your": [], "your_kei": [], "your_org": [], "your_ten": [], "yourself": 5, "yyi": [], "yyyi": [], "zeae": [], "zygot": 5, "zzz": []}, "titles": ["OpenLambda GitHub Pages \u2014 MyST Markdown Site", "Agricultural Forecasting API", "Applications", "OpenLambda Blog", "Hello, OpenLambda Blog", "OpenLambda", "Worker"], "titleterms": {"0": [], "1": 0, "2": [], "3": [], "4": [], "One": 0, "action": [], "ad": [], "addit": [], "agricultur": 1, "api": 1, "app": 2, "applic": 2, "architectur": [], "asgi": 2, "async": [], "avail": [], "biomass": [], "blog": [3, 4], "cach": [], "calcul": [], "changelog": [], "clone": 0, "collect": [], "complet": [], "compos": [], "concurr": [], "configur": 6, "consider": [], "content": [], "coordin": [], "copi": 0, "core": [], "corn": [], "current": [], "data": [], "date": [], "depend": [], "deploi": [2, 6], "deploy": [], "design": [], "develop": [], "directori": [], "diseas": [], "do": 0, "docker": [], "document": [], "effici": [], "ei": [], "enabl": [], "endpoint": [], "environ": [], "environment": [], "extern": [], "fastapi": 2, "featur": [], "file": 0, "flow": [], "forecast": 1, "format": [], "frogey": [], "further": 6, "geojson": [], "github": 0, "grai": [], "group": [], "handl": [], "hello": 4, "high": [], "how": 2, "ibm": [], "instal": [], "integr": [], "intellig": [], "journei": [], "just": 2, "kei": [], "leaf": [], "legaci": [], "level": [], "licens": 5, "local": 0, "markdown": 0, "mesonet": [], "metadata": [], "model": [], "modul": [], "mold": [], "more": [], "multi": [], "multipl": 6, "myst": 0, "new": [], "onc": 0, "openlambda": [0, 2, 3, 4, 5], "optim": [], "output": [], "overview": [1, 6], "page": 0, "per": 0, "perform": [], "pipelin": [], "prerequisit": [], "preview": 0, "process": [], "product": [], "public": 5, "read": 6, "relat": 5, "repo": 0, "request": [], "resourc": [], "respons": [], "risk": [], "rye": [], "seri": [], "servic": [], "setup": 0, "site": 0, "sourc": [], "soybean": [], "spot": [], "stack": [], "start": 6, "station": [], "strategi": [], "structur": 0, "suit": [], "system": [], "tabl": [], "tarspot": [], "technic": [], "technologi": [], "test": [], "thi": 0, "time": 0, "timezon": [], "tip": [], "troubleshoot": [], "u": 2, "v1": [], "v2": [], "variabl": [], "version": [], "want": 2, "weather": [], "white": [], "winter": [], "wisconet": [], "worker": 6}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"1. Clone the repo and copy these files in": [[0, "clone-the-repo-and-copy-these-files-in"]], "Agricultural Forecasting API": [[1, null]], "An Application Case Study: Forecasting Crop Disease with OpenLambda": [[4, null]], "Applications": [[2, null]], "Configuration": [[7, "configuration"]], "Deploying Multiple Workers": [[7, "deploying-multiple-workers"]], "File Structure": [[0, "file-structure"]], "Further Reading": [[7, "further-reading"]], "Hello, OpenLambda Blog": [[5, null]], "License": [[6, "license"]], "Local Preview": [[0, "local-preview"]], "One-Time Setup (do this once per repo)": [[0, "one-time-setup-do-this-once-per-repo"]], "OpenLambda": [[6, null]], "OpenLambda Blog": [[3, null]], "OpenLambda GitHub Pages \u2014 MyST Markdown Site": [[0, null]], "Overview": [[1, "overview"], [7, "overview"]], "Related Publications": [[6, "related-publications"]], "Starting the Worker": [[7, "starting-the-worker"]], "Want to deploy FastAPI apps on OpenLambda? Just ASGI us how.": [[2, "want-to-deploy-fastapi-apps-on-openlambda-just-asgi-us-how"]], "Worker": [[7, null]]}, "docnames": ["README", "applications/ag-forecasting-api", "applications/index", "blog/index", "blog/post/2026-05-18-ag-forecasting-case-study", "blog/post/2026-05-18-hello-world", "index", "worker"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["README.md", "applications/ag-forecasting-api.md", "applications/index.md", "blog/index.md", "blog/post/2026-05-18-ag-forecasting-case-study.md", "blog/post/2026-05-18-hello-world.md", "index.md", "worker.md"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [2, 7], "0": [], "003663": [], "031": [], "05": [], "09": [], "10": [], "100": [], "1049": [], "11": [], "12": [], "1234": [], "14": [], "15": [], "16": 6, "17": 6, "18": [3, 6], "20": [], "2000": [], "2024": [], "2025": [], "2026": 3, "21": [], "24": 6, "28": [], "2878": [], "30": [], "31": [], "3250": [], "35": [], "366": [], "38": [], "404": [], "423": [], "43": [], "45": [], "4500": [], "4567": [], "5": [], "50": [], "6": [], "6h": [], "7": [], "7d": [], "8": [], "8000": [], "8080": 7, "85": [], "89": [], "9": [], "90": [], "92": [], "999": [], "A": [2, 7], "By": [], "For": 1, "In": [2, 4], "It": 7, "No": 7, "On": 2, "That": [], "The": [1, 2, 4, 6, 7], "To": [2, 7], "With": 6, "__init__": [], "_annotate_winter_rye_biomass": [], "_build": 0, "_build_daili": [], "_compute_winter_rye_biomass": [], "_config": 0, "_doi": [], "_fall": [], "_fetch_raw_hourli": [], "_run_pipelin": [], "_toc": 0, "_total": [], "about": 6, "abov": [], "aboveground": [], "absolut": [], "access": [], "accumul": [], "acquisit": [], "acr": [], "action": 0, "activ": [], "ad": 4, "adapt": [], "add": [0, 2, 3, 4], "address": [2, 7], "adjust": 2, "after": 7, "ag": 2, "ag_api": [], "ag_forecast": [], "ag_forecasting_api": 4, "ag_models_wrapp": [], "agforecast": 4, "aggreg": [], "agricultur": [2, 4], "agronom": [], "ahead": 2, "aiohttp": [], "air": [], "al": 6, "all": 0, "alongsid": 2, "alpin": [], "alreadi": 7, "also": [2, 6], "alten": [], "altn": [], "america": [], "an": [2, 3, 6], "analysi": [], "annot": [], "apach": 6, "api": [2, 4], "api_cach": [], "api_kei": [], "apotheci": [], "app": [], "app_v1": [], "appli": [], "applic": 3, "approach": [2, 6, 7], "ar": [2, 4, 6, 7], "arithmet": [], "arriv": 7, "asgi": [1, 4], "assess": [], "assumpt": [], "async": 2, "atc": 6, "authent": [], "author": 6, "auto": 0, "automat": 0, "avail": [], "averag": [], "avg": [], "await": [], "awar": [], "axi": [], "b_": [], "b_0": [], "back": 7, "backend": 7, "backward": [], "balanc": [6, 7], "base": [1, 2, 4, 6], "basi": 4, "basic": [], "batch": [], "becaus": [2, 4], "behind": 7, "believ": [2, 3, 4], "benefici": 2, "best": [3, 4], "better": 2, "between": 7, "bill": 2, "bin": 7, "binari": 7, "biomass_color": [], "biomass_lb_acr": [], "biomass_messag": [], "biomass_result": [], "bit": 6, "block": 2, "book": 0, "boss": [6, 7], "both": 2, "branch": [], "broader": [2, 4], "broadli": 2, "browser": 0, "build": [0, 2, 7], "built": 4, "bulk": [], "bundl": 0, "busi": [], "c": [], "cach": [], "calc": [], "calcul": [], "calculate_tarspot_risk": [], "calculate_winter_rye_biomass": [], "call": [4, 7], "caller": 7, "can": [2, 6, 7], "cap": [], "capabl": [], "caraza": [3, 4], "case": 3, "categori": [], "cd": 0, "cdn": [], "cdot": [], "central": [6, 7], "cercospora": [], "challeng": 4, "chang": 2, "chapter": [], "characterist": [], "check": [1, 7], "chicago": [], "choic": 2, "chunk": [], "citi": [], "class": [], "classif": [], "classifi": [], "client": [], "clone": [], "cloud comput": 6, "cluster": [6, 7], "cmd": [], "co": 2, "coeffici": [], "col": [], "cold": 7, "color": [], "columbia": [], "column": [], "com": 0, "combin": 1, "commit": 0, "compat": [], "compil": 4, "compon": 7, "comput": [2, 3, 4, 6], "compute_risks_in_parallel": [], "concern": 2, "concurr": 2, "conda": [], "config": 7, "configur": [], "confirm": [], "connect": [], "consolid": 2, "constant": [], "constraint": 2, "contact": [], "contain": [6, 7], "container": [], "content": 0, "context": [], "continu": 2, "contribut": 2, "convers": [], "convert": [], "coordin": 7, "copi": [], "core": 7, "corn": [], "could": 6, "counti": [], "cover": [], "coverag": [], "creat": [], "credenti": [], "crop": [1, 3], "ctrl": [], "cumsum": [], "cumul": [], "curl": 7, "current": [6, 7], "curv": [], "cycl": [], "dai": [], "daili": [], "damon": [], "dashboard": [], "data": [1, 2, 3, 4], "datafram": [], "dataframe_to_featurecollect": [], "date": [], "datetim": [], "dd": [], "decim": [], "decis": [], "deep": 3, "deeper": 2, "def": [], "default": 7, "definit": [], "degre": [], "demand": 2, "dens": [], "dep": 0, "depart": [3, 4], "depend": 2, "deploi": [0, 6], "deploy": [2, 3, 4, 7], "deprec": [], "describ": [4, 7], "descript": 7, "design": [2, 3, 4, 5], "detail": 6, "detect": 2, "dev": 2, "develop": [1, 4, 7], "dew": [], "dir": [], "direct": 4, "directori": 7, "discuss": [3, 5], "diseas": [1, 3], "disease_metadata": [], "distinguish": 2, "dive": 3, "django": 4, "doc": [], "docker": 7, "dockerfil": [], "document": [0, 1], "doit": [], "domain": [], "door": [2, 4], "drive": 2, "dry": [], "dsi": 4, "dst": [], "dual": [], "dure": [], "e": [], "each": 7, "earlier": 2, "ecosystem": [], "edu": [], "effect": [], "emb": [], "embed": [], "emerg": [], "enabl": [2, 6], "endpoint": 7, "enhanc": [], "ensembl": [], "enter": 1, "entir": [], "entri": [], "environ": [2, 4], "eros": [], "error": [], "establish": [], "estim": [], "et": 6, "etc": [], "evalu": [], "even": 4, "eventu": 6, "ever": [3, 4], "everi": [], "evolut": 2, "exampl": [], "example_callapi": [], "execut": 2, "expand": 2, "experi": [3, 5], "explor": 6, "export": [], "expos": 7, "extend": 2, "extract": [], "f": [], "fail": [], "fall": [], "fall_precip": [], "fall_start": [], "fallback": [], "far": 6, "farmer": [], "fastapi": [1, 4], "faster": [2, 6], "featur": [2, 3, 4], "featurecollect": [], "fetch": [], "fetch_all_measurements_async": [], "fetch_wisconet_biomass": [], "field": 7, "file": [6, 7], "fillna": [], "filter": [], "fit": [2, 6], "fix": [], "flask": 4, "follow": [], "forecast": [2, 3], "forecasting_d": [], "forklift": 6, "format": [], "formula": [], "forward": 7, "found": [], "four": 4, "frac": [], "framework": [], "friction": 2, "friendli": 2, "frogey": [], "frogeye_risk": [], "frogeye_risk_class": [], "from": [0, 2, 3, 7], "fromisoformat": [], "front": [6, 7], "function": [2, 4, 7], "fundament": 2, "fungu": [], "further": 2, "futur": 4, "g": [], "gdd": [], "gdd_0c": [], "gdd_sine": [], "gdd_total": [], "gener": [], "geojson": [], "geojson_adapt": [], "geojson_schema": [], "geometri": [], "geospati": 1, "get": [6, 7], "get_weather_with_risk": [], "gi": [], "git": 0, "github": [2, 4], "gitignor": 0, "global": [], "globe": [], "gls_risk": [], "gls_risk_class": [], "go": [6, 7], "goal": [3, 4, 6], "grai": [], "green": [], "grow": [3, 4], "growth": [], "guid": 7, "ha": [], "handl": [], "handler": [], "haproxi": 7, "hard": [], "harmon": [], "harter": [3, 4], "health": [], "healthcheck": [], "hello": 3, "help": [2, 3, 4], "helper": [], "hendrickson": 6, "here": [0, 1, 6], "high": [], "higher": 2, "histor": [], "histori": 2, "hod": [], "homepag": 0, "hope": 6, "horizont": 7, "host": [], "hotcloud": 6, "hour": [], "hourli": [], "html": 0, "http": [0, 6, 7], "human": [], "humid": [], "i": [1, 2, 3, 4, 6, 7], "ibm_api_kei": [], "ibm_servic": [], "icdcsw": 6, "id": [], "identifi": [3, 4], "idl": 2, "imag": 7, "implement": [2, 4, 6], "import": [], "improv": 2, "inact": [], "inch": [], "includ": 2, "incom": 7, "increment": 2, "independ": 7, "index": 0, "individu": [], "inflect": [], "influenc": 2, "info": [], "inform": [], "ingest": [], "initi": 6, "input": [], "insid": 7, "instal": 0, "institut": [1, 3, 4], "integr": [1, 2], "intellig": 1, "interact": [], "intercept": [], "interest": [3, 4], "interfac": 2, "interpol": [], "interpret": [], "interv": [], "invok": 6, "io": 0, "ipynb": [], "irrig": [], "issu": 2, "its": [1, 2, 4, 7], "jaim": 2, "jb": [], "json": 7, "jupyt": 0, "just": 6, "jwt": [], "k": [], "keep": 7, "kei": 7, "label": [], "lambda": [0, 1, 2, 6, 7], "larg": 6, "last": [], "lat": [], "latenc": 7, "latitud": [], "layer": [], "lb": [], "leaf": [], "lean": 6, "left": [], "let": 2, "librari": 6, "lifecycl": 7, "like": 2, "limit": [], "line": [], "lint": [], "linux": [6, 7], "linux contain": 6, "list": [], "listen": 7, "ll": [3, 5], "lng": [], "load": [6, 7], "load_stations_sync": [], "loadbalanc": [], "local": [6, 7], "localhost": 7, "locat": 2, "log": 7, "log_level": [], "log_output": 7, "logic": [], "login": 6, "logist": [], "logit": [], "long": 2, "longitud": [], "longstand": 2, "look": 2, "low": [], "lower": [], "m": 0, "madison": [1, 3, 4], "mai": 3, "main": 6, "maintain": [], "make": [3, 4, 6], "manag": [6, 7], "manipul": [], "manual": [6, 7], "map": [], "maria": [3, 4], "materi": [], "math": [], "math_help": [], "mathemat": [], "max": [], "maydi": [], "md": [0, 6], "mean": [], "measur": [], "merg": [], "merge_biomass": [], "merge_station_metadata": [], "merge_wisconet_biomass": [], "mesonet": [], "messag": [], "metadata_stations_": [], "method": [], "metric": [], "min": [], "minim": [2, 3, 4], "minut": 7, "mitig": [], "mm": [], "mode": 6, "model": [1, 2], "model_schema": [], "moder": [], "modern": 2, "modif": [3, 4], "moistur": [], "mold": [], "monitor": [], "month": [], "more": [0, 2, 6], "most": [3, 4], "mostli": 6, "mount": [], "mph": [], "multi": [1, 7], "multipl": 2, "multiprocess": [], "n": 7, "name": 7, "nation": [], "nativ": 2, "natur": 2, "need": 2, "network": [], "new": [2, 3, 4, 5, 6], "next": 1, "nginx": 7, "nighttim": [], "noaa": [], "node": [6, 7], "non": [], "normal": [], "note": [3, 5], "notebook": [], "now": 1, "num_work": [], "numer": [], "numpi": [], "o": 2, "oak": 6, "observ": [], "obtain": [], "off": [], "ol": [2, 3, 4], "old": [], "onboard": 2, "onc": [], "one": 7, "open": [0, 1, 2, 4, 6], "openapi": [], "openlambda": [1, 7], "oper": 7, "opportunist": 2, "optim": [6, 7], "option": [2, 7], "orchestr": [], "org_id": [], "organ": [], "origin": [3, 4], "oro": [3, 4], "our": [2, 3, 4], "output": [], "overhead": 2, "packag": [4, 6], "pain": [3, 4], "panda": [], "paper": 7, "parallel": [], "paramet": [], "pars": [], "pass": 7, "path": 7, "pattern": 2, "payload": 7, "pd": [], "peak": [], "per": 7, "perform": [3, 5], "period": 7, "permiss": [], "persist": 2, "pf": [], "phase": 1, "phyllachora": [], "pick": [3, 4], "pip": [0, 4], "pipelin": [], "pipsqueak": 6, "place": 7, "plan": [], "plant": [], "plant_date_obj": [], "plant_doi": [], "planting_d": [], "platform": 2, "pleas": 1, "plu": [], "point": [3, 4], "pool": [2, 6], "popular": 4, "port": [2, 3, 4, 7], "post": [2, 4, 7], "practic": 2, "pre": [], "precip": [], "precip1hour_sum": [], "precip_daili": [], "precip_fal": [], "precipit": [], "pred": [], "predict": [], "premium": [], "prep": [], "presenc": [], "present": 7, "previou": [], "primari": 6, "print": 7, "prob": [], "probabl": [], "problem": [], "process": [2, 7], "product": 6, "profession": [], "program": 4, "project": [3, 6], "properti": [], "provid": 1, "provis": [6, 7], "proxi": [], "public": [], "pull": 7, "purpos": [], "push": 0, "put": 6, "py": [], "py_compil": [], "pydant": [], "pylint": [], "python": [0, 2, 4], "pythonpath": [], "queri": [], "question": 2, "quickstart": 7, "r": 0, "r3": [], "rainfal": [], "rang": [2, 4], "rapid": [6, 7], "rare": [], "rate": [], "rather": 2, "raw": [], "re": [], "read": 6, "readabl": [], "readi": [], "real": 2, "rebuild": [], "recent": 4, "recommend": 7, "redeploi": [], "redoc": [], "reduc": [2, 7], "redund": [], "refer": 1, "refresh": [], "regener": 2, "region": [], "registri": 7, "regress": [], "rel": [], "relativehumidity_max": [], "relativehumidity_min": [], "releas": [3, 5], "relev": [], "reli": 2, "reload": [], "remov": 2, "replac": [], "repo": 7, "repositori": [], "request": [6, 7], "requir": [0, 2, 7], "research": 7, "residu": [], "resolut": [], "respect": 7, "respons": [6, 7], "rest": 4, "result": [2, 7], "result_typ": [], "retri": [], "retriev": [], "return": 7, "reus": 2, "revers": [], "rh": [], "risk": 1, "risk_dai": [], "risk_df": [], "risk_model": [], "risk_processor": [], "roll": [], "rolling_mean": [], "root": [0, 7], "rout": 7, "router": [], "row": [], "rule": [], "run": [6, 7], "runlambda": 7, "runtim": 2, "rye_biomass": [], "rye_daili": [], "saascor": [], "same": [], "sandbox": 7, "save": [], "scale": 7, "schema": [], "scienc": [1, 3, 4], "scientif": [], "sclerotinia": [], "sclerotiorum": [], "score": [], "script": [], "see": 6, "select": 4, "sep": [], "sequenti": [], "seri": [], "serv": 2, "server": [2, 7], "serverless": [2, 3, 4, 6, 7], "servic": [1, 2, 6], "set": [0, 2, 3, 4], "setup": 7, "shape": 2, "share": [3, 5], "shift": [], "shm": 2, "short": 7, "should": [], "show": [], "side": [2, 7], "sidebar": [], "similar": [3, 4, 7], "simpler": 4, "sinc": [], "sine": [], "singl": [2, 6, 7], "site": [], "situat": 2, "slim": [], "smaller": [], "so": [4, 6], "sock": [6, 7], "soil": [], "sojina": [], "sourc": 1, "south": [], "soybean": [], "space": [3, 5], "specif": [], "specifi": [], "speed": [], "spiritu": 4, "spot": [], "stage": [], "standalon": 7, "standard": 7, "start": [2, 4, 6], "startup": 7, "state": 2, "stateless": [2, 7], "statewid": [], "station_data_": [], "station_id": [], "station_measurements_cach": [], "station_nam": [], "station_timezon": [], "statu": 7, "stdlib": [], "stdout": 7, "step": [], "still": [], "str": [], "structur": [], "studi": 3, "sub": [], "subsequ": 7, "successor": 4, "suitabl": 6, "sum": [], "summari": [], "support": [2, 3, 4], "sure": [], "surfac": 2, "swagger": [], "synchron": 2, "syntax": [], "system": 6, "t": [3, 4], "tabl": 0, "tabular": [], "take": 6, "tar": [], "target": 2, "tarspot": [], "tarspot_risk": [], "tarspot_risk_class": [], "task": [6, 7], "team": 3, "technic": [0, 3], "technologi": 1, "temp": [], "temperatur": [], "temperature_max": [], "temperature_max_c": [], "temperature_mean": [], "temperature_mean_c": [], "temperature_min": [], "temperature_min_c": [], "temperaturedewpoint_max": [], "temperaturedewpoint_min": [], "tenant": [], "tenant_id": [], "termin": [], "termination_d": [], "text": [], "than": 2, "them": [3, 4, 6, 7], "thi": [2, 3, 4, 5, 6], "those": 2, "threshold": [], "through": 1, "ti": [], "tier": [], "time": 2, "time_seri": [], "timeout": [], "timestamp": [], "timetupl": [], "titl": 6, "tl": [], "tm_ydai": [], "token": [], "tool": 1, "tornado": 2, "total": [], "toward": [3, 4], "traefik": [], "transit": [], "tree": 6, "true": [], "try": [3, 4], "ttl": [], "turn": 4, "two": [], "txt": 0, "tyler": [3, 4], "type": [], "u": [3, 4], "ui": [], "under": [6, 7], "underli": 2, "unifi": [], "unit": 2, "univers": [1, 3, 4], "until": 7, "updat": [], "url": 7, "us": [0, 1, 2, 3, 4, 5, 6], "usag": [], "user": [], "utc": [], "util": 2, "uvicorn": [], "uw": 4, "v10": [], "v2": [], "valid": 1, "variabl": [2, 4], "variant": [], "venu": 6, "venv": [], "verbos": [], "verifi": 7, "via": 7, "view": [], "virtual": [], "visibl": 2, "vm": 6, "w": 7, "wai": [3, 4], "wait": [2, 7], "warm": [2, 7], "we": [2, 3, 4, 5, 6], "weather": 1, "web": [2, 4], "welcom": [3, 5], "well": 6, "weren": [3, 4], "wet": [], "when": [2, 7], "where": [2, 6, 7], "whether": [2, 7], "which": [2, 4], "white": [], "whitemold_dry_risk": [], "whitemold_dry_risk_class": [], "wi": [], "wide": [2, 7], "wind": [], "window": [], "windspeed_max": [], "windspeed_mean": [], "wisc": [], "wisconet_active_st": [], "wisconet_biomass": [], "wisconet_g": [], "wisconet_servic": [], "wisconsin": [1, 3, 4], "work": [2, 3, 4, 6, 7], "workdir": [], "worker": 6, "worker_port": 7, "workflow": 0, "workload": 2, "world": 2, "wosc": 6, "write": 7, "written": 6, "wsgi": [2, 4], "x_0": [], "xxx": [], "yang": 6, "year": [], "yellow": [], "yml": 0, "you": [6, 7], "your": [], "your_kei": [], "your_org": [], "your_ten": [], "yourself": 6, "yyi": [], "yyyi": [], "zeae": [], "zygot": 6, "zzz": []}, "titles": ["OpenLambda GitHub Pages \u2014 MyST Markdown Site", "Agricultural Forecasting API", "Applications", "OpenLambda Blog", "An Application Case Study: Forecasting Crop Disease with OpenLambda", "Hello, OpenLambda Blog", "OpenLambda", "Worker"], "titleterms": {"0": [], "1": 0, "2": [], "3": [], "4": [], "One": 0, "action": [], "ad": [], "addit": [], "agricultur": 1, "an": 4, "api": 1, "app": 2, "applic": [2, 4], "architectur": [], "asgi": 2, "async": [], "avail": [], "biomass": [], "blog": [3, 5], "cach": [], "calcul": [], "case": 4, "changelog": [], "clone": 0, "collect": [], "complet": [], "compos": [], "concurr": [], "configur": 7, "consider": [], "content": [], "coordin": [], "copi": 0, "core": [], "corn": [], "crop": 4, "current": [], "data": [], "date": [], "depend": [], "deploi": [2, 7], "deploy": [], "design": [], "develop": [], "directori": [], "diseas": 4, "do": 0, "docker": [], "document": [], "effici": [], "ei": [], "enabl": [], "endpoint": [], "environ": [], "environment": [], "extern": [], "fastapi": 2, "featur": [], "file": 0, "flow": [], "forecast": [1, 4], "format": [], "frogey": [], "further": 7, "geojson": [], "github": 0, "grai": [], "group": [], "handl": [], "hello": 5, "high": [], "how": 2, "ibm": [], "instal": [], "integr": [], "intellig": [], "journei": [], "just": 2, "kei": [], "leaf": [], "legaci": [], "level": [], "licens": 6, "local": 0, "markdown": 0, "mesonet": [], "metadata": [], "model": [], "modul": [], "mold": [], "more": [], "multi": [], "multipl": 7, "myst": 0, "new": [], "onc": 0, "openlambda": [0, 2, 3, 4, 5, 6], "optim": [], "output": [], "overview": [1, 7], "page": 0, "per": 0, "perform": [], "pipelin": [], "prerequisit": [], "preview": 0, "process": [], "product": [], "public": 6, "read": 7, "relat": 6, "repo": 0, "request": [], "resourc": [], "respons": [], "risk": [], "rye": [], "seri": [], "servic": [], "setup": 0, "site": 0, "sourc": [], "soybean": [], "spot": [], "stack": [], "start": 7, "station": [], "strategi": [], "structur": 0, "studi": 4, "suit": [], "system": [], "tabl": [], "tarspot": [], "technic": [], "technologi": [], "test": [], "thi": 0, "time": 0, "timezon": [], "tip": [], "troubleshoot": [], "u": 2, "v1": [], "v2": [], "variabl": [], "version": [], "want": 2, "weather": [], "white": [], "winter": [], "wisconet": [], "worker": 7}})
\ No newline at end of file
diff --git a/_toc.yml b/_toc.yml
index f55657e..79dea18 100644
--- a/_toc.yml
+++ b/_toc.yml
@@ -12,4 +12,5 @@ chapters:
- file: blog/index
title: Blog
sections:
- - glob: blog/posts/*
\ No newline at end of file
+ - file: blog/post/2026-05-18-hello-world
+ - file: blog/post/2026-05-18-agforecast-case-study
\ No newline at end of file
diff --git a/blog/post/2026-05-18-hello-world.md b/blog/post/2026-05-18-hello-world.md
new file mode 100644
index 0000000..7a403e3
--- /dev/null
+++ b/blog/post/2026-05-18-hello-world.md
@@ -0,0 +1,13 @@
+---
+blogpost: true
+date: 2026-05-18
+author: open-lambda
+category: Releases
+tags: announcement, openlambda
+language: en
+---
+
+# Hello, OpenLambda Blog
+
+Welcome to the new OpenLambda blog. We'll use this space to share release
+notes, performance experiments, and design discussions.
\ No newline at end of file
-
+
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + + + 2026-05-18 + + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -244,6 +265,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -259,7 +284,7 @@
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +208,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + + + 2026-05-18 + + + +
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +208,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + + + 2026-05-18 + + + +
- + + + + 2026-05-18 + + + +
- + + + + 2026-05-18 + + + +
- + + 18 May - An Application Case Study: Forecasting Crop Disease with OpenLambda + + +
- +
- + agforecast + + +
- announcement -
- +
- + asgi + + +
- + case-study + + +
- + fastapi + + +
- openlambda @@ -186,6 +208,10 @@
- + Case Studies (1) + +
- Releases (1) @@ -201,7 +227,7 @@
- + + + + 2026-05-18 + + + +
- Agricultural Forecasting API
- Blog
-
+
- Blog
- Agricultural Forecasting API
- Blog
-
+
- Blog
ӭ:A;!ԑׇyMu}:֦&οP+]TGI`hôUmilY̴.QZj;Tb}E,>_}A \ No newline at end of file diff --git a/_build/html/search.html b/_build/html/search.html index e0fcd45..610a244 100644 --- a/_build/html/search.html +++ b/_build/html/search.html @@ -187,7 +187,8 @@ - Agricultural Forecasting API
- Blog
-
+
- Blog
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/language/en/atom.xml b/_build/html/blog/language/en/atom.xml
index 6a6762f..b96fdbb 100644
--- a/_build/html/blog/language/en/atom.xml
+++ b/_build/html/blog/language/en/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts in en
- 2026-05-18T20:49:10.784103+00:00
+ 2026-05-18T21:40:18.242715+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/language"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
new file mode 100644
index 0000000..6c35ed3
--- /dev/null
+++ b/_build/html/blog/post/2026-05-18-ag-forecasting-case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+An Application Case Study: Forecasting Crop Disease with OpenLambda#
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+Recently, we selected an agricultural forecasting application (AgForecast), developed by the Data Science Institute at UW–Madison, to port to OpenLambda: UW-Madison-DSI/ag_forecasting_api. AgForecast is an interesting case study, because it implements its REST API using FastAPI, which in turn uses ASGI, the so-called “spiritual successor” to WSGI, which we recently started supporting in OpenLambda. WSGI is the basis for popular Python web-programming packages such as Django and Flask; new ASGI support opens the door to an even broader range of applications.
+In this post, we describe the challenges of porting AgForecast to OL, and four new features we added to OL to make deployment of similar applications in the future simpler. The features are built-in ASGI support, direct GitHub-to-OL deployments, OL function environment variables, and OL-based pip compilation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hello, OpenLambda Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/post/2026-05-18-hello-world.html b/_build/html/blog/post/2026-05-18-hello-world.html
index bb9539d..4359895 100644
--- a/_build/html/blog/post/2026-05-18-hello-world.html
+++ b/_build/html/blog/post/2026-05-18-hello-world.html
@@ -59,7 +59,8 @@
-
+
+
@@ -213,6 +212,12 @@
@@ -226,11 +231,27 @@
Tags
-
+
@@ -438,6 +463,13 @@ Hello, OpenLambda Blog
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
@@ -458,6 +490,15 @@ Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
-
-
-
+ +
+ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
An Application Case Study: Forecasting Crop Disease with OpenLambda
+ +An Application Case Study: Forecasting Crop Disease with OpenLambda#
+Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+Recently, we selected an agricultural forecasting application (AgForecast), developed by the Data Science Institute at UW–Madison, to port to OpenLambda: UW-Madison-DSI/ag_forecasting_api. AgForecast is an interesting case study, because it implements its REST API using FastAPI, which in turn uses ASGI, the so-called “spiritual successor” to WSGI, which we recently started supporting in OpenLambda. WSGI is the basis for popular Python web-programming packages such as Django and Flask; new ASGI support opens the door to an even broader range of applications.
+In this post, we describe the challenges of porting AgForecast to OL, and four new features we added to OL to make deployment of similar applications in the future simpler. The features are built-in ASGI support, direct GitHub-to-OL deployments, OL function environment variables, and OL-based pip compilation.
+@@ -226,11 +231,27 @@
Tags
-
+
@@ -438,6 +463,13 @@ Hello, OpenLambda Blog
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
@@ -458,6 +490,15 @@ Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
-
-
-
-
+
@@ -438,6 +463,13 @@ Hello, OpenLambda Blog
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
@@ -458,6 +490,15 @@ Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
Hello, OpenLambda Blog
diff --git a/_build/html/blog/tag.html b/_build/html/blog/tag.html
index 76f4f99..0d27a78 100644
--- a/_build/html/blog/tag.html
+++ b/_build/html/blog/tag.html
@@ -155,6 +155,12 @@
+
Tags
-
+
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
-
-
-
-
+
@@ -352,6 +378,25 @@
+
+
+ Posts tagged
+ agforecast
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ asgi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ case-study
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+ Posts tagged
+ fastapi
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+
+
+
+
+
+ 2026-05-18
+ -
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
diff --git a/_build/html/blog/tag/agforecast.html b/_build/html/blog/tag/agforecast.html
new file mode 100644
index 0000000..6dbfce6
--- /dev/null
+++ b/_build/html/blog/tag/agforecast.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged agforecast
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/agforecast/atom.xml b/_build/html/blog/tag/agforecast/atom.xml
new file mode 100644
index 0000000..fe37ac3
--- /dev/null
+++ b/_build/html/blog/tag/agforecast/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged agforecast
+ 2026-05-18T21:40:18.249385+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/announcement.html b/_build/html/blog/tag/announcement.html
index d5f233d..e78ce32 100644
--- a/_build/html/blog/tag/announcement.html
+++ b/_build/html/blog/tag/announcement.html
@@ -155,6 +155,12 @@
+
+ Posts tagged + agforecast + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
++ Posts tagged + asgi + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
++ Posts tagged + case-study + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
++ Posts tagged + fastapi + +
+ ++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
++ + 2026-05-18 + - + An Application Case Study: Forecasting Crop Disease with OpenLambda +
++ + + + + Posts tagged agforecast + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
Tags
-
+
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
@@ -168,11 +174,27 @@
Tags
-
+
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
-
-
-
-
+
diff --git a/_build/html/blog/tag/announcement/atom.xml b/_build/html/blog/tag/announcement/atom.xml
index c817040..07a2d44 100644
--- a/_build/html/blog/tag/announcement/atom.xml
+++ b/_build/html/blog/tag/announcement/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged announcement
- 2026-05-18T20:49:10.787417+00:00
+ 2026-05-18T21:40:18.250561+00:00
ABlog
diff --git a/_build/html/blog/tag/asgi.html b/_build/html/blog/tag/asgi.html
new file mode 100644
index 0000000..5f9b747
--- /dev/null
+++ b/_build/html/blog/tag/asgi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged asgi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/asgi/atom.xml b/_build/html/blog/tag/asgi/atom.xml
new file mode 100644
index 0000000..9a5d1a1
--- /dev/null
+++ b/_build/html/blog/tag/asgi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged asgi
+ 2026-05-18T21:40:18.251674+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/case-study.html b/_build/html/blog/tag/case-study.html
new file mode 100644
index 0000000..3361874
--- /dev/null
+++ b/_build/html/blog/tag/case-study.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged case-study
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/case-study/atom.xml b/_build/html/blog/tag/case-study/atom.xml
new file mode 100644
index 0000000..2ee7f24
--- /dev/null
+++ b/_build/html/blog/tag/case-study/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged case-study
+ 2026-05-18T21:40:18.252875+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/fastapi.html b/_build/html/blog/tag/fastapi.html
new file mode 100644
index 0000000..2112abc
--- /dev/null
+++ b/_build/html/blog/tag/fastapi.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi — OpenLambda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Posts tagged fastapi
+
+
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_build/html/blog/tag/fastapi/atom.xml b/_build/html/blog/tag/fastapi/atom.xml
new file mode 100644
index 0000000..84bf9da
--- /dev/null
+++ b/_build/html/blog/tag/fastapi/atom.xml
@@ -0,0 +1,51 @@
+
+
+ https://open-lambda.github.io/
+ OpenLambda Blog - Posts tagged fastapi
+ 2026-05-18T21:40:18.254639+00:00
+
+
+ ABlog
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
+
diff --git a/_build/html/blog/tag/openlambda.html b/_build/html/blog/tag/openlambda.html
index 97cef07..3c34508 100644
--- a/_build/html/blog/tag/openlambda.html
+++ b/_build/html/blog/tag/openlambda.html
@@ -155,6 +155,12 @@
+
+ + + + + Posts tagged asgi + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
+ + + + + Posts tagged case-study + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
+ + + + + Posts tagged fastapi + +
+ ++ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++
+
Tags
-
+
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
-
-
-
+
@@ -454,6 +480,106 @@
+
+
+
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+
+
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
+Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+
+
diff --git a/_build/html/blog/tag/openlambda/atom.xml b/_build/html/blog/tag/openlambda/atom.xml
index 309ee8c..8ec31c3 100644
--- a/_build/html/blog/tag/openlambda/atom.xml
+++ b/_build/html/blog/tag/openlambda/atom.xml
@@ -2,7 +2,7 @@
https://open-lambda.github.io/
OpenLambda Blog - Posts tagged openlambda
- 2026-05-18T20:49:10.788423+00:00
+ 2026-05-18T21:40:18.255820+00:00
ABlog
@@ -43,4 +43,46 @@ notes, performance experiments, and design discussions.
2026-05-18T00:00:00-05:00
+
+ https://open-lambda.github.io/blog/post/2026-05-18-ag-forecasting-case-study.html
+ An Application Case Study: Forecasting Crop Disease with OpenLambda
+ 2026-05-18T00:00:00-05:00
+
+ Tyler Caraza-Harter
+
+ <p class="ablog-post-excerpt"><p><em>Maria Oros, Data Science Institute, University of Wisconsin–Madison</em><br />
+<em>Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison</em></p>
+<p>Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.</p>
+</p>
+
+ <script type="text/x-thebe-config">
+ {
+ requestKernel: true,
+ binderOptions: {
+ repo: "binder-examples/jupyter-stacks-datascience",
+ ref: "master",
+ },
+ codeMirrorConfig: {
+ theme: "abcdef",
+ mode: "python"
+ },
+ kernelOptions: {
+ name: "python3",
+ path: "./blog/tag"
+ },
+ predefinedOutput: true
+ }
+ </script>
+ <script>kernelName = 'python3'</script>
+
+ Maria Oros, Data Science Institute, University of Wisconsin–Madison<br />
+\\
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–MadisonOur goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+
+
+
+
+
+ 2026-05-18T00:00:00-05:00
+
diff --git a/_build/html/genindex.html b/_build/html/genindex.html
index 1e02632..3ef730f 100644
--- a/_build/html/genindex.html
+++ b/_build/html/genindex.html
@@ -178,7 +178,8 @@
+ +
+ An Application Case Study: Forecasting Crop Disease with OpenLambda +
+-
+
Maria Oros, Data Science Institute, University of Wisconsin–Madison
+Tyler Caraza-Harter, Department of Computer Sciences, University of Wisconsin–Madison
Our goal is to make an ever-growing set of applications deployable on OpenLambda (OL), with minimal modifications. We believe the best way to work towards this goal is to pick interesting applications that weren’t originally designed for serverless deployment, try to port them to OL, and identify pain points. This helps us identify the most useful features to add to OL, to support similar deployments.
+ + + + + ++