-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
127 lines (112 loc) · 3.4 KB
/
pyproject.toml
File metadata and controls
127 lines (112 loc) · 3.4 KB
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[project]
name = "np_codeocean"
version = "0.3.18"
description = "Tools for uploading and interacting with Mindscope Neuropixels experiments on Code Ocean"
authors = [
{ name = "Ben Hardcastle", email = "ben.hardcastle@alleninstitute.org" },
{ name = "Chris Mochizuki", email = "chrism@alleninstitute.org" },
{ name = "Arjun Sridhar", email = "arjun.sridhar@alleninstitute.org" },
]
dependencies = [
"np_session>=0.6.44",
"np-tools>=0.1.23",
"np-config>=0.4.33",
"requests>=2.31.0",
"npc-session>=0.1.41",
"polars>=0.20.16",
"npc-lims>=0.1.168",
"npc-ephys>=0.1.32",
"wavpack-numcodecs<0.2",
"cryptography<43.0",
"aind-data-transfer-service>=1.15.0",
"aind-slurm-rest-v2==0.0.3",
"aind-codeocean-pipeline-monitor>=0.5.2",
]
requires-python = ">=3.10"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: MIT License",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
]
[project.license]
text = "MIT"
[project.urls]
Source = "https://github.com/AllenInstitute/np_codeocean"
Issues = "https://github.com/AllenInstitute/np_codeocean/issues"
[project.scripts]
upload_dr_behavior = "np_codeocean.scripts.upload_dynamic_routing_behavior:main"
upload_dr_ecephys = "np_codeocean.scripts.upload_dynamic_routing_ecephys:main"
upload_sessions = "np_codeocean.scripts.upload_sessions:main"
[project.optional-dependencies]
dynamicrouting = [
"npc-lims>=0.1.154",
"npc-sessions[metadata]>=0.0.275",
"aind-codeocean-pipeline-monitor[full]>=0.5.0",
]
openscope = ["aind-metadata-mapper"]
[build-system]
requires = ["setuptools>=61", "wheel"]
build-backend = "setuptools.build_meta"
[dependency-groups]
task_runner = ["poethepoet>=0.33.1"]
linting = ["black>=25.1.0", "isort>=6.0.1", "ruff>=0.11.2"]
testing = ["mypy>=1.4.1"]
bump = ["bump-my-version>=1.1.1", "git-changelog>=2.5.3"]
[tool.uv]
conflicts = [[{ extra = "dynamicrouting" }, { extra = "openscope" }, { extra = "drdev" }]]
package = true
default-groups = ["task_runner", "linting", "testing", "bump"]
[tool.poe.tasks]
mypy = "mypy src --install-types --non-interactive"
test = ["mypy"]
ruff = "ruff check src --fix-only"
black = "black src"
format = ["ruff", "black"]
bump_pub_tag = "bump-my-version bump patch"
release = ["format", "bump_pub_tag"]
[tool.bumpversion]
tag = true
allow_dirty = true
commit = true
commit_args = "-a"
message = "Bump version: {current_version} → {new_version} [skip actions]"
pre_commit_hooks = [
"uv lock --upgrade-package np_workflows",
"git-changelog -o CHANGELOG.md",
"uv build",
"uv publish",
]
post_commit_hooks = ["git push origin main", "git push --tags"]
[tool.ruff]
line-length = 100
select = [
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"E", # pycodestyle
"F", # pyflakes
"PGH", # pygrep-hooks
"RUF", # ruff
"W", # pycodestyle
"YTT", # flake8-2020
"ANN",
"C",
"I",
"RUF100",
"N",
"UP",
]
# extend-ignore = ["B018", "B019"]
src = ["src"]
extend-exclude = ["tests/fixtures"]
target-version = "py39"
[tool.ruff.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.mccabe]
max-complexity = 10
[tool.ruff.isort]
known-first-party = ["np_workflows"]