mirror of https://github.com/tqdm/tqdm.git
184 lines
4.6 KiB
Makefile
184 lines
4.6 KiB
Makefile
# IMPORTANT: for compatibility with `python setup.py make [alias]`, ensure:
|
|
# 1. Every alias is preceded by @[+]make (eg: @make alias)
|
|
# 2. A maximum of one @make alias or command per line
|
|
# see: https://github.com/tqdm/py-make/issues/1
|
|
|
|
.PHONY:
|
|
alltests
|
|
all
|
|
flake8
|
|
test
|
|
testnose
|
|
testsetup
|
|
testcoverage
|
|
testperf
|
|
testtimer
|
|
distclean
|
|
coverclean
|
|
pre-commit
|
|
prebuildclean
|
|
clean
|
|
toxclean
|
|
installdev
|
|
install
|
|
build
|
|
buildupload
|
|
pypi
|
|
snap
|
|
docker
|
|
help
|
|
none
|
|
run
|
|
|
|
help:
|
|
@python setup.py make -p
|
|
|
|
alltests:
|
|
@+make testcoverage
|
|
@+make testperf
|
|
@+make flake8
|
|
@+make testsetup
|
|
|
|
all:
|
|
@+make alltests
|
|
@+make build
|
|
|
|
flake8:
|
|
@+flake8 -j 8 --count --statistics --exit-zero .
|
|
|
|
test:
|
|
TOX_SKIP_ENV=perf tox --skip-missing-interpreters -p all
|
|
tox -e perf
|
|
|
|
testnose:
|
|
nosetests -d -v tqdm
|
|
|
|
testsetup:
|
|
@make README.rst
|
|
@make tqdm/tqdm.1
|
|
@make tqdm/completion.sh
|
|
python setup.py check --metadata --restructuredtext --strict
|
|
python setup.py make none
|
|
|
|
testcoverage:
|
|
@make coverclean
|
|
nosetests -d -v tqdm --ignore-files="tests_perf\.py" --with-coverage --cover-package=tqdm --cover-erase --cover-min-percentage=80
|
|
|
|
testperf:
|
|
# do not use coverage (which is extremely slow)
|
|
nosetests -d -v tqdm/tests/tests_perf.py
|
|
|
|
testtimer:
|
|
nosetests -d -v tqdm --with-timer
|
|
|
|
# another performance test, to check evolution across commits
|
|
testasv:
|
|
# Test only the last 3 commits (quick test)
|
|
asv run -j 8 HEAD~3..HEAD
|
|
@make viewasv
|
|
|
|
testasvfull:
|
|
# Test all the commits since the beginning (full test)
|
|
asv run --skip-existing-commits -j 8 v1.0.0..HEAD
|
|
@make testasv
|
|
|
|
viewasv:
|
|
asv publish
|
|
asv preview
|
|
|
|
tqdm/tqdm.1: .meta/.tqdm.1.md tqdm/cli.py tqdm/std.py
|
|
# TODO: add to mkdocs.py
|
|
python -m tqdm --help | tail -n+5 |\
|
|
sed -r -e 's/\\/\\\\/g' \
|
|
-e 's/^ (--.*)=<(.*)> : (.*)$$/\n\\\1=*\2*\n: \3./' \
|
|
-e 's/^ (--.*) : (.*)$$/\n\\\1\n: \2./' \
|
|
-e 's/ (-.*, )(--.*) /\n\1\\\2\n: /' |\
|
|
cat "$<" - |\
|
|
pandoc -o "$@" -s -t man
|
|
|
|
tqdm/completion.sh: .meta/mkcompletion.py tqdm/std.py tqdm/cli.py
|
|
@python .meta/mkcompletion.py
|
|
|
|
README.rst: .meta/.readme.rst tqdm/std.py tqdm/cli.py
|
|
@python .meta/mkdocs.py
|
|
|
|
snapcraft.yaml: .meta/.snapcraft.yml
|
|
cat "$<" | sed -e 's/{version}/'"`python -m tqdm --version`"'/g' \
|
|
-e 's/{commit}/'"`git describe --always`"'/g' \
|
|
-e 's/{source}/./g' -e 's/{icon}/logo.png/g' \
|
|
-e 's/{description}/https:\/\/tqdm.github.io/g' > "$@"
|
|
|
|
.dockerignore: .gitignore
|
|
cat $^ > "$@"
|
|
echo ".git" > "$@"
|
|
git clean -xdn | sed -nr 's/^Would remove (.*)$$/\1/p' >> "$@"
|
|
|
|
distclean:
|
|
@+make coverclean
|
|
@+make prebuildclean
|
|
@+make clean
|
|
pre-commit:
|
|
# quick sanity checks
|
|
@make testsetup
|
|
flake8 -j 8 --count --statistics tqdm/ examples/
|
|
nosetests -d tqdm --ignore-files="tests_(perf|keras)\.py" -e "pandas|monitoring"
|
|
nosetests -d tqdm/tests/tests_perf.py -m basic_overhead
|
|
prebuildclean:
|
|
@+python -c "import shutil; shutil.rmtree('build', True)"
|
|
@+python -c "import shutil; shutil.rmtree('dist', True)"
|
|
@+python -c "import shutil; shutil.rmtree('tqdm.egg-info', True)"
|
|
coverclean:
|
|
@+python -c "import os; os.remove('.coverage') if os.path.exists('.coverage') else None"
|
|
@+python -c "import shutil; shutil.rmtree('tqdm/__pycache__', True)"
|
|
@+python -c "import shutil; shutil.rmtree('tqdm/contrib/__pycache__', True)"
|
|
@+python -c "import shutil; shutil.rmtree('tqdm/tests/__pycache__', True)"
|
|
clean:
|
|
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('*.py[co]')]"
|
|
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/*.py[co]')]"
|
|
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/contrib/*.py[co]')]"
|
|
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/tests/*.py[co]')]"
|
|
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/examples/*.py[co]')]"
|
|
toxclean:
|
|
@+python -c "import shutil; shutil.rmtree('.tox', True)"
|
|
|
|
|
|
installdev:
|
|
python setup.py develop --uninstall
|
|
python setup.py develop
|
|
submodules:
|
|
git clone git@github.com:tqdm/tqdm.wiki wiki
|
|
git clone git@github.com:tqdm/tqdm.github.io docs
|
|
git clone git@github.com:conda-forge/tqdm-feedstock feedstock
|
|
cd feedstock && git remote add autotick-bot git@github.com:regro-cf-autotick-bot/tqdm-feedstock
|
|
|
|
install:
|
|
python setup.py install
|
|
|
|
build:
|
|
@make prebuildclean
|
|
@make testsetup
|
|
python setup.py sdist bdist_wheel
|
|
# python setup.py bdist_wininst
|
|
|
|
pypi:
|
|
twine upload dist/*
|
|
|
|
buildupload:
|
|
@make build
|
|
@make pypi
|
|
|
|
snap:
|
|
@make -B snapcraft.yaml
|
|
snapcraft
|
|
docker:
|
|
@make .dockerignore
|
|
@make coverclean
|
|
@make clean
|
|
docker build . -t tqdm/tqdm
|
|
docker tag tqdm/tqdm:latest tqdm/tqdm:$(shell docker run -i --rm tqdm/tqdm -v)
|
|
none:
|
|
# used for unit testing
|
|
|
|
run:
|
|
python -Om tqdm --help
|