[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] == 0.0.7", "labthings-sangaboard", "camera-stage-mapping ~= 0.1.8", "opencv-python ~= 4.7.0", "pillow ~= 10.4", "anyio ~= 4.0", "numpy ~= 1.20", "scipy ~=1.14", "piexif", "pydantic ~= 2.10.6", ] [project.optional-dependencies] dev = [ "labthings-fastapi[dev]", "ruff", "mypy[reports]", "mypy-gitlab-code-quality", # "pytest-gitlab-code-quality", # pytest version constraint clashes with labthings "pytest", ] pi = [ "labthings-picamera2 == 0.0.2-dev0", ] [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.mypy] plugins = ["pydantic.mypy"] [tool.ruff] target-version = "py39" [tool.pytest.ini_options] addopts = [ "--import-mode=importlib", ]