-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathpyproject.toml
More file actions
108 lines (95 loc) · 2.56 KB
/
Copy pathpyproject.toml
File metadata and controls
108 lines (95 loc) · 2.56 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
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "stitchee"
dynamic = ["version"]
description = "NetCDF4 Along-existing-dimension Concatenation Service"
license = {file = "LICENSE"}
readme = "README.md"
requires-python = ">=3.12,<4"
authors = [
{ name = "Daniel Kaufman", email = "daniel.kaufman@nasa.gov" },
{ name = "Andrey Kim", email = "andrey.kim@nasa.gov" }
]
dependencies = [
"netcdf4>=1.6.5",
"xarray>=2024.3.0",
"pystac>=0.5.3",
"importlib-metadata>=8.4.0",
"pytest>=9.0.3",
"pytest-cov>=7.0.0",
"harmony-service-lib>=3.0.0",
]
[project.urls]
Repository = "https://github.com/nasa/stitchee"
Documentation = "https://stitchee.readthedocs.io"
Changelog = "https://github.com/nasa/stitchee/blob/main/CHANGELOG.md"
"Bug Tracker" = "https://github.com/nasa/stitchee/issues"
[project.scripts]
stitchee_harmony = 'stitchee.harmony.cli:main'
stitchee = 'stitchee.cli:main'
[project.optional-dependencies]
dev = [
"pytest>=9.1.1",
"mypy>=2.3.1",
"ruff>=0.16.5",
"pytest-cov>=7.1.0",
"mkdocs>=1.6.1",
"markdown-callouts>=0.4.0",
"markdown-include>=0.8.1",
"mkdocstrings>=1.0.6",
"mkdocs-jupyter>=0.26.3",
"mkdocs-material>=9.7.7",
"mkdocstrings-python>=2.0.7"
]
integration = [
"harmony-py>=0.4.15"
]
[tool.hatch.version]
source = "vcs"
[tool.hatch.version.raw-options]
# This tells hatch-vcs to use an env var if git metadata is unavailable
version_scheme = "no-guess-dev"
[tool.ruff]
builtins = ["ellipsis"]
exclude = [
".eggs",
"doc",
"_typed_ops.pyi",
]
# Allow lines to be as long as 100.
line-length = 100
target-version = "py312"
[tool.ruff.lint]
ignore = [
"E402", # module level import not at top of file
"E501", # line too long - let ruff format handle it
"E731", # do not assign a lambda expression, use a def
]
select = [
"F", # Pyflakes
"E", # Pycodestyle errors
"W", # Pycodestyle warnings
"I", # isort
"UP", # Pyupgrade
"B", # Bugbear (catches common bugs)
"C4", # Comprehensions
"SIM", # Simplifications
]
[tool.coverage.run]
concurrency = ["multiprocessing"]
[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_lines = [
# Have to re-enable the standard pragma
"pragma: no cover",
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
# Don't complain if non-runnable code isn't run:
"if 0:",
"if __name__ == .__main__.:"
]
[tool.ruff.lint.isort]
known-first-party = ["stitchee"]