The OFM server can now be run in "stub" mode on my development machine, using an OpenCV camera feed.
106 lines
No EOL
3.1 KiB
TOML
106 lines
No EOL
3.1 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[server]",
|
|
"labthings-sangaboard",
|
|
"camera-stage-mapping ~= 0.1.6",
|
|
"numpy ~= 1.20",
|
|
"piexif",
|
|
"scipy ~= 1.6",
|
|
"opencv-python ~= 4.7.0",
|
|
"pillow ~= 10.4",
|
|
"anyio ~= 4.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"labthings-fastapi[dev]",
|
|
]
|
|
pi = [
|
|
"labthings-picamera2",
|
|
]
|
|
|
|
[project.scripts]
|
|
openflexure-microscope-server = "openflexure_microscope_server.server:serve_from_cli"
|
|
|
|
|
|
[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"] |