Skip to content

Commit 9958795

Browse files
committed
Merge branch 'main' into module-4
2 parents 1f7dd53 + 9324834 commit 9958795

27 files changed

+3564
-225
lines changed

.github/workflows/deploy-to-gh-pages.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ on:
55
branches: ["main"]
66
workflow_dispatch:
77

8-
env:
9-
BASE_URL: "/${{ github.event.repository.name }}"
10-
118

129
# Allow one concurrent deployment
1310
concurrency:

01-prerequisites.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This workshop requires a few prerequisites:
44

55

6-
## A computer with a web browser installed
6+
## A *fully-charged* computer with a web browser installed
77

88
All activities in this workshop will be performed in a cloud computing environment
99
called [CryoCloud](https://cryointhecloud.com/).
@@ -17,6 +17,15 @@ This means you can participate even on a Chromebook or a locked-down corporate c
1717
Please [sign up for a GitHub account](https://github.com/signup) if you haven't already.
1818

1919

20+
## Accept invitation to CryoCloud Slack
21+
22+
You have been sent an invitation to join the CryoCloud Slack!
23+
Please accept it!
24+
25+
All asynchronous support will occur on this Slack; if you need support with setup steps
26+
or questions after the workshop, Slack is the best place to ask.
27+
28+
2029
## Complete the CryoCloud onboarding process
2130

2231
1. Fill out this short [Getting Started Survey](https://forms.gle/d8oP1gp9YikS2ixM8) to give us the
@@ -45,3 +54,14 @@ will give you access to log in to CryoCloud.
4554
right up!
4655
* You will see a dialog to "Authorize nasa-cryo-prod" on your first login.
4756
**Click the green "Authorize 2i2c-org" button**.
57+
58+
59+
## Read relevant codes of conduct
60+
61+
### [The AGU Code of Conduct](https://connect.agu.org/codeofconduct)
62+
63+
Specifically, please read the sections titled **The rules** and **Discussion group
64+
etiquette**.
65+
66+
67+
### [The CryoCloud Code of Conduct](https://book.cryointhecloud.com/code-of-conduct)

02-schedule.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ These materials are under development and subject to change all the way until
77
AGU!
88
:::
99

10+
## 🍽️ Breakfast! (8:00-9:00)
11+
12+
Breakfast will be provided in the room.
13+
14+
Vegetarian options will be available and all ingredients will be listed.
15+
16+
1017
## 🌅 Morning (8:30 - 12:00)
1118

1219
| Time | Duration | Topic | Presenter(s) |
@@ -16,16 +23,15 @@ AGU!
1623
| 9:25 AM | 10 minutes | **Break** | |
1724
| 9:35 AM | 60 minutes | [](modules/02-interactive-viz/index.ipynb) | Qiusheng |
1825
| 10:35 AM | 10 minutes | **Break** | |
19-
| 10:45 AM | 60 minutes | [](modules/03-integrating-ai/index.md) | Qiusheng |
26+
| 10:45 AM | 60 minutes | [](modules/03-integrating-ai/index.ipynb) | Qiusheng |
2027
| 11:45 AM | 15 minutes | **Q&A** | All |
2128

2229
## 🍽️ Lunch! (12:00 - 1:30)
2330

24-
:::{important}
25-
AGU does not provide lunch.
31+
Lunch will be provided in the room.
32+
33+
Vegetarian options will be available and all ingredients will be listed.
2634

27-
We may do a group order for food delivery.
28-
:::
2935

3036
## 🌇 Afternoon (1:30 - 5:00)
3137

assets/styles/style.css

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,42 @@ body {
99
[aria-label="Document Outline"] {
1010
max-height: calc(100vh - 100px) !important;
1111
}
12+
13+
.myst-static-input-wrapper {
14+
border: 1px solid #ccc;
15+
}
16+
17+
.myst-static-input-wrapper::before {
18+
content: "📥 MyST input";
19+
display: block;
20+
background-color: #f5f5f5;
21+
border-bottom: 1px solid #ccc;
22+
padding: 8px 12px;
23+
font-weight: bold;
24+
font-size: 14px;
25+
color: #333;
26+
margin: 0;
27+
}
28+
29+
.myst-static-output-wrapper {
30+
border: 1px solid #ccc;
31+
margin-bottom: 20px;
32+
}
33+
34+
.myst-static-output-wrapper::before {
35+
content: "📤 MyST output";
36+
display: block;
37+
background-color: #f5f5f5;
38+
border-bottom: 1px solid #ccc;
39+
padding: 8px 12px;
40+
font-weight: bold;
41+
font-size: 14px;
42+
color: #333;
43+
margin: 0;
44+
}
45+
46+
.myst-static-content {
47+
padding-left: 12px;
48+
padding-right: 12px;
49+
margin: 0;
50+
}

docker/environment.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ dependencies:
66
- "jupyterlab>=4.4.2"
77

88
# Some cool extensions
9-
- "jupyterlab-favorites"
9+
- "jupyterlab-favorites <3.3.0" # 3.3.0 seems to introduce a bug duplicating headers in Notebook Markdown cells (https://github.com/jupyterlab-contrib/jupyterlab-favorites/issues/35)
1010
- "jupyter-collaboration>=3,<4"
1111
- "jupyter-server-proxy"
1212
- "jupyterlab-myst"
1313
- "jupyterlab-geojson"
14+
- "jupyterlab_execute_time"
1415
- "nbdime"
1516

1617
# Python mainstays
@@ -37,19 +38,22 @@ dependencies:
3738
- "shapely"
3839
- "fiona"
3940
- "pystac-client"
41+
- "odc-stac"
42+
- "ibis-duckdb"
43+
- "exactextract"
4044

4145
# geo viz
42-
- "jupytergis >=0.9.2"
46+
- "jupytergis >=0.10.1"
4347
- "leafmap"
4448
- "folium"
4549
- "cartopy"
4650
- "geoviews"
4751
- "maplibre"
4852

4953
# Publishing
50-
- "mystmd"
54+
- "mystmd >=1.6.6"
5155
- "typst"
52-
- "jupyter-myst-build-proxy >=0.5.0"
56+
- "jupyter-myst-build-proxy >=0.5.1"
5357

5458
# Testing and validation
5559
- "ruff"

docker/overrides.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"@jupyterlab/notebook-extension:tracker": {
3+
"scrollPastEnd": false
4+
},
5+
"@jupyterlab/apputils-extension:notification": {
6+
"fetchNews": "false"
7+
}
8+
}

docker/postBuild

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ set -euo pipefail
77
# used in the JupyterHub.
88
cp custom_jupyter_server_config.json ${NB_PYTHON_PREFIX}/etc/jupyter/jupyter_server_config.d/
99
cp custom_jupyter_server_config.json ${NB_PYTHON_PREFIX}/etc/jupyter/jupyter_notebook_config.d/
10+
11+
# Install settings overrides, including fix for jumping-scroll behavior
12+
mkdir -p ${NB_PYTHON_PREFIX}/share/jupyter/lab/settings
13+
cp overrides.json ${NB_PYTHON_PREFIX}/share/jupyter/lab/settings

for-instructors/helpers.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# 🪄 Helpers
2+
3+
This repository includes a `plugin-custom-directives.mjs` file which defines custom
4+
directives that will save some time authoring certain repeated elements.
5+
6+
## Git commit checkpoint directive
7+
8+
```{myst:static}
9+
:::{gitCommitCheckpoint} my commit message
10+
:::
11+
```
12+
13+
14+
## "You should notice..." directive
15+
16+
``````{myst:static}
17+
:::{youShouldNotice}
18+
...the `{youShouldNotice}` directive fully supports markdown in the body.
19+
This means you can, for example include some code:
20+
21+
```python
22+
print("Some code!")
23+
```
24+
:::
25+
``````

for-instructors/style-guide.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,30 @@ E.g.:
209209
:::
210210
```
211211

212+
**As a shortcut, you can use the `{youShouldNotice}` directive.**
213+
See [](./helpers.md).
214+
215+
216+
#### Committing
217+
218+
Use 💾 in a callout to indicate that the user should stop and do a commit now.
219+
Provide the full set of commands the user should run.
220+
221+
``````{myst}
222+
:::{important} 💾 Commit & push to GitHub
223+
:icon: false
224+
225+
```bash
226+
git add .
227+
git commit -m "Commit message"
228+
git push -u origin main
229+
```
230+
:::
231+
``````
232+
233+
**As a shortcut, you can use the `{gitCommitCheckpoint}` directive.**
234+
See [](./helpers.md).
235+
212236

213237
### Voice / language
214238

index.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
1+
# AGU 2025 Workshop: Open Geospatial Workflows in the Cloud
2+
3+
**What**: A full-day hands-on workshop; breakfast, lunch, and coffee provided.
4+
**All materials are available on this website**!
5+
AGU's identifier for this workshop is [SCIWS10](https://agu.confex.com/agu/agu25/meetingapp.cgi/Session/252640).
6+
The GeoJupyter community is hosting a total of 4 events; you can learn more at the
7+
[GeoJupyter @ AGU2025 landing page](https://events.geojupyter.org/conferences/2025-agu/)!
8+
9+
**When**: Thursday, December 18, 2025 @ 8:30 AM - 5:00 PM CT
10+
11+
**Where**: New Orleans Convention Center rooms 333-334
12+
113
:::{attention} 🏗️ Under development
214
:icon: false
315

416
These materials are under development and subject to change all the way until
517
AGU!
618
:::
719

20+
## Workshop abstract
21+
822
In an era where cutting-edge research demands flexibility, collaboration, and
923
reproducibility, having the right set of tools is imperative.
1024
This workshop propels you into the future with modern, cloud-based workflows for

0 commit comments

Comments
 (0)