Skip to content

Commit a0d576f

Browse files
Add SciPy2024 workshop landing page (#258)
* 2024 draft landing page * add a new codespace config, fix dates * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 9f99c2d commit a0d576f

File tree

6 files changed

+193
-0
lines changed

6 files changed

+193
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"build": {
3+
"dockerfile": "../Dockerfile",
4+
"context": "../../conda"
5+
},
6+
"postCreateCommand": {
7+
"jupyterlab": "mkdir /home/jovyan/.jupyter && cp ${containerWorkspaceFolder}/.devcontainer/scipy2024/jupyter_lab_config.py /home/jovyan/.jupyter/jupyter_lab_config.py",
8+
"vscode": "mkdir ${containerWorkspaceFolder}/.vscode && cp ${containerWorkspaceFolder}/.devcontainer/scipy2024/tasks.json ${containerWorkspaceFolder}/.vscode/tasks.json"
9+
},
10+
"hostRequirements": {
11+
"cpus": 2
12+
},
13+
"customizations": {
14+
"codespaces": {
15+
"openFiles": ["workshops/scipy2024/README.md"]
16+
},
17+
"vscode": {
18+
"extensions": ["ms-toolsai.jupyter", "ms-python.python"]
19+
}
20+
}
21+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Configuration file for lab.
2+
3+
c = get_config() # noqa
4+
5+
## The default URL to redirect to from `/`
6+
# Default: '/lab'
7+
c.LabApp.default_url = '/lab/tree/workshops/scipy2024/index.ipynb'
8+
9+
## Set the Access-Control-Allow-Origin header
10+
#
11+
# Use '*' to allow any origin to access your server.
12+
#
13+
# Takes precedence over allow_origin_pat.
14+
# Default: ''
15+
c.ServerApp.allow_origin = '*'

.devcontainer/scipy2024/tasks.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "jupyterlab",
6+
"type": "shell",
7+
"command": "/srv/conda/envs/notebook/bin/jupyter lab --no-browser",
8+
"presentation": {
9+
"reveal": "always"
10+
},
11+
"runOptions": {
12+
"runOn": "folderOpen"
13+
}
14+
}
15+
]
16+
}

images/scipy2024.png

427 KB
Loading

workshops/scipy2024/README.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# SciPy 2024
2+
3+
## Xarray: Friendly, Interactive, and Scalable Scientific Data Analysis
4+
5+
Organized by:
6+
7+
- Scott Henderson (Univ. Washington)
8+
- Jessica Scheick (Univ. New Hampshire)
9+
- Negin Sobhani (National Center for Atmospheric Research)
10+
- Tom Nicholas [C]worthy
11+
- Max Jones (CarbonPlan)
12+
- Wietze Suijker (Space Intelligence)
13+
14+
## Learning Goals
15+
16+
- Learn how to leverage Xarray’s powerful backend and extension capabilities to customize workflows and open a variety of scientific datasets
17+
- Effectively use Xarray’s multidimensional indexing operations
18+
- Understand how Xarray can wrap other array types in the scientific Python ecosystem
19+
- Understand how to apply custom functions to Xarray data structures
20+
- Orient yourself to Xarray resources to continue on your Xarray journey!
21+
22+
## Outline
23+
24+
These are links to rendered webpages if you'd just like to read. Further down this page is an 'Instructions' section that explains how to spin up an interactive computing environment.
25+
26+
```{dropdown} Introduction
27+
{doc}`../../overview/get-started`
28+
29+
{doc}`../../fundamentals/02.1_indexing_Basic`
30+
31+
TODO: Domain-agnositic data model, backends/engines
32+
```
33+
34+
```{dropdown} Indexing and Computation
35+
{doc}`../../intermediate/indexing/advanced-indexing`
36+
37+
{doc}`../../intermediate/01-high-level-computation-patterns`
38+
39+
{doc}`../../intermediate/xarray_and_dask`
40+
```
41+
42+
```{dropdown} Extending & Customizing Xarray
43+
{doc}`../../advanced/01_accessor_examples.ipynb`
44+
45+
{doc}`../../advanced/1.Backend_without_Lazy_Loading.ipynb
46+
```
47+
48+
```{dropdown} Synthesis
49+
TODO: A Guided 'bring-your-own data exercise
50+
```
51+
52+
## Instructions
53+
54+
### Running Locally
55+
56+
See instructions to set up the environment for running the tutorial material [here](get-started).
57+
58+
### Github Codespaces
59+
60+
This tutorial is available to run within [Github Codespaces](https://github.com/features/codespaces) - "a development environment that's hosted in the cloud" - with the conda environment specification in the [`conda-lock.yml`](../../conda/conda-lock.yml) file.
61+
62+
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new/xarray-contrib/xarray-tutorial/tree/main?devcontainer_path=.devcontainer%2Fscipy2023%2Fdevcontainer.json)
63+
64+
☝️ Click the button above to go to options window to launch a Github codespace.
65+
66+
A codespace is a development environment that's hosted in the cloud.
67+
You can choose from a selection of virtual machine types: 2 cores - 4 GB RAM - 32 GB storage, and 4 cores - 8 GB RAM - 32GB storage.
68+
Additionally, you are able to chose from various Dev container configuration, for this specific workshop, please ensure that `Scipy2024` is selected.
69+
GitHub currently gives every user [120 vCPU hours per month for free](https://docs.github.com/en/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#monthly-included-storage-and-core-hours-for-personal-accounts), beyond that you must pay. **So be sure to explicitly stop or shut down your codespace when you are done by going to this page (https://github.com/codespaces).**
70+
71+
Once your codespace is launched, the following happens:
72+
73+
- [Visual Studio Code](https://code.visualstudio.com/) Interface will open up within your browser.
74+
- A built in terminal will open and it will execute `jupyter lab` automatically.
75+
- Once you see a url to click within the terminal, simply `cmd + click` the given url.
76+
- This will open up another tab in your browser, leading to a [Jupyter Lab](https://jupyterlab.readthedocs.io/en/latest/) Interface.

workshops/scipy2024/index.ipynb

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "0",
6+
"metadata": {},
7+
"source": [
8+
"<img src=\"../../images/scipy2024.png\" align=\"right\" width=\"20%\">\n",
9+
"\n",
10+
"\n",
11+
"# Welcome to the Xarray SciPy 2024 Tutorial! \n",
12+
"\n",
13+
"**Xarray**: *Friendly, Interactive, and Scalable Scientific Data Analysis*\n",
14+
"\n",
15+
"July 8, 13:30–17:30 (US/Pacific), Room 317\n",
16+
"\n",
17+
"This *4-hour* workshop will explore content from [the Xarray tutorial](https://tutorial.xarray.dev), which contains a comprehensive collection of hands-on tutorial Jupyter Notebooks. We won't cover it all today, but instead will review a curated set of examples that will prepare you for increasingly complex real-world data analysis tasks!\n",
18+
"\n",
19+
"## *Draft* Schedule \n",
20+
"\n",
21+
"*Times in US/Pacific Timezone (Tacoma, WA)\n",
22+
"\n",
23+
"Use the links to navigate to the right notebooks.\n",
24+
"\n",
25+
"| Topic | Time | Notebook Links | \n",
26+
"| :- | - | - | \n",
27+
"| Introduction and Setup | 1:30 (10 min) | --- | \n",
28+
"| Xarray Data Model, Backends, Extensions | 1:40 (40 min) | [Quick Introduction to Indexing](../../fundamentals/02.1_indexing_Basic.ipynb) <br> [Boolean Indexing & Masking](../../intermediate/indexing/boolean-masking-indexing.ipynb) | \n",
29+
"| *10 minute Break* \n",
30+
"| Computational Patterns | 2:30 (50 min) | [Computation Patterns](../../intermediate/01-high-level-computation-patterns.ipynb) | \n",
31+
"| *10 minute Break* | \n",
32+
"| Wrapping other arrays | 3:30 (50 min) | [Xarray and Dask](../../intermediate/xarray_and_dask.ipynb) | \n",
33+
"| *10 minute Break* | \n",
34+
"| Synthesis, Explore your data! | 4:30 (30 min) <br> <br> <br> 5:00 (30 min) | Apply what you've learned, let's work together with your own data |\n",
35+
"| | **End 5:30** | |\n",
36+
"\n",
37+
"\n",
38+
"## Thanks for attending!\n",
39+
"\n",
40+
"Please continue to explore the subfolders in the JupyterLab File Browser for additional tutorial notebooks to run, or read the rendered notebooks at [https://tutorial.xarray.dev](https://tutorial.xarray.dev)"
41+
]
42+
},
43+
{
44+
"cell_type": "markdown",
45+
"id": "1",
46+
"metadata": {},
47+
"source": []
48+
}
49+
],
50+
"metadata": {
51+
"language_info": {
52+
"codemirror_mode": {
53+
"name": "ipython",
54+
"version": 3
55+
},
56+
"file_extension": ".py",
57+
"mimetype": "text/x-python",
58+
"name": "python",
59+
"nbconvert_exporter": "python",
60+
"pygments_lexer": "ipython3"
61+
}
62+
},
63+
"nbformat": 4,
64+
"nbformat_minor": 5
65+
}

0 commit comments

Comments
 (0)