openflexure-microscope-server/pyproject.toml
Richard e33e92b43a Generate and use pytest XML reports
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...
2021-08-10 11:29:09 +01:00

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"]