Merge branch 'master' into auto-exposure-gain-awb

This commit is contained in:
Richard Bowman 2021-04-21 12:10:47 +01:00
commit 1f1a75c02a
13 changed files with 1848 additions and 167 deletions

View file

@ -1,81 +1,17 @@
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[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
# 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/)'
@ -92,6 +28,10 @@ line_length = 88
disable = "fixme,C,R"
max-line-length = 88
[tool.poe.executor]
type = "virtualenv"
location = ".venv"
[tool.poe.tasks]
black = "black ."
black_check = "black --check ."