-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathpyproject.toml
123 lines (113 loc) · 3.39 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
114
115
116
117
118
119
120
121
122
123
[build-system]
build-backend = "setuptools.build_meta"
requires = [
"setuptools>=42",
"setuptools_scm",
"wheel",
]
[project]
name = "compliance-checker"
description = "Checks Datasets and SOS endpoints for standards compliance"
readme = "README.md"
license = {text = "Apache-2.0"}
maintainers = [
{name = "Dave Foster", email = "dave@axiomdatascience.com"},
{name = "Benjamin Adams"},
{name = "Luke Campbell"},
{name = "Filipe Fernandes"},
]
requires-python = ">=3.8"
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
]
dynamic = [
"dependencies",
"version",
]
[project.urls]
documentation = "https://ioos.github.io/compliance-checker"
homepage = "https://compliance.ioos.us/index.html"
repository = "https://github.com/ioos/compliance-checker"
[project.scripts]
compliance-checker = "cchecker:main"
[project.entry-points."compliance_checker.suites"]
"acdd-1.1" = "compliance_checker.acdd:ACDD1_1Check"
"acdd-1.3" = "compliance_checker.acdd:ACDD1_3Check"
"cf-1.6" = "compliance_checker.cf.cf:CF1_6Check"
"cf-1.7" = "compliance_checker.cf.cf:CF1_7Check"
"cf-1.8" = "compliance_checker.cf.cf:CF1_8Check"
"ioos-0.1" = "compliance_checker.ioos:IOOS0_1Check"
"ioos-1.1" = "compliance_checker.ioos:IOOS1_1Check"
"ioos-1.2" = "compliance_checker.ioos:IOOS1_2Check"
"ioos_sos" = "compliance_checker.ioos:IOOSBaseSOSCheck"
[tool.setuptools]
packages = ["compliance_checker"]
license-files = ["LICENSE"]
zip-safe = false
include-package-data = true
script-files = ["cchecker.py"]
[tool.setuptools.package-data]
compliance_checker = [
"data/*.xml",
"tests/data/*.nc",
"tests/data/*.cdl",
"tests/data/non-comp/*.cdl",
"data/templates/*.j2",
]
[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}
readme = {file = "README.md", content-type = "text/markdown"}
[tool.setuptools_scm]
write_to = "compliance_checker/_version.py"
write_to_template = "__version__ = '{version}'"
tag_regex = "^(?P<prefix>v)?(?P<version>[^\\+]+)(?P<suffix>.*)?$"
[tool.ruff]
lint.select = [
"A", # flake8-builtins
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"E", # pycodecstyle
"F", # flakes
"I", # import sorting
"W", # pydocstyle
"UP", # upgrade
]
target-version = "py38"
line-length = 200
exclude = [
"compliance_checker/cf/cf.py",
]
lint.ignore = [
"E501",
]
[tool.ruff.lint.per-file-ignores]
"docs/source/conf.py" = [
"E402",
"A001",
]
"compliance_checker/cfutil.py" = ["B028"]
"compliance_checker/cf/appendix_f.py" = ["B033"] # ignore duplicates items in the set
[tool.pytest.ini_options]
markers = [
"integration: marks integration tests (deselect with '-m \"not integration\"')",
"slowtest: marks slow tests (deselect with '-m \"not slowtest\"')"
]
filterwarnings = [
"error:::compliance-checker.*",
"ignore::UserWarning",
"ignore::RuntimeWarning",
]