96 lines
No EOL
2.9 KiB
TOML
96 lines
No EOL
2.9 KiB
TOML
[project]
|
|
name = "openflexure-microscope-server"
|
|
version = "3.0.0.dev0"
|
|
authors = [
|
|
{ name="Richard Bowman", email="richard.bowman@cantab.net" },
|
|
{ name="Joel Collins" },
|
|
{ name="Julian Stirling" },
|
|
]
|
|
description = "Back-end code for the OpenFlexure Microscope"
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
"Operating System :: OS Independent",
|
|
]
|
|
dependencies = [
|
|
"labthings-fastapi",
|
|
"labthings-sangaboard",
|
|
"labthings-picamera2",
|
|
"camera-stage-mapping",
|
|
"numpy ~= 1.20",
|
|
"scipy ~= 1.6",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"labthings-fastapi[dev]",
|
|
]
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://openflexure.org/"
|
|
"Bug Tracker" = "https://gitlab.com/openflexure/openflexure-microscope-server/-/issues"
|
|
"Source" = "https://gitlab.com/openflexure/openflexure-microscope-server/"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
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.mypy]
|
|
plugins = ["pydantic.mypy"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py39"
|
|
|
|
[tool.poe.executor]
|
|
type = "virtualenv"
|
|
location = ".venv"
|
|
|
|
[tool.poe.tasks]
|
|
black = "black ."
|
|
black_check = "black --check ."
|
|
ruff = "ruff . --fix"
|
|
ruff_check = "ruff ."
|
|
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", "ruff"]
|
|
lint = ["ruff_check", "pylint", "mypy"]
|
|
|
|
check = ["format", "lint", "test"] |