This generates XML reports when we run pytest through poe, and uploads them in the relevant CI stage. I've also ignored mypy cache files - I'm not sure why this hasn't been an issue before...
53 lines
No EOL
1.9 KiB
TOML
53 lines
No EOL
1.9 KiB
TOML
[build-system]
|
|
requires = ["setuptools", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
# The [tool.poetry] metadata has been removed from this file, because
|
|
# we have switched to Pipenv for dependency management and setuptools
|
|
# for the build system. All metadata has been moved either to
|
|
# Pipfile or setup.py.
|
|
# The one key that doesn't map over nicely is the exclusion of
|
|
# the node_modules folder, i.e. the line below:
|
|
#exclude = ["**/node_modules/"] # I've tried to put this in the "packages" key but not sure it works.
|
|
# I have left it here in case we ever switch back to Poetry, but I
|
|
# don't believe it's critical at present, because we don't use
|
|
# the Python package - we distribute a tarball directly.
|
|
|
|
[tool.black]
|
|
exclude = '(\.eggs|\.git|\.venv|\venv|node_modules/)'
|
|
|
|
[tool.isort]
|
|
multi_line_output = 3
|
|
include_trailing_comma = true
|
|
force_grid_wrap = 0
|
|
use_parentheses = true
|
|
ensure_newline_before_comments = true
|
|
line_length = 88
|
|
|
|
[tool.pylint.'MESSAGES CONTROL']
|
|
# W1203 warns about using f strings in logging statements.
|
|
# I'm really not concerned about the performance implications of this,
|
|
# particularly as we often have the log level set quite high. I think
|
|
# for our current purposes, using f strings in logging statements is
|
|
# more readable and thus a good idea in many places - I've disabled
|
|
# this warning code globally for that reason.
|
|
disable = "fixme,C,R,W1203"
|
|
max-line-length = 88
|
|
|
|
[tool.poe.executor]
|
|
type = "virtualenv"
|
|
location = ".venv"
|
|
|
|
[tool.poe.tasks]
|
|
black = "black ."
|
|
black_check = "black --check ."
|
|
isort = "isort openflexure_microscope"
|
|
pylint = "pylint openflexure_microscope"
|
|
mypy = "mypy --cobertura-xml-report openflexure_microscope openflexure_microscope"
|
|
test = "pytest . --junitxml=pytest_report.xml"
|
|
serve = "python -m openflexure_microscope.api.app"
|
|
|
|
format = ["black", "isort"]
|
|
lint = ["pylint", "mypy"]
|
|
|
|
check = ["format", "lint", "test"] |