[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 ." pylint = "pylint openflexure_microscope" mypy = "mypy --cobertura-xml-report openflexure_microscope openflexure_microscope" test = "pytest ." serve = "python -m openflexure_microscope.api.app" format = ["black", "isort"] lint = ["pylint", "mypy"] check = ["format", "lint", "test"]