1SHELL := /bin/bash 2 3# SET UP 4# install software dependencies 5 6deps: 7 pip install --upgrade \ 8 -r requirements/development.txt \ 9 -r requirements/production.txt 10 11# BUILD 12# build and release packages 13 14sdist: 15 python setup.py sdist 16 17register: 18 python setup.py register 19 20# DOCUMENTATION 21# build user documentation 22 23site: 24 cd docs; make html 25 26docs: site 27 28# TESTING 29# unit tests, coverage testing and static type checking 30 31coverage: 32 coverage report --show-missing --include="magic*" 33 34lint: 35 flake8 --exit-zero magic tests 36 37test: 38 coverage run setup.py test 39 40unittest: 41 coverage run -m unittest discover 42 43# CLEAN 44# remove build artifacts 45 46clean: 47 python setup.py clean --all 48 find . -type f -name "*.pyc" -exec rm '{}' + 49 find . -type d -name "__pycache__" -exec rmdir '{}' + 50 rm -rf *.egg-info .coverage 51 cd docs; make clean 52