-
Notifications
You must be signed in to change notification settings - Fork 4
/
pyproject.toml
128 lines (111 loc) · 3.12 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
128
[tool.poetry]
name = "ares-sc2"
version = "2.28.8"
description = ""
authors = ["Tom Kerr <tomkerrdev@gmail.com>, Paul <paul@ares.com>"]
readme = "README.md"
packages = [{include = "src/ares"}]
homepage = "https://github.com/AresSC2/ares-sc2"
repository = "https://github.com/AresSC2/ares-sc2"
license = "MIT"
[tool.poetry.dependencies]
python = ">=3.10, <3.13"
burnysc2 = { git = "https://github.com/august-k/python-sc2", branch = "develop" }
PyYAML = "^6.0.2"
tqdm = "^4.64.1"
scikit-learn = "^1.2.2"
map-analyzer = { git = "https://github.com/raspersc2/SC2MapAnalysis" }
cython-extensions-sc2 = "^0.4.5"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.lint]
optional = true
[tool.poetry.group.test]
optional = true
[tool.poetry.group.semver]
optional = true
[tool.poetry.group.lint.dependencies]
isort = "^5.11.4"
black = "^22.12.0"
flake8 = "^6.0.0"
mypy = "^0.991"
[tool.poetry.group.test.dependencies]
pytest = "^7.2.1"
pytest-cov = "^4.0.0"
pytest-asyncio = "^0.21.1"
[tool.poetry.group.docs.dependencies]
mkdocs = "^1.6.1"
mkdocs-material = "^9.0.6"
mkdocstrings = {extras = ["python"], version = "^0.27.0"}
[tool.poetry.group.semver.dependencies]
python-semantic-release = "^7.33.0"
[tool.poetry.group.notebook.dependencies]
ipykernel = "^6.22.0"
matplotlib = "^3.7.1"
line-profiler = "^4.0.3"
[build-system]
requires = ["poetry-core", "Cython", "numpy", "setuptools"]
build-backend = "poetry.core.masonry.api"
[tool.coverage.report]
exclude_lines = [
'if __name__ == "__main__":'
]
exclude_also = [
"pass",
"if TYPE_CHECKING:"
]
# only omitting files, where it seems there
# are no reasonable ways of unit testing them
omit = [
"src/ares/chat_debug.py",
"src/ares/behaviors/combat/combat_behavior.py"
]
[tool.pytest.ini_options]
testpaths = ["src", "tests"]
addopts = "-p no:cacheprovider" # deactivating pytest caching.
filterwarnings = [
"error",
"ignore::DeprecationWarning",
# note the use of single quote below to denote "raw" strings in TOML
'ignore:function ham\(\) is deprecated:DeprecationWarning',
]
[tool.isort]
profile = "black"
[tool.mypy]
# 3rd party import
ignore_missing_imports = true
# dynamic typing
disallow_any_unimported = true
disallow_any_expr = false
disallow_any_decorated = false
disallow_any_explicit = true
disallow_any_generics = false
disallow_subclassing_any = false
# platform
python_version = "3.10"
# untyped
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
# None and Optionalpytes
no_implicit_optional = true
# Warnings
warn_return_any = false
warn_unreachable = true
# Misc
pretty = true
# This file will be removed later
exclude = "src/ares/example_docstrings.py"
[tool.semantic_release]
branch = "main"
version_variable = "src/ares/__init__.py:__version__"
version_toml = "pyproject.toml:tool.poetry.version"
version_source = "tag"
commit_version_number = true # required for version_source = "tag"
tag_commit = true
# might want these true later
upload_to_pypi = false
upload_to_release = false
hvcs = "github"
commit_message = "{version} [skip ci]" # skip triggering ci pipelines for version commits