merely-useful / novice-py

Semester long course on introducing and teaching Python to beginners.
https://merely-useful.github.io/novice-r/
Other
1 stars 0 forks source link

Discussion: Content on the ecosystem of Python libraries, environments #8

Open DamienIrving opened 4 years ago

DamienIrving commented 4 years ago

In the Python lessons we'll ask learners to import libraries like pandas and matplotlib. At some point it might be worth explaining how those libraries fit into the wider Python ecosystem. In particular, the idea that libraries are built on top of other libraries to hide the complexity of the lower libraries (i.e. abstraction) is an important one for people to understand. You can kind of build up a layered picture of the ecosystem, e.g:

python_stack_generic

For the novice materials, I think we'd just need to give a basic overview of the ecosystem and then explain how Python distributions (like conda) install all the common libraries for you so that you don't have to worry about it.

In the RSE Python lessons, it might be worth going further and explaining about things like conda environments, pip and conda-forge (i.e. how to install things that don't come with your distribution). An example of what I'm thinking of is the first lesson in the Data Carpentry lessons for atmosphere and ocean scientists: https://carpentrieslab.github.io/python-aos-lesson/01-conda/index.html

DamienIrving commented 4 years ago

Relates to merely-useful/py-rse#436

lwjohnst86 commented 4 years ago

This seems more appropriate for novice, since we don't use too many packages here. Moving