# To use tox, see https://tox.readthedocs.io # Simply pip or conda install tox # If you use conda, you may also want to install tox-conda # then run `tox` or `tox -- {pytest args}` # run in parallel using `tox -p` [tox] envlist = py37 [testenv] usedevelop = true [testenv:py{37,38,39,310}] extras = linkify testing commands = pytest {posargs:tests/} [testenv:py{37,38,39,310}-plugins] extras = testing changedir = {envtmpdir} allowlist_externals = git pip commands_pre = git clone https://github.com/executablebooks/mdit-py-plugins.git pip install --no-deps -e mdit-py-plugins commands = pytest {posargs} [testenv:py{37,38,39}-bench-core] extras = benchmarking commands = pytest benchmarking/bench_core.py {posargs} [testenv:py{37,38}-bench-packages] extras = benchmarking,compare commands = pytest benchmarking/bench_packages.py {posargs} [testenv:docs-{update,clean}] extras = linkify,plugins,rtd whitelist_externals = echo rm setenv = update: SKIP_APIDOC = true commands = clean: rm -rf docs/_build sphinx-build -nW --keep-going -b {posargs:html} docs/ docs/_build/{posargs:html} commands_post = echo "open file://{toxinidir}/docs/_build/{posargs:html}/index.html" [testenv:profile] description = run profiler (use e.g. `firefox .tox/prof/output.svg` to open) extras = profiling allowlist_externals = mkdir dot commands = mkdir -p "{toxworkdir}/prof" python -m cProfile -o "{toxworkdir}/prof/output.pstats" profiler.py gprof2dot -f pstats -o "{toxworkdir}/prof/output.dot" "{toxworkdir}/prof/output.pstats" dot -Tsvg -o "{toxworkdir}/prof/output.svg" "{toxworkdir}/prof/output.dot" python -c 'import pathlib; print("profiler svg output under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "prof" / "output.svg"))' [flake8] max-line-length = 100 extend-ignore = E203