-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
127 lines (111 loc) · 3.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
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
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "hydrobot"
description = "A suite of processing tools for Hilltop hydrological data."
version = "0.7.8"
authors = [
{ name = "Nic Mostert", email = "[email protected]" },
{ name = "Sam Irvine", email = "[email protected]" }
]
requires-python = "==3.11.*"
dependencies = [
"hilltop-py>=2.3.1",
"data-annalist>=0.4.1",
"matplotlib>=3.8.0",
"defusedxml>=0.7.1",
"plotly>=5.20.0",
"streamlit>=1.33.0",
"pyyaml>=6.0.1",
"numpy==1.26.4",
"openpyxl>=3.1.5",
"SQLAlchemy~=2.0.30",
"pyodbc==5.1.0"
]
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Natural Language :: English",
"Programming Language :: Python :: 3.11",
]
license = {text = "GNU General Public License v3"}
readme = "README.rst"
keywords = ["hydrology, automation, pandas, hilltop, hilltop-py, HorizonsRC"]
[project.urls]
Homepage = "https://github.com/HorizonsRC/hydrobot"
Issues = "https://github.com/HorizonsRC/hydrobot/issues"
Documentation = "https://hydrobot.readthedocs.io"
Package = "https://pypi.org/project/hydrobot"
[project.optional-dependencies]
test = [
"pytest>=7.4.2",
"pytest-cov>=4.1.0",
"pytest-dependency>=0.5.2",
"pytest-mock>=3.12.0",
]
dev = [
"ruff>=0.1.6",
"ruff-lsp>=0.0.45",
"pre-commit>=3.5.0",
"build>=1.0.0"
]
docs = [
"Sphinx>=7.2.6",
"furo>=2023.9.10",
]
all = [
"hydrobot[test, dev, docs]"
]
[tool.setuptools]
packages = ["hydrobot"]
[tool.setuptools.package-data]
hydrobot = ["hydrobot/config/*"]
[tool.pytest.ini_options]
addopts = "--cov --cov-fail-under 100 --strict-markers"
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"remote: depends on remote server calls (deselect with '-m \"not remote\"')"
]
[tool.coverage.run]
source = ["hydrobot"]
[tool.ruff]
extend-exclude = ["docs/*"]
extend-select = [
"W505", # Line too long as a warning, not an error. Default set to 88.
"UP", # pyupgrade: Checks for out-dated syntax use.
"B", # Flake8 Bugbears:
"PD", # Pandas pro-gamer tips and conventions
"S", # Flake8 Bandit: Common security flaws.
"SLF", # Checks that private members are not accessed outside of classes.
"SIM", # Flake8 simplify: Mostly checks for code duplication and such.
"I", # Isort. Import order sorting? Why not.
"N", # pep8-naming: naming conventions
"D", # pydocstyle.
"PT", # flake8-pytest-style checking for pytests
]
extend-ignore = ["D401", "D203", "D212"]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ruff.per-file-ignores]
"tests/*" = ["S311", "S101", "F841"]
"docs/*" = ["I001"]
"prototypes" = ["D"]
[tool.bumpversion]
current_version = "0.7.8"
commit = true
tag = true
tag_name = "{new_version}"
[[tool.bumpversion.files]]
filename = "pyproject.toml"
search = "{current_version}"
replace = "{new_version}"
[[tool.bumpversion.files]]
filename = "hydrobot/__init__.py"
search = "__version__ = \"{current_version}\""
replace = "__version__ = \"{new_version}\""
[[tool.bumpversion.files]]
filename = "README.rst"
search = "{current_version}"
replace = "{new_version}"