numpy/scipy were mismatched in version, which led to a confusing import error. I've removed the numpy version specification entirely and left it to scipy to ensure numpy is installed. This could do with review in the future...
106 lines
No EOL
2.8 KiB
TOML
106 lines
No EOL
2.8 KiB
TOML
[build-system]
|
|
requires = ["poetry>=0.12"]
|
|
build-backend = "poetry.masonry.api"
|
|
|
|
[tool.poetry]
|
|
name = "openflexure-microscope-server"
|
|
version = "2.9.3"
|
|
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" },
|
|
]
|
|
|
|
# Installing numpy/scipy/etc. from source is unlikely to work.
|
|
# The block below forces Poetry to use piwheels.
|
|
# We can add other repositories if we need them.
|
|
# Setting default=true disables fallback to PyPI. I have removed
|
|
# this for now, because it will prevent installation on non-Pi
|
|
# platforms.
|
|
|
|
[[tool.poetry.source]]
|
|
name = "piwheels"
|
|
url = "https://www.piwheels.org/simple"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.7.3"
|
|
Flask = "^1.0"
|
|
# let scipy specify numpy?? numpy = "1.19.2" # Exact version so we can guarantee a wheel
|
|
Pillow = "^7.2.0"
|
|
scipy = "^1.6.1" # 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.5.1.48"
|
|
sangaboard = "^0.2"
|
|
expiringdict = "^1.2.1"
|
|
camera-stage-mapping = "0.1.4"
|
|
picamerax = ">=20.9.1"
|
|
pyyaml = "^5.4.0" # pyyaml 5.4.1 is broken in piwheels
|
|
pytest-cov = "^2.10.1"
|
|
piexif = "^1.1.3"
|
|
labthings = "^1.2.2"
|
|
typing-extensions = "^3.7.4" # Needed for some type-hints in Python < 3.8 (e.g. Literal)
|
|
numpy-stubs = {git = "https://github.com/numpy/numpy-stubs.git"} # Needed for Numpy < 1.20
|
|
|
|
[tool.poetry.extras]
|
|
rpi = ["RPi.GPIO"]
|
|
|
|
[tool.poetry.scripts]
|
|
rescue = 'openflexure_microscope.rescue.auto:main'
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
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"
|
|
lxml = "^4.6.2" # Fix version so piwheels works
|
|
|
|
[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']
|
|
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 --cobertura-xml-report openflexure_microscope openflexure_microscope"
|
|
test = "pytest ."
|
|
|
|
format = ["black", "isort"]
|
|
lint = ["pylint", "mypy"]
|
|
|
|
check = ["format", "lint", "test"] |