Code Monkey home page Code Monkey logo

cmm262-notebook's Introduction

cmm262-notebook

Warning โš ๏ธ This repository is obsolete and no longer maintained. Instead, please refer to https://github.com/biom262/cmm262-notebook

Build instructions

  1. Clone the repo
  2. Make a git branch
  3. Checkout your git branch & make changes within it
  4. Push branch to github & monitor the build under the actions tab
  5. If build successful, pull in your new tag from dockerhub and test it launch-scipy-ml.sh -P Always -i ghcr.io/ucsd-ets/cmm262-notebook:TAG
  6. If your tests are successful, merge your branch into the stable branch by creating & merging a pull request

cmm262-notebook's People

Contributors

aryarm avatar ckmah avatar daniellavo avatar ekofman avatar hmummey avatar jaureguy760 avatar mragsac avatar pratibhajagannatha avatar r1prasad avatar wesuuu avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ekofman ckmah

cmm262-notebook's Issues

use `nb_conda_kernels` instead of installing each kernel manually

nb_conda_kernels has more features, for ex: it would allow us to run tools installed in those environments using %%bash from within the notebooks

we just need to install it within whatever environment has jupyterlab installed. Our Dockerfile seems to use this one as its primary base image, which seems to install jupyterlab in the base environment. So all we need to do is add this to the Dockerfile:

mamba install -y -c conda-forge nb_conda_kernels

allow PRs from fork to run CI with secrets

PRs from forks do not have access to Github action secrets (source). This means that all PRs from a fork will fail to build.

It would be nice if there was a way to whitelist the TA fork of this repository so that secrets could be made available to it. This is particularly important because the TAs of the class change each year, and we would like to be able to allow the new TAs to commit to this repo without having to ask the DataHub team for push-access each year.

It would also be nice if there was a way to whitelist merges from our fork. I believe this is possible through a system similar to that of the conda-forge Github organization.

typo in R_LIBS_SITE env variable?

While reading through the Dockerfile, I noticed that one of the environment variables might be misspelled?

ENV R_LIB_SITE=/opt/conda/envs/r-bio/lib/R/library

Shouldn't this be R_LIBS_SITE (with an S after the LIB), instead?

As far as I can tell, the setup on Datahub has been working so far, so I'm not sure it's a major concern to address this. But I thought I would mention it just in case. Feel free to close this issue if it isn't something to worry about.

Use `conda-lock` to speed up builds

Our conda environments are re-solved upon each build but, in theory, a re-solve is only necessary when a yml environment file changes.

  • We should use conda-lock to create lock files for each yml file, and we should make sure to cache them
    • This might require creating a separate portion of our Dockerfile for this
  • Whenever a yml file changes, we should detect it and go update the corresponding lock file in the cache
  • Then, within our Dockerfile, we should copy the lock files from the cache into each build and then use them to install each environment

See also this description of how to use conda-lock with Docker.

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.