Git Product home page Git Product logo

eoas_tlef's Introduction

EOAS Jupyter project - summer 2020

  • Title: Embedding Open-source Computational Tools into the Quantitative Earth Science Specializations

Summer Objectives

  1. Write undergrad-novice, undergrad-experienced, and grad-faculty python intro material
  1. Port the EOSC 211 matlab intro course to python/jupyter

  2. Develop Voilà dashboards for EOSC 340 and ENVR 300

  3. Develop a jupyter to canvas quiz converter based on r-exams

Three year objectives

Getting started

  1. Here is our project board

  2. Fork this repository

  3. Hopefully following this ebp readme will create an html version of a jupyter book and this myst-nb readme will create an html version of a notebook collection -- file an issue if there's a problem.

eoas_tlef's People

Contributors

andrewloeppky avatar fhmjones avatar marasolen avatar phaustin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eoas_tlef's Issues

porting dsci 100 nbgrader notebooks to python

As part of the python port for the dsci 100 R notebooks, we'll need to move all nbgrader tests to the python kernel.

using papermill to produce quiz questions

Adapt https://github.com/CFMTech/jupytext_papermill_post to produce muliple versions of the same quiz

repository: https://github.com/eoas-ubc/quiz_mill

jupyterbooks served from gitlab

  • figure out a workflow that would allow us to upload and download jupyterbooks to an eoas server, and create archived juputerbooks from git repos

  • write an ansible playbook to spin up a jupyterhub from an archived jupyterbook

runjb commands for gitbash on windows?

I'm working on a project that utilizes a makefile to build a jupyterbook. On windows, this results in the codec error, which led me to install runjb to my conda environment.

However, attempting to run runmyst.sh and runjb.sh on gitbash results in a command not found error.

I am unsure if I am missing something obvious or if runjb is not configured to work on gitbash on windows.

EOSC 211 course conversion

  • convert docx to notebooks
  • convert pptx to notebooks
  • convert latex to notebooks
  • write a matlab test suite calling matlab --batch from python

pdf printing using pagedjs

debug page refresh problem with ocgy dashboard

Look at this working example to see how they handle page refresh with hover:

https://github.com/phaustin/dash-sample-apps
https://dash.gallery/dash-covid-xray/

https://eoss-image-processing.github.io/2020/12/16/ct-app.html

https://github.com/jamiebyer/ocgy-dataviewer

  • Make a minimal reprodicible example of ocgy-dataviewer non-refersh
  • Make a minimal reproducible examle of dash-covid-xray refresh
  • either rewrite dataviewer to match xray behavior or vice versa

run executable books using binder or thebelab

Figure out how to run executable books in a standalone docker container that requires some kind of authentification, following the example at: https://brian-rose.github.io/ClimateLaboratoryBook/courseware/models-budgets-fun.html for UAlbany

I think we need to intialize 3 containers -- a volume with the book html files, a container running a simple web server pointed at index.html, and a volume running a jupyterhub on port that can be referenced in the book.

Examples:

  1. initializing docker compose volumes
  2. running apache
  3. docker compose for jupyterhub with oauth: https://opendreamkit.org/2018/10/17/jupyterhub-docker/
    and https://github.com/defeo/jupyterhub-docker

rendered book without jupyterhub links: https://phaustin.github.io/Problem-Solving-with-Python-37-Edition/
git repo with book files: https://github.com/phaustin/Problem-Solving-with-Python-37-Edition

Edit python intro text

Goal: produce the E211 equivalent of https://ubc-dsci.github.io/introduction-to-datascience/

  • adapt quantecon text for earth science
  • merge notebooks from pyman
  • figure out a versioning mechanism to produce different user versions (beginner, intermediate, ...)
  • figure out metadata to attach to notebooks (subject, prereqs, courses used in, etc.)

Resources available with open licenses:

http://greenteapress.com/thinkpython/html/index.html
https://hplgit.github.io/scipro-primer/slides/index.html
https://geo-python.github.io/site/course-info/course-info.html
https://jakevdp.github.io/WhirlwindTourOfPython/
https://github.com/jakevdp/PythonDataScienceHandbook
https://github.com/wesm/pydata-book
https://github.com/pangeo-data/education-material

create Voilà dashboards for EOAS courses

  • Install voila and run the tutorials
  • create a prototype dashboard with a layout similar to modtran, driven by data supplied from a pandas dataframe.
  • replace the dataframe with an interactive call to the modtran binary
  • move the dashboard to a departmental server or AWS kubernetes cluster.

split simple_jupyterhub into a couple separate branches/submodules

In addition to the all-in-one - https://github.com/slemonide/simple_jupyterhub I would like to have separate branches that add features incrementally -- something like:

  1. letsencrypt branch that just uses https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion to provide https for a single hub, with github oauth (e.g. using hub2.eoastest.xyz, which is currently pointing to jupyterhub-2.eoas.ubc.ca)
  2. a backup branch that adds restc to 1)
  3. a monitoring branch that adds monitoring to 1)
    etc.

then we document the separate branches as separate chapters in a jupyterbook.

voila dashboards for EOSC 340

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.