Giter Site home page Giter Site logo

kdmccormick / tutor-contrib-kdmccormick Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 0.0 82 KB

Several small plugin that I use in my personal Tutor (docs.tutor.overhang.io) setup

License: Apache License 2.0

Python 99.06% Makefile 0.94%
tutor openedx docker edtech education plugin python

tutor-contrib-kdmccormick's Introduction

Kyle's Tutor plugins

Various single-module Tutor plugins that I use in my daily setup.

Some of these may be precursors to proper plugins; others may be prototypes of new core Tutor functionality that I plan to propose; others yet may always remain one-off plugins in this repository.

Installation

pip install git+https://github.com/kdmccormick/tutor-contrib-kdmccormick

Plugin: quickdev

See the quickdev docs.

Plugin: automountvenvs

Auto-mount folders prefixed with "venv-" as virtualenvs in various Tutor services.

# setup:
tutor plugins enable automountvenvs
tutor config save

# example usage:
tutor dev start -d -m edx-platform -m venv-openedx -m course-discovery -m venv-discovery

# without this plugin, that would have been:
tutor dev start -d -m edx-platform \
    -m lms,lms-worker,lms-job,cms,cms-worker,cms-job:venv-openedx:/openedx/venv
    -m course-discovery \
    -m discovery,discovery-job:venv-discovery:/openedx/venv

Roadmap

I will be retiring this plugin in favor of quickdev, described above.

Plugin: stopnightly

Automatically stop Tutor Nightly containers whenever starting (stable) Tutor containers, and vice versa.

Running multiple instances of Tutor simultaneously one machine will cause a lot of errors than can be hard to diagnose until you realize what's going on. In recognition of this, Tutor v13+ already automatically stops local your local platform when starting a dev platform, and vice versa. It doesn't, however, stop Nightly platforms when starting a stable platform (or vice versa). This plugin handles that, although the approach is kinda hacky.

# setup (assumes you have Tutor installed from a local git repo)
cd < path to your tutor repo >
git checkout master
tutor plugins enable stopnightly
tutor config save
git checkout nightly
tutor plugins enable stopnightly
tutor config save

# example usage:
cd < path to your tutor repo >
git checkout master     # From the latest stable Tutor version...
tutor local start -d    #   start a local platform.
git checkout nightly    # From the latest Tutor Nightly version...
tutor local start -d    #   start a local platform. Your first platform is automatically stopped.
git checkout master     # Switching back to the latest stable Tutor version...
tutor dev start -d      #   start a dev platform. Your Nightly platform is automatically stopped.

Roadmap

Propose as core Tutor feature, if and only if I can find a less hacky way to implement it. May require expansion of the V1 plugin API as a prerequisite. Related to a Tutor DevEnv project issue.

Plugin: configdiff

An experimental way to check how tutor config save will modify your Tutor environment. Usage is simply:

tutor plugins enable configdiff
# ...
# make some changes to your config.yml
# ...
tutor configdiff

It doesn't fully work. I'll either improve this or remove it.

License

This software is licensed under the terms of the Apache License 2.0

tutor-contrib-kdmccormick's People

Contributors

kdmccormick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.