-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyproject.toml
87 lines (74 loc) · 1.74 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
[build-system]
requires = [
"hatch-vcs",
"hatchling",
]
build-backend = "hatchling.build"
[project]
name = "wsimod"
description = "WSIMOD is for simulating water quality and quantity"
readme = "README.md"
dynamic = [ "version"]
license = {file = "LICENSE"}
authors = [
{ name = "Barnaby Dobson", email = "b.dobson@imperial.ac.uk" },
{ name = "Imperial College London RSE Team", email = "ict-rse-team@imperial.ac.uk" }
]
requires-python = ">=3.9"
dependencies = [
"PyYAML",
"tqdm",
"dill",
"pandas"
]
[project.scripts]
wsimod = "wsimod.__main__:run"
[project.optional-dependencies]
dev = [
"pytest",
"pre-commit",
"black",
"ruff",
"pip-tools",
"pytest-cov",
"geopandas",
"matplotlib",
"shapely",
"pytest-cov"
]
demos = [
"geopandas",
"matplotlib",
"shapely"
]
doc = [
"mkdocs",
"mkdocstrings[python]",
"mkdocs-material",
"mkdocs-autorefs",
"mkdocs-bibtex",
"mkdocs-coverage",
"mkdocs-jupyter",
"mkdocs-material-extensions",
"pypandoc",
"mkdocs-gen-files",
"tabulate",
"wsimod[demos]"
]
[tool.hatch.build]
# Exclude specific files and folders (e.g., `htmlcov` for coverage report)
exclude = ["htmlcov"]
[tool.hatch.metadata]
license = "BSD-3-clause" # Or your primary license name
license-files = [ "LICENSE"]
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.hooks.vcs]
version-file = "_version.py"
[tool.pytest.ini_options]
addopts = "-v -p no:warnings --cov=wsimod --cov-report=html"
[tool.ruff]
select = ["E", "F", "I"] # pycodestyle, Pyflakes, isort. Ignoring pydocstyle (D), for now
exclude = ["docs", "tests"] # Let's ignore tests and docs folders, for now
[tool.ruff.pydocstyle]
convention = "google"