openflexure-microscope-server/pyproject.toml
2020-11-30 13:52:41 +00:00

94 lines
No EOL
2.2 KiB
TOML

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
[tool.poetry]
name = "openflexure-microscope-server"
version = "2.8.0"
description = "Python module, and Flask-based web API, to run the OpenFlexure Microscope."
authors = [
"Joel Collins <j.collins@bath.ac.uk>",
"Richard Bowman <r.w.bowman@bath.ac.uk",
"Julian Stirling <j.stirling@bath.ac.uk>"
]
readme = 'README.md'
repository = "https://gitlab.com/openflexure/openflexure-microscope-server"
homepage = "https://www.openflexure.org"
keywords = ['raspberry pi', 'arduino', 'microscope']
license = "GPL-3.0"
exclude = ["**/node_modules/"]
packages = [
{ include = "openflexure_microscope" },
]
[tool.poetry.dependencies]
python = "^3.7.3"
Flask = "^1.0"
numpy = "1.19.2" # Exact version so we can guarantee a wheel
Pillow = "^7.2.0"
scipy = "1.5.3" # Exact version so we can guarantee a wheel
"RPi.GPIO" = { version = "^0.7.0", optional = true }
python-dateutil = "^2.8"
psutil = "^5.6.7" # Autostorage extension
opencv-python-headless = "4.4.0.44"
sangaboard = "^0.2"
expiringdict = "^1.2.1"
camera-stage-mapping = "0.1.4"
picamerax = ">=20.9.1"
pyyaml = "^5.3.1"
typing-extensions = "^3.7.4" # Needed for some type-hints in Python < 3.8 (e.g. Literal)
pytest-cov = "^2.10.1"
piexif = "^1.1.3"
labthings = "1.1.6"
[tool.poetry.extras]
rpi = ["RPi.GPIO"]
[tool.poetry.scripts]
rescue = 'openflexure_microscope.rescue.auto:main'
[tool.poetry.dev-dependencies]
pynpm = "^0.1.2"
sphinxcontrib-httpdomain = "^1.7"
rope = "^0.14.0"
pylint = "^2.3"
black = {version = "^18.3-alpha.0",allow-prereleases = true}
pytest = "^6.1.2"
mypy = "^0.790"
poethepoet = "^0.9.0"
freezegun = "^1.0.0"
[tool.black]
exclude = '(\.eggs|\.git|\.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']
disable = "fixme,C,R"
max-line-length = 88
[tool.poe.tasks]
black = "black ."
black_check = "black --check ."
isort = "isort ."
pylint = "pylint openflexure_microscope"
mypy = "mypy openflexure_microscope"
test = "pytest ."
format = ["black", "isort"]
lint = ["pylint", "mypy"]
check = ["format", "lint", "test"]