ProjectPythia / pythia-foundations

Jupyterbook source for the Foundations collection
http://foundations.projectpythia.org
Apache License 2.0
59 stars 42 forks source link

Providing a golden path to a working local environment #427

Open deeplycloudy opened 9 months ago

deeplycloudy commented 9 months ago

I looked at Pythia this semester as I was preparing to advise a course of MS students on how to set up conda + Jupyter on their (Windows, Mac, Linux) laptops. Pythia gives a great survey of options that affirms a whole range of reasonable preferences in the community. At the same time, I find that those learning often prefer clarity and a well-tested path: “do this,” not “consider these.” I had a hard time figuring out what from Pythia to recommend, and eventually wrote my own consolidated instructions.

I was inspired by past use of Unidata’s Python Workshop instructions. Those instructions are very focused since they came out of the urgency of teaching a workshop. (Thanks to @dcamron and @dopplershift for pointing me here to open this discussion after I asked about their future plans for their workshop instructions.) I have also had success with the instructions I used for a specialty workshop.

I’d like to propose adding something similar for Pythia. By committing to continuously refining a recommended starting point, I think we’d be more likely to uncover trouble spots from the community.

Perhaps illustrating the challenges faced by new programmers, I somehow sent out a conda environment that out failed to solve reliably on Windows, but manual env creation followed by manual install of other packages worked quickly and with no problems.

conda create -n atmo5331 python=3.10
conda install -c conda-forge [list of package names, everything except python]

That sort of first experience makes it hard to build trust for those new learners who are coming to the command line of necessity, not out of love!

Connecting such an environment to CI (across all likely platforms) could really help save students and faculty heartache as they try to spin up a new semester on the ever-changing stack.

Summarizing the proposal:

  1. Consolidate a quick-start page for local installations (from existing material and my own instructions)
  2. Possibly connect those quick-start instructions to CI if that doesn't already exist

If there is interest in (1), point me toward the right section of docs for this and I can open a PR.

Thinking about some first steps, I assume I should use one of the environments from #56, perhaps the Foundations .yml? Also illustrating the new-user confusion (at least as I see it), that yml is referenced in “how to use this book”, but not under “getting started.” So that’s the kind of consolidation I’d like to pursue.

brian-rose commented 9 months ago

Lots to respond to here, but I will quickly mention that we have an old outstanding issue about getting multi-platform CI support for environment installation: https://github.com/ProjectPythia/pythia-foundations/issues/283