tqdm/Makefile

190 lines
5.0 KiB
Makefile
Raw Permalink Normal View History

# IMPORTANT: for compatibility with `python -m pymake [alias]`, ensure:
# 1. Every alias is preceded by @[+]make (eg: @make alias)
2015-11-07 23:11:02 +00:00
# 2. A maximum of one @make alias or command per line
# see: https://github.com/tqdm/py-make/issues/1
.PHONY:
alltests
2015-10-31 11:38:53 +00:00
all
flake8
2015-10-31 11:38:53 +00:00
test
2020-10-19 12:14:53 +00:00
pytest
testsetup
2021-03-08 22:26:04 +00:00
testnb
2015-10-31 11:38:53 +00:00
testcoverage
testperf
2015-11-26 10:23:08 +00:00
testtimer
2016-04-07 21:10:09 +00:00
distclean
coverclean
prebuildclean
clean
toxclean
2021-02-25 18:05:29 +00:00
install_dev
2015-10-31 11:38:53 +00:00
install
build
buildupload
2015-10-31 11:38:53 +00:00
pypi
snap
2019-03-02 21:43:13 +00:00
docker
help
2015-10-31 11:38:53 +00:00
none
run
2015-10-31 11:38:53 +00:00
2016-06-04 12:58:44 +00:00
help:
@python -m pymake -p
2016-06-04 12:58:44 +00:00
2015-10-31 11:38:53 +00:00
alltests:
@+make testcoverage
@+make testperf
@+make flake8
@+make testsetup
all:
@+make alltests
@+make build
2015-06-15 09:02:33 +00:00
flake8:
2021-09-19 10:44:41 +00:00
@+pre-commit run -a flake8
@+pre-commit run -a nbstripout
2015-06-15 09:02:33 +00:00
test:
2019-08-24 22:51:14 +00:00
TOX_SKIP_ENV=perf tox --skip-missing-interpreters -p all
tox -e perf
2020-10-19 12:14:53 +00:00
pytest:
pytest
2015-06-15 09:02:33 +00:00
testsetup:
2019-01-27 00:13:42 +00:00
@make README.rst
2019-03-05 22:53:35 +00:00
@make tqdm/tqdm.1
@make tqdm/completion.sh
@make help
2021-03-08 22:26:04 +00:00
testnb:
2024-10-28 02:57:48 +00:00
pytest tests_notebook.ipynb --cov=tqdm.notebook --cov-report=term -W=ignore --nbval --nbval-current-env --nbval-sanitize-with=.meta/nbval.ini
2021-03-08 22:26:04 +00:00
testcoverage:
2016-04-07 21:10:09 +00:00
@make coverclean
2024-10-28 02:57:48 +00:00
pytest tests_notebook.ipynb --cov=tqdm --cov-report= -W=ignore --nbval --nbval-current-env --nbval-sanitize-with=.meta/nbval.ini
pytest -k "not perf" --cov=tqdm --cov-report=xml --cov-report=term --cov-append --cov-fail-under=80
2016-12-27 14:24:04 +00:00
testperf:
# do not use coverage (which is extremely slow)
2021-01-04 03:00:27 +00:00
pytest -k perf
2015-11-26 10:23:08 +00:00
testtimer:
2020-12-24 22:21:41 +00:00
pytest
2015-11-26 10:23:08 +00:00
2016-12-27 14:24:04 +00:00
# another performance test, to check evolution across commits
2016-10-31 01:53:14 +00:00
testasv:
2016-12-27 14:24:04 +00:00
# Test only the last 3 commits (quick test)
2016-10-31 01:53:14 +00:00
asv run -j 8 HEAD~3..HEAD
@make viewasv
testasvfull:
2016-12-27 14:24:04 +00:00
# Test all the commits since the beginning (full test)
asv run --skip-existing-commits -j 8 v1.0.0..HEAD
2016-10-31 01:53:14 +00:00
@make testasv
viewasv:
asv publish
asv preview
2020-01-24 22:46:49 +00:00
tqdm/tqdm.1: .meta/.tqdm.1.md tqdm/cli.py tqdm/std.py
2019-01-27 00:13:42 +00:00
# TODO: add to mkdocs.py
2019-01-04 18:42:21 +00:00
python -m tqdm --help | tail -n+5 |\
sed -r -e 's/\\/\\\\/g' \
-e 's/^ (--.*)=<(.*)> : (.*)$$/\n\\\1=*\2*\n: \3./' \
2020-07-01 01:03:49 +00:00
-e 's/^ (--.*) : (.*)$$/\n\\\1\n: \2./' \
2019-01-04 18:42:21 +00:00
-e 's/ (-.*, )(--.*) /\n\1\\\2\n: /' |\
cat "$<" - |\
2017-07-03 23:25:22 +00:00
pandoc -o "$@" -s -t man
2020-04-26 20:50:55 +00:00
tqdm/completion.sh: .meta/mkcompletion.py tqdm/std.py tqdm/cli.py
2020-04-24 21:25:32 +00:00
@python .meta/mkcompletion.py
2020-01-24 22:46:49 +00:00
README.rst: .meta/.readme.rst tqdm/std.py tqdm/cli.py
2019-05-14 13:44:38 +00:00
@python .meta/mkdocs.py
2019-01-27 00:13:42 +00:00
snapcraft.yaml: .meta/mksnap.py
@python .meta/mksnap.py
.dockerignore:
@+python -c "fd=open('.dockerignore', 'w'); fd.write('*\n!dist/*.whl\n')"
2019-03-02 21:43:13 +00:00
2021-01-25 14:51:28 +00:00
Dockerfile:
@+python -c 'fd=open("Dockerfile", "w"); fd.write("FROM python:3.8-alpine\nCOPY dist/*.whl .\nRUN pip install -U $$(ls ./*.whl) && rm ./*.whl\nENTRYPOINT [\"tqdm\"]\n")'
2016-04-07 21:10:09 +00:00
distclean:
@+make coverclean
@+make prebuildclean
@+make clean
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)"
@+python -c "import shutil; shutil.rmtree('.eggs', True)"
2020-11-18 22:22:32 +00:00
@+python -c "import os; os.remove('tqdm/_dist_ver.py') if os.path.exists('tqdm/_dist_ver.py') else None"
2016-04-07 21:10:09 +00:00
coverclean:
@+python -c "import os; os.remove('.coverage') if os.path.exists('.coverage') else None"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('.coverage.*')]"
@+python -c "import shutil; shutil.rmtree('tests/__pycache__', True)"
@+python -c "import shutil; shutil.rmtree('benchmarks/__pycache__', True)"
@+python -c "import shutil; shutil.rmtree('tqdm/__pycache__', True)"
2020-01-17 20:14:12 +00:00
@+python -c "import shutil; shutil.rmtree('tqdm/contrib/__pycache__', True)"
@+python -c "import shutil; shutil.rmtree('tqdm/examples/__pycache__', True)"
2016-04-07 21:10:09 +00:00
clean:
2017-07-03 23:25:22 +00:00
@+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('tests/*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('benchmarks/*.py[co]')]"
2024-02-10 17:51:47 +00:00
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('examples/*.py[co]')]"
2017-07-03 23:25:22 +00:00
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/*.py[co]')]"
2020-01-17 20:14:12 +00:00
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/contrib/*.py[co]')]"
toxclean:
@+python -c "import shutil; shutil.rmtree('.tox', True)"
2016-04-07 21:10:09 +00:00
2018-08-20 15:15:11 +00:00
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 -m pip install .
2021-02-25 18:05:29 +00:00
install_dev:
python -m pip install -e .
2021-02-25 18:05:29 +00:00
install_build:
python -m pip install -r .meta/requirements-build.txt
2021-02-25 18:05:29 +00:00
install_test:
python -m pip install -r .meta/requirements-test.txt
2021-09-19 10:44:41 +00:00
pre-commit install
build:
2016-04-07 21:10:09 +00:00
@make prebuildclean
2019-01-27 00:13:42 +00:00
@make testsetup
python -m build
python -m twine check dist/*
pypi:
python -m twine upload dist/*
buildupload:
@make build
@make pypi
snap:
2019-09-21 22:45:05 +00:00
@make -B snapcraft.yaml
snapcraft
2019-03-02 21:43:13 +00:00
docker:
2020-11-18 22:22:32 +00:00
@make build
2019-03-02 21:43:13 +00:00
@make .dockerignore
2021-01-25 14:51:28 +00:00
@make Dockerfile
2019-03-02 21:43:13 +00:00
docker build . -t tqdm/tqdm
2019-03-02 22:27:19 +00:00
docker tag tqdm/tqdm:latest tqdm/tqdm:$(shell docker run -i --rm tqdm/tqdm -v)
none:
2015-10-31 11:38:53 +00:00
# used for unit testing
run:
python -Om tqdm --help