You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: portal/cookbook-guide.md
+11
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,8 @@ These instructions assume that your goal is to contribute a new Cookbook to the
16
16
Using the Pythia Cookbook template to create reproducible documents housed elsewhere is definitely possible! But we don't focus on that use case in this guide.
17
17
```
18
18
19
+
---
20
+
19
21
## Data access
20
22
21
23
Before developing your cookbook, you should consider how it will access the data you plan to use. In loose order of preference, we recommend the following:
@@ -25,6 +27,8 @@ Before developing your cookbook, you should consider how it will access the data
25
27
1. Discuss your larger data storage needs with the Pythia team. We are currently experimenting with cloud object storage for Cookbooks via NSF JetStream2.
26
28
1. Provide the tools and/or clear documentation for accessing the data that you have stored somewhere else
27
29
30
+
---
31
+
28
32
## Use the template
29
33
30
34
1. If you don't already have a GitHub account, create one by following the [Getting Started with GitHub guide](https://foundations.projectpythia.org/foundations/getting-started-github.html)
@@ -40,6 +44,8 @@ Your cookbook is now ready to have content added!
40
44
In the rest of this guide, we assume that you are familiar with the basics of using git and GitHub. If not, we strongly recommend reading through our [GitHub tutorials in Foundations](https://foundations.projectpythia.org/foundations/getting-started-github.html).
41
45
```
42
46
47
+
---
48
+
43
49
## Transfer your cookbook repo to the ProjectPythia organization
44
50
45
51
In order for your Cookbook to be included in the Gallery, the source repository needs to be housed within the [Project Pythia GitHub organization](https://github.com/ProjectPythia).
@@ -68,13 +74,15 @@ Also, _don't worry about breaking anything!_ Your repo will not affect any other
68
74
69
75
Once you have successfully transfered the repository, you'll most likely want to make a [personal fork and a local clone of the repository](https://foundations.projectpythia.org/foundations/github/github-cloning-forking.html) so that you can continue to develop and collaborate on the Cookbook via the [forking workflow](https://foundations.projectpythia.org/foundations/github/github-workflows.html#forking-workflow).
70
76
77
+
---
71
78
72
79
## Customize the paths in your repository
73
80
74
81
Whether the repository lives in your personal GitHub space or on the ProjectPythia organization, there are several paths and links in the repository code that need to be updated to reflect the current home of your cookbook source. This step is necessary to ensure that the cookbook building and publishing infrastructure works as intended.
75
82
76
83
Fortunately this is quick and easy. Just run our custom GitHub action called `trigger-replace-links`: Navigate to "Actions" → "trigger-replace-links" → "Run workflow".
77
84
85
+
---
78
86
79
87
## Set up the computational environment
80
88
@@ -101,6 +109,7 @@ In each of these files, in the field called `environment_name:`, replace `cookb
101
109
If these workflow files look mysterious and you don't know anything about how GitHub Actions work, don't worry! The Pythia team will help with any problems that arise with the Cookbook automation.
102
110
```
103
111
112
+
---
104
113
105
114
## Develop your cookbook
106
115
@@ -139,6 +148,7 @@ To strip a notebook, in a Jupyter Lab session, go to "Kernel" → "Restart Ke
139
148
140
149
You're ready to push content up to GitHub and trigger the automated publishing pipeline.
141
150
151
+
---
142
152
143
153
## Deploying your Cookbook
144
154
@@ -196,6 +206,7 @@ Here's how:
196
206
The Binder uses your `environment.yml` file to create an image of an execution environment, which is stored for reuse. The time to execute your notebooks can vary, depending on whether the Binder needs to build a new image or not.
0 commit comments