[tox] # required because we use pyproject.toml isolated_build = true envlist = py37, py38, py39, lint, checkdeps, pytest # only checks python versions installed locally skip_missing_interpreters = true [testenv:lint] # lints python code in src and tests deps = -rrequirements.txt # These are "external" because they are dev dependencies that not in # "requirements.txt" and therefore not installed in this env, but they will be # available where this is being run. See: # https://stackoverflow.com/questions/47642747/tox-warningtest-command-found-but-not-installed-in-testenv allowlist_externals = black flake8 pylint commands = black data_pipeline flake8 data_pipeline # Ignore tests this lint check because test dependencies are not installed here. pylint data_pipeline --ignore tests [testenv:checkdeps] # checks the dependencies for security vulnerabilities and open source licenses deps = -rrequirements.txt # These are "external" because they are dev dependencies that not in # "requirements.txt" and therefore not installed in this env, but they will be # available where this is being run. See: # https://stackoverflow.com/questions/47642747/tox-warningtest-command-found-but-not-installed-in-testenv allowlist_externals = safety liccheck commands = safety check liccheck [testenv:pytest] # Run tests deps = pytest commands = pytest