-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyproject.toml
119 lines (103 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
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "neighborly"
description = "A narrative-focused agent-based settlement simulation framework."
authors = [{ name = "Shi Johnson-Bey", email = "[email protected]" }]
readme = "README.md"
dynamic = ["version"]
requires-python = ">=3.8"
keywords = [
"social simulation",
"games",
"simulation",
"artificial intelligence",
"agent-based modeling",
"multiagent systems",
"emergent narrative",
"narrative generation",
"interactive storytelling",
"settlement simulation",
]
license = { file = "LICENSE.md" }
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only",
"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",
"Topic :: Games/Entertainment :: Simulation",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Artificial Life",
"Topic :: Sociology",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Typing :: Typed",
]
dependencies = [
"esper==2.*",
"ordered-set==4.*",
"tracery3==1.*",
"polars==0.19.*",
"tabulate==0.9.*",
"PyYAML==6.0.*",
"tqdm==4.*",
"pydantic==2.*",
]
[project.optional-dependencies]
samples = ["jupyterlab", "matplotlib", "ipywidgets"]
development = [
"isort",
"black",
"black[d]",
"black[jupyter]",
"build",
"pytest",
"pytest-cov",
"sphinx",
"sphinx_rtd_theme",
]
[project.urls]
"Homepage" = "https://github.com/ShiJbey/neighborly"
"Bug Tracker" = "https://github.com/ShiJbey/neighborly/issues"
"Repository" = "https://github.com/ShiJBey/neighborly.git"
"Changelog" = "https://github.com/ShiJbey/neighborly/blob/main/CHANGELOG.md"
"Documentation" = "https://neighborly.readthedocs.io/en/latest/"
[tool.setuptools.dynamic]
version = { attr = "neighborly.__version__.VERSION" }
[tool.setuptools.packages.find]
where = ["src"]
[tool.black]
line-length = 88
[tool.isort]
profile = "black"
default_section = "THIRDPARTY"
known_first_party = "neighborly"
src_paths = ["src/neighborly", "tests", "samples"]
[tool.pytest.ini_options]
minversion = "6.0"
testpaths = ["tests"]
[tool.pyright]
reportMissingTypeStubs = "none"
[tool.pylint.design]
# Minimum number of public methods for a class (see R0903).
min-public-methods = 0
# Maximum number of public methods for a class (see R0904).
max-public-methods = 25
# Maximum number of attributes for a class (see R0902).
max-attributes = 10
# Maximum number of arguments for function / method.
max-args = 8
[tool.pylint.basic]
# Allow us to use "_T1, _T2, _T3, ..." as typevar names
typevar-rgx = "^_{0,2}(?!T[A-Z])(?:[A-Z]+|(?:[A-Z]+[a-z]+)+T?(?<!Type))(?:_co(?:ntra)?)?_?[0-9]*$"
[tool.pylint.similarities]
# Increases the default threshold for declaring code similarity
min-similarity-lines = 30