-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
99 lines (84 loc) · 2.48 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
[tool.poetry]
name = "PyBMKG"
version = "2.1.1"
description = "Python BMKG API Wrapper"
authors = ["Kira <kiraware@github.com>"]
maintainers = ["Kira <kiraware@github.com>", "vexra <vexra@github.com>"]
packages = [{ include = "*", from = "src" }]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/kiraware/PyBMKG"
repository = "https://github.com/kiraware/PyBMKG"
documentation = "https://pybmkg.readthedocs.io/en/latest/"
keywords = ["bmkg", "api"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: AsyncIO",
"Framework :: aiohttp",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Atmospheric Science",
"Topic :: Software Development",
]
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/kiraware/PyBMKG/issues"
[tool.poetry.dependencies]
aiohttp = "^3.9.1"
defusedxml = "^0.7.1"
python = "^3.11"
types-defusedxml = "^0.7.0.20240218"
[tool.poetry.group.dev.dependencies]
bandit = "^1.7.6"
mypy = "^1.8.0"
poethepoet = "^0.29.0"
ruff = "^0.6.5"
[tool.poetry.group.test.dependencies]
pytest = "^8.0.0"
pytest-asyncio = "^0.24.0"
pytest-cov = "^5.0.0"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
mkdocs = "^1.5.3"
mkdocs-material = "^9.5.4"
mkdocstrings = { extras = ["python"], version = "^0.26.1" }
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
backend-path = ["src"]
[tool.poe.tasks]
bandit = "bandit -c pyproject.toml -r ."
mypy = "mypy"
ruff-fix = "ruff check --fix"
ruff = "ruff check"
lint = ["bandit", "mypy", "ruff"]
format-check = "ruff format --check"
format = "ruff format"
docs-build = "poetry run mkdocs build"
docs-serve = "poetry run mkdocs serve"
test = "pytest --cov=src"
[tool.bandit]
targets = ["src", "tests"]
exclude_dirs = ["venv"]
[tool.bandit.assert_used]
skips = ["*_test.py", "*test_*.py"]
[tool.mypy]
files = ["src", "tests"]
strict_optional = false
[tool.ruff]
exclude = [".venv", ".git", "__pycache__", "build", "dist", "venv"]
line-length = 88
target-version = "py311"
src = ["src", "tests"]
[tool.ruff.lint]
select = ["F", "E", "W", "C90", "I", "B"]
ignore = ["E501", "C901"]
[tool.ruff.format]
docstring-code-format = true
[tool.pytest.ini_options]
addopts = ["-vvv", "--doctest-modules", "--import-mode=importlib"]
pythonpath = [".", "src"]
testpaths = ["tests", "src"]
asyncio_default_fixture_loop_scope = "function"
asyncio_mode = "auto"