-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
67 lines (58 loc) · 3.23 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[tool.poetry]
name = "open-optical-gating"
version = "2.0.0"
description = ""
authors = ["Chas Nelson <[email protected]>", "Jonathan Taylor <[email protected]>"]
[tool.poetry.dependencies]
python = "^3.5"
optical-gating-alignment = { git = "https://github.com/Glasgow-ICG/optical-gating-alignment" }
j_py_sad_correlation = { git = "https://bitbucket.org/jmtaylor/py_sad_correlation" }
loguru = "^0.4.1"
tqdm = "^4.45.0"
serial = "^0.0.97"
flask = "^1.1.2"
# On Windows, scikit-image does not install cleanly.
# But on the RPi, tifffile does not install (dependency imagecodecs fails to find openjpeg.h).
# JT: current workaround is to have platform-dependent installation here,
# and the source code will need to try importing both.
# TODO: It would be tidier to work out how to get tifffile to install on the RPi,
# or at least figure out how to specify to use tifffile one everything *except* the RPi
# JT: I didnt realise that ^0.15 will only allow 0.15.x. That was causing problems on python 3.9,
# since 0.15 is not compatible with that. Switched so we accept any 0.x version of skimage.
# I am not sure what best policy is re version compatibility, but we are only using it for tifffile,
# so hopefully forward-compatibility will be ok.
tifffile = { version = "^2019.7.26", markers = "sys_platform == 'win32'"}
scikit-image = { version = "0.*", markers = "sys_platform != 'win32'"}
# scipy is a dependency for scikit-image, but on RPi it is not automatically installed, for some reason.
# That really seems like a bug somewhere - and this explicit dependency here is the fix.
scipy = { version = ">=0.17", markers = "sys_platform != 'win32'"}
# JT: On Windows, matplotlib 3.3 has some sort of incompatibility issue related to the sip module.
# I haven't managed to specify "not 3.3.*", so I have had to restrict to <3.3.0 for now (on all platforms)
# TODO: Chas wondered if you can write !=3.3.* or perhaps more likely !3.3
# We should investigate this once I can bear to revisit all this packaging stuff again!
matplotlib = "<3.3.0"
# JT: Work around a serious bug on Windows (http://tinyurl.com/y3dm3h86)
# Note that we have to be open to using 1.18 for back-compatibility with python 3.5 on Windows.
numpy = [{version = "<=1.19.3", markers = "sys_platform == 'win32'"},
{version = "^1.17.5", markers = "sys_platform != 'win32'"}]
# Numba for optical gating (not on Pi)
numba = { version = "^0.41.0", optional = true}
# RPi Specific
picamera = { version = "^1.13", optional = true}
fastpins = { git = "https://github.com/abdrysdale/fastpins", optional = true}
pybase64 = "^1.0.1"
[tool.poetry.dev-dependencies]
pytest = "^5.2"
# JT: disabled 'black' because it does not seem to be compatible at all with python 3.5.
# Even though black is optional here, 'poetry lock' won't run at all because of that incompatibility
#black = {version = "19.3b0", allows-prereleases = true}
pytest-cov = "^2.8.1"
pylint = "^2.4.4"
[tool.poetry.extras]
numba = ["numba"]
rpi = ["picamera", "fastpins"]
[build-system]
# Bug in setuptools v50 breaks installation
# (https://stackoverflow.com/questions/63683262/modulenotfounderror-no-module-named-setuptools-distutils)
requires = ["poetry>=0.12", "setuptools!=50.0"]
build-backend = "poetry.masonry.api"