# !!! WARNING !!!
# This file is automatically generated by ../rebuild-circleci-yaml
# !!! WARNING !!!
version: 2.1

jobs:
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py27-nose:
    docker:
      - image: python:2.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py27-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py27-nose2:
    docker:
      - image: python:2.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py27-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py27-pytest2:
    docker:
      - image: python:2.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py27-pytest2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py27-pytest3:
    docker:
      - image: python:2.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py27-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py27-unit:
    docker:
      - image: python:2.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py27-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py27-unit2:
    docker:
      - image: python:2.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py27-unit2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py35-nose:
    docker:
      - image: python:3.5
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py35-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py35-nose2:
    docker:
      - image: python:3.5
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py35-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py35-pytest2:
    docker:
      - image: python:3.5
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py35-pytest2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py35-pytest3:
    docker:
      - image: python:3.5
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py35-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py35-unit:
    docker:
      - image: python:3.5
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py35-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py35-unit2:
    docker:
      - image: python:3.5
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py35-unit2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py36-nose:
    docker:
      - image: python:3.6
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py36-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py36-nose2:
    docker:
      - image: python:3.6
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py36-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py36-pytest2:
    docker:
      - image: python:3.6
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py36-pytest2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py36-pytest3:
    docker:
      - image: python:3.6
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py36-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py36-unit:
    docker:
      - image: python:3.6
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py36-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py36-unit2:
    docker:
      - image: python:3.6
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py36-unit2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-pypy-nose:
    docker:
      - image: pypy:2
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e pypy-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-pypy-nose2:
    docker:
      - image: pypy:2
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e pypy-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-pypy-pytest2:
    docker:
      - image: pypy:2
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e pypy-pytest2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-pypy-pytest3:
    docker:
      - image: pypy:2
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e pypy-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-pypy-unit:
    docker:
      - image: pypy:2
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e pypy-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-pypy-unit2:
    docker:
      - image: pypy:2
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e pypy-unit2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py37-nose:
    docker:
      - image: python:3.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py37-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py37-nose2:
    docker:
      - image: python:3.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py37-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py37-pytest3:
    docker:
      - image: python:3.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py37-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py37-unit:
    docker:
      - image: python:3.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py37-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py37-unit2:
    docker:
      - image: python:3.7
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py37-unit2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py38-nose:
    docker:
      - image: python:3.8
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py38-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py38-nose2:
    docker:
      - image: python:3.8
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py38-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py38-pytest3:
    docker:
      - image: python:3.8
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py38-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py38-unit:
    docker:
      - image: python:3.8
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py38-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py38-unit2:
    docker:
      - image: python:3.8
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py38-unit2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py39-nose:
    docker:
      - image: python:3.9-rc
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py39-nose
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py39-nose2:
    docker:
      - image: python:3.9-rc
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py39-nose2
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py39-pytest3:
    docker:
      - image: python:3.9-rc
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py39-pytest3
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py39-unit:
    docker:
      - image: python:3.9-rc
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py39-unit
  
  # !!! WARNING !!!
  # This file is automatically generated by ../rebuild-circleci-yaml
  # !!! WARNING !!!

  test-py39-unit2:
    docker:
      - image: python:3.9-rc
    steps:
      - checkout
      - run:
          name: install tox
          command: pip install tox==3.7.0
      - run:
          name: run tests
          command: tox -e py39-unit2
  

workflows:
  main:
    jobs:
      - test-py27-nose
      - test-py27-nose2
      - test-py27-pytest2
      - test-py27-pytest3
      - test-py27-unit
      - test-py27-unit2
      - test-py35-nose
      - test-py35-nose2
      - test-py35-pytest2
      - test-py35-pytest3
      - test-py35-unit
      - test-py35-unit2
      - test-py36-nose
      - test-py36-nose2
      - test-py36-pytest2
      - test-py36-pytest3
      - test-py36-unit
      - test-py36-unit2
      - test-pypy-nose
      - test-pypy-nose2
      - test-pypy-pytest2
      - test-pypy-pytest3
      - test-pypy-unit
      - test-pypy-unit2
      - test-py37-nose
      - test-py37-nose2
      - test-py37-pytest3
      - test-py37-unit
      - test-py37-unit2
      - test-py38-nose
      - test-py38-nose2
      - test-py38-pytest3
      - test-py38-unit
      - test-py38-unit2
      - test-py39-nose
      - test-py39-nose2
      - test-py39-pytest3
      - test-py39-unit
      - test-py39-unit2
      # !!! WARNING !!!
# This file is automatically generated by ../rebuild-circleci-yaml
# !!! WARNING !!!