language: python
dist: xenial  # required for Python >= 3.7
python: 3.7
cache: pip
before_install: pip install --upgrade pip setuptools
install: pip install -r requirements.txt
before_script:
  - black --check . || true
  - flake8 . --count --select=E9,F4,F63,F7,F82 --show-source --statistics
script:
  - scripts/validate_filenames.py  # no uppercase, no spaces, in a directory
  - mypy --ignore-missing-imports .
  - pytest . --doctest-modules
after_success:
  - scripts/build_directory_md.py > DIRECTORY.md
  - cat DIRECTORY.md