-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
101 lines (89 loc) · 2.25 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
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "spec-classes"
description = "Represent type-checked specifications as Python classes and incrementally build them."
authors = [
{name = "Matthew Wardrop", email = "[email protected]"},
]
license = "MIT"
readme = "docsite/docs/index.md"
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.7",
"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",
]
requires-python = ">=3.7.2"
dependencies = [
"cached-property>=1.5.2",
"inflect>=5.0.0",
"lazy-object-proxy>=1.5.0",
"typing-extensions>=4.1",
]
dynamic = ["version"]
[project.urls]
repository = "https://github.com/matthewwardrop/spec-classes"
documentation = "https://matthewwardrop.github.io/spec-classes"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.hooks.vcs]
version-file = "spec_classes/_version.py"
# Build target configuration
[tool.hatch.build.targets.sdist]
include = [
"docsite",
"spec_classes",
"tests",
"LICENSE",
"pyproject.toml",
"README.md",
]
# Testing configuration
[tool.hatch.envs.default]
dependencies = [
"ruff==0.4.7",
"pytest-cov==4.0.0",
"pytest==7.2.0",
]
[tool.hatch.envs.default.scripts]
tests = ["unit-tests", "linters"]
unit-tests = "pytest --cov=spec_classes --cov-report=term-missing --cov-report=xml -vv {args:tests}"
linters = [
"ruff check",
"ruff format --check",
]
format = "ruff format spec_classes tests"
[[tool.hatch.envs.test.matrix]]
python = ["37", "38", "39", "310", "311", "312"]
# Linting configuration
[tool.ruff.lint]
select = ["E", "F", "W", "I", "PL"]
ignore = [
"C901",
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D107",
"D200",
"D205",
"D400",
"D401",
"D413",
"E501",
"F405",
"PLR09",
"PLR2004",
]