-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpyproject.toml
More file actions
100 lines (89 loc) · 3.51 KB
/
pyproject.toml
File metadata and controls
100 lines (89 loc) · 3.51 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
[build-system]
requires = ["setuptools==80.9.0", "wheel==0.45.1", "setuptools_scm==8.1.0"]
build-backend = "setuptools.build_meta"
[project]
name = "cogames"
description = "Multi-agent cooperative games"
readme = "README.md"
requires-python = ">=3.12,<3.13"
classifiers = ["Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12"]
dependencies = [
"mettagrid==0.26.13",
"softmax-cli==0.26.5",
"packaging>=24.0.0",
"pydantic>=2.11.5",
"pyyaml>=6.0.2",
"questionary>=2.0.1",
"typer>=0.19.2",
"rich>=13.7.0",
"questionary>=2.1.0",
"fastapi>=0.115.0",
"uvicorn>=0.34.0",
"httpx>=0.28.1",
"anthropic[bedrock]>=0.64.0",
"openai>=1.0.0",
# For `cogames docsync` command
"nbstripout>=0.8.0",
"nbconvert>=7.16.0",
"jupytext>=1.16.0",
"ipykernel>=6.29.5",
# Only used by cogames upload tests; could be moved to optional dep group
"pytest-httpserver>=1.1.0",
]
dynamic = ["version"]
[project.optional-dependencies]
diplomacog = ["diplomacog"]
hungercog = ["hungercog"]
overcogged = ["overcogged"]
tribalcog = ["tribalcog"]
amongcogs = ["amongcogs"]
werecog = ["werecog"]
cogsguard = ["cogsguard"]
bitworld = ["bitworld"]
neural = ["pufferlib-core", "torch", "einops>=0.8.0", "mettagrid[train]"]
test = ["cogames[neural]", "pytest", "pytest-xdist", "ruff"]
[project.scripts]
cogames = "cogames.main:app"
[tool.setuptools.packages.find]
where = ["src"]
include = ["cogames", "cogames.*", "metta_alo", "metta_alo.*"]
[tool.setuptools]
include-package-data = true
[tool.setuptools.package-data]
cogames = ["py.typed", "assets/**/*", "docs/*.md"]
metta_alo = ["py.typed"]
[tool.setuptools_scm]
tag_regex = "^cogames-v(?P<version>\\d+\\.\\d+\\.\\d+(?:\\.\\d+)?)$"
version_scheme = "no-guess-dev"
local_scheme = "no-local-version"
root = "../.."
fallback_version = "0.0.0"
# Provide a specific git command to be used in order to find the correct versioning tags
git_describe_command = ["git", "describe", "--dirty", "--tags", "--long", "--match", "cogames-v*"]
[tool.pytest.ini_options]
pythonpath = ["src"]
testpaths = ["tests"]
[tool.coverage.run]
source = ["cogames"]
[tool.uv.sources]
mettagrid = {git = "https://github.com/Metta-AI/mettagrid.git"}
softmax-cli = {git = "https://github.com/Metta-AI/softmax-cli.git"}
diplomacog = { git = "https://github.com/Metta-AI/cogame-diplomacog.git" }
hungercog = { git = "https://github.com/Metta-AI/cogame-hungercog.git" }
overcogged = { git = "https://github.com/Metta-AI/cogame-overcogged.git" }
tribalcog = { git = "https://github.com/Metta-AI/cogame-tribal.git", rev = "7aa556bc9e0d733f30e5e5043d229c4a5ca03ad5" }
amongcogs = { git = "https://github.com/Metta-AI/cogame-amongcogs.git" }
werecog = { git = "https://github.com/Metta-AI/cogame-werecog.git" }
cogsguard = { git = "https://github.com/Metta-AI/cogame-cogsguard.git", rev = "e088553fdb5753404327a12ba8412412999fa558" }
bitworld = { git = "https://github.com/Metta-AI/bitworld.git", rev = "63191512d486fa56c86e7b53893884b67e746fe7" }
[tool.ruff]
extend = "../../.ruff.toml"
[tool.ruff.lint.per-file-ignores]
# Ignoring:
# - E501 Line too long (notebook .py files can have long lines from cell content)
# - E402 Module level import not at top of file (cells can have imports even when not the first cell)
# - I001 Import block not sorted (notebook import grouping/order should stay aligned with docsync output)
"README.py" = ["E501", "E402", "I001"]
"tutorials/*.py" = ["E501", "E402", "I001"]
# generated_models.py is auto-generated from openapi.json via datamodel-codegen
"src/cogames/cli/generated_models.py" = ["E501", "I001"]