-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
132 lines (122 loc) · 3.8 KB
/
pyproject.toml
File metadata and controls
132 lines (122 loc) · 3.8 KB
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
129
130
131
132
[build-system]
build-backend = "setuptools.build_meta"
requires = [ "setuptools" ]
[project]
name = "splendor"
version = "0.0.3"
description = "Splendor Game Engine & automatic agents"
readme = "README.md"
keywords = [
"AI",
"Deep Learning",
"game",
"Genetic Algorithm",
"gymnasium",
"PPO",
"Recurrent-PPO",
"Reinforcement Learning",
"RL",
"torch",
]
license = { file = "LICENSE" }
maintainers = [
{ name = "roeey777" },
]
authors = [
{ name = "roeey777" },
]
requires-python = ">=3.11"
classifiers = [
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Documentation :: Sphinx",
"Topic :: Games/Entertainment :: Board Games",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dynamic = [ "dependencies", "optional-dependencies" ]
urls.Documentation = "https://roeey777.github.io/Splendor-AI/"
urls.Homepage = "https://roeey777.github.io/Splendor-AI/"
urls.Issues = "https://github.com/roeey777/Splendor-AI/issues"
urls.Repository = "https://github.com/roeey777/Splendor-AI"
scripts.evolve = "splendor.agents.our_agents.genetic_algorithm.evolve:main"
scripts.ppo = "splendor.agents.our_agents.ppo.ppo:main"
gui-scripts.splendor = "splendor.general_game_runner:main"
[tool.setuptools]
include-package-data = true
# Install all the non-code files as well (pictures and trained agents weights).
[tool.setuptools.packages.find]
where = [ "src" ]
[tool.setuptools.dynamic]
dependencies = { file = [ "requirements/runtime.txt" ] }
optional-dependencies = { dev = { file = [
"requirements/development.txt",
] }, docs = { file = [
"requirements/docs.txt",
] }, extra = { file = [
"requirements/extra.txt",
] } }
# External Tools
[tool.ruff]
line-length = 88
exclude = [
"build",
"docs",
"src/splendor/game.py",
"src/splendor/general_game_runner.py",
"src/splendor/splendor/splendor.md",
"src/splendor/splendor/splendor_displayer.py",
"src/splendor/splendor/splendor_model.py",
"src/splendor/splendor/splendor_utils.py",
"src/splendor/splendor/wiki-template/*",
"src/splendor/template.py",
"src/splendor/utils.py",
]
# Like Black, indent with spaces, rather than tabs.
format.indent-style = "space"
# Like Black, use double quotes for strings.
format.quote-style = "double"
# Like Black, automatically detect the appropriate line ending.
format.line-ending = "auto"
# Like Black, respect magic trailing commas.
format.skip-magic-trailing-comma = false
lint.select = [
"A", # use flake8-builtins
"ANN", # use flake8-annotations
"B", # use flake8-bugbear
"C",
"C4", # use flake8-comprehensions
"COM", # use flake8-commas
"F", # use pyflakes
"FURB", # use refurb
"I", # use isort
"PL", # use pylint
"PTH", # use flake8-use-pathlib
"Q", # use flake8-quotes
"RUF", # use ruff-specific rules
"SLF", # use flake8-self
"UP", # use pyupgrade
]
lint.ignore = [
"ANN002", # ignore ANN002 - Missing type annotation for *args.
"ANN003", # ignore ANN003 - Missing type annotation for **kwargs.
"ANN101", # ignore ANN101 - Missing type annotation for self in method.
"COM812", # ignore COM812 - Trailing comma missing.
"F722", # ignore F722 - Syntax error in forward annotation due to lack of integration between jaxtyping and ruff.
]
lint.unfixable = [ "F401" ]
lint.flake8-builtins.builtins-allowed-modules = [ "random", "types" ]
[tool.mypy]
plugins = [ "numpy.typing.mypy_plugin" ]
disable_error_code = [ "import-untyped" ]
exclude = [
"^.*build.*\\.py$",
"^docs.*\\.py$",
]