message: Added all jobs to circleCI
  Added virtualenv.
  Added cache support.
diff: +# Python CircleCI 2.0 configuration file
  +#
  +# Check https://circleci.com/docs/2.0/language-python/ for more details
  +#
  version: 2.1
  jobs:
  build:
  docker:
  + # specify the version you desire here
  + # use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
  - image: circleci/python:3.7
  +
  + # Specify service dependencies here if necessary
  + # CircleCI maintains a library of pre-built images
  + # documented at https://circleci.com/docs/2.0/circleci-images/
  + # - image: circleci/postgres:9.4
  +
  steps:
  - checkout
  - - run: echo "hello world"
  +
  + # Download and cache dependencies
  + - restore_cache:
  + keys:
  + - v1-dependencies-{{ checksum "setup.py" }}
  + # fallback to using the latest cache if no exact match is found
  + - v1-dependencies-
  +
  + - run:
  + name: install dependencies
  + command: |
  + python3 -m venv venv
  + . venv/bin/activate
  + ./scripts/setup.sh
  +
  + - save_cache:
  + paths:
  + - ./venv
  + key: v1-dependencies-{{ checksum "setup.py" }}
  +
  + # run tests!
  + # this example uses Django's built-in test-runner
  + # other common Python testing frameworks include pytest and nose
  + # https://pytest.org
  + # https://nose.readthedocs.io
  + - run:
  + name: run tests
  + command: |
  + . venv/bin/activate
  + ./scripts/test.sh
  +
  + - run:
  + name: run tests slow
  + command: |
  + . venv/bin/activate
  + ./scripts/test_slow.sh
  +
  + - run:
  + name: run tests benchmark
  + command: |
  + . venv/bin/activate
  + train --benchmark_name=integration_test
  