-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathpyproject.toml
113 lines (96 loc) · 3.22 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[build-system]
requires = ["setuptools", "setuptools-scm", "versioningit"]
build-backend = "setuptools.build_meta"
[project]
name = "improv"
description = "Platform for adaptive neuroscience experiments"
authors = [{name = "Anne Draelos", email = "[email protected]"},
{name = "John Pearson", email = "[email protected]"}]
license = {file = "LICENSE"}
readme = "README.md"
requires-python = ">=3.6"
keywords = ["neuroscience", "adaptive", "closed loop"]
dependencies = [
"numpy<=1.26",
"scipy",
"matplotlib",
"pyarrow==9.0.0",
"PyQt5",
"lmdb",
"pyyaml",
"textual==0.15.0",
"pyzmq",
"psutil",
"h5py",
]
classifiers = ['Development Status :: 3 - Alpha',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: MIT License',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: Implementation :: CPython'
]
dynamic = ["version"]
[project.optional-dependencies]
tests = ["pytest", "async-timeout", "pytest-asyncio", "pytest-cov", "scikit-image",]
docs = ["jupyter-book", "sphinx-autoapi==2.0.1", "astroid==2.15.5"]
lint = ["black", "flake8", "Flake8-pyproject", "flake8-pytest-style"]
[project.scripts]
improv = "improv.cli:default_invocation"
[tool.setuptools.packages.find]
include = ["improv"]
exclude = ["test", "pytest", "env", "demos", "figures"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
filterwarnings = [ ]
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
pythonpath = ["."]
[tool.flake8]
# Recommend matching the black line length (default 88),
# rather than using the flake8 default of 79:
ignore = ['E203', 'W503']
max-line-length = 88
# See https://github.com/PyCQA/pycodestyle/issues/373
per-file-ignores = """
test/test_demos.py:F401,F811
test/test_cli.py:F401,F811
test/test_tui.py:F401,F811
test/test_link.py:PT012
test/test_nexus.py:PT012
test/test_store_with_errors.py:PT012
improv/__init__.py:F401
"""
exclude = ["demos", "build"]
[tool.black]
line-length = 88
exclude = '''
/(
demos
| build
)/
'''
[tool.versioningit]
[tool.versioningit.vcs]
match = ["v*"]
[tool.versioningit.next-version]
method = "smallest"
[tool.versioningit.format]
# Format used when there have been commits since the most recent tag:
distance = "{next_version}.dev{distance}"
# Example formatted version: 1.2.4.dev42+ge174a1f
# Format used when there are uncommitted changes:
dirty = "{base_version}+d{build_date:%Y%m%d}"
# Example formatted version: 1.2.3+d20230922
# Format used when there are both commits and uncommitted changes:
distance-dirty = "{next_version}.dev{distance}+{vcs}{rev}.d{build_date:%Y%m%d}"
# Example formatted version: 1.2.4.dev42+ge174a1f.d20230922
[tool.versioningit.write]
file = "improv/_version.py"