Skip to content

Everware is about re-useable science, it allows people to jump right in to your research code.

License

Notifications You must be signed in to change notification settings

everware/everware

Repository files navigation

everware

Gitter Build Status

Everware is about re-useable science, it allows people to jump right in to your research code.

It lets you launchJupyternotebooks from a git repository with a click of a button. Everware is an extension for JupyterHub.The main component is a spawner that allows you to spawn custom docker images.

Checkout theROADMAPto see where we are going and how to get involved with the project.

Seethis blog post for more information about whateverwareis and how it can be useful.

The idea for everware originated at the CERN Webfest 2015. The original everware team consists of @OmeGak, @ibab,@ndawe, @betatim, @uzzielperez, @anaderi,and @AxelVoitier.

Documentation

We have some documentation on the different ways to useeverwareand getting started.

Try it out

In order to deploy your owneverwareinstance, you have to:

  • installnodejsandnpm(platform-specific)
  • create and activate acondaenvironment with Python 3.5(or 3.6.0)
conda create -n everware Python =3.5
source activate everware
  • Clone this repo and installeverware
git clone https://github /everware/everware
cd everware
make install
  • Create a Github OAuth application with URLhttp://localhost:8000/and callback URL http://localhost:8000/hub/oauth_callback

  • Enter you OAuth information intoenv.shandsource env.sh.You will have to set these environment variables every time before runningeverware

  • If you are onMac OSmake sure the VM in which docker runs is started (docker-machine start <vm-name>) and your environment is setup properly (docker-machine env <vm-name>). Starteverwarewith:

everware-server -f etc/local_dockermachine_config.py --debug --no-ssl
  • If you are onLinuxmake suredockerdis running, your user is in docker group and your environment contains the required information (DOCKER_HOSTis set, etc). Then starteverwarewith
everware-server -f etc/local_config.py --debug --no-ssl

Everware can also be deployed in a Docker container. SeeEverware in Docker container

Development

Follow the instructions for deploying your own everware instance. In addition to run our tests you will needseleniumandfirefox.On OS X you can install selenium with:

brew install selenium-server-standalone

Note:if you are not starting from an environment that already contains dockerspawnermake sure it is updated to the right commit.pipwill be satisfied if it is installed which might leave you with an old version.

More information

Slides (2016-10):https://speakerdeck /anaderi/everware-toolkit-supporting-reproducible-science-and-challenge-driven-education

Paper (2017-02):https://arxiv.org/abs/1703.01200