-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpyproject.toml
More file actions
130 lines (117 loc) · 3.32 KB
/
pyproject.toml
File metadata and controls
130 lines (117 loc) · 3.32 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
[build-system]
requires = ["setuptools>=77", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "civStation"
version = "0.0.1"
requires-python = ">=3.10"
description = "Computer-use action evaluation framework for game environments. Collect data automatically and evaluate agent actions against ground truth."
readme = "README.md"
authors = [
{ name = "minsing-jin", email = "developerminsing@gmail.com" }
]
maintainers = [
{ name = "minsing-jin", email = "developerminsing@gmail.com" }
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Games/Entertainment :: Turn Based Strategy",
]
license = "MIT"
dependencies = [
"anthropic>=0.77.0",
"configargparse>=1.7.1",
"dotenv>=0.9.9",
"fastapi>=0.129.0",
"google-genai>=1.60.0",
"mcp>=1.12,<2",
"mss>=9.0.0",
"openai>=2.16.0",
"pillow>=12.1.0",
"pre-commit>=4.5.1",
"pyaudio>=0.2.14",
"pyautogui>=0.9.54",
"pyyaml>=6.0.3",
"rich>=13.0",
"soundfile>=0.13.1",
"speechrecognition>=3.14.5",
"typer",
"uvicorn>=0.40.0",
]
[project.optional-dependencies]
# Voice input dependencies for HITL
voice = [
"SpeechRecognition>=3.10.0",
"PyAudio>=0.2.14",
"openai-whisper>=20231117", # For local Whisper STT
]
# Chat app integration dependencies
chatapp = [
"discord.py>=2.3.0",
]
# Real-time status dashboard
ui = [
"fastapi>=0.115.0",
"uvicorn>=0.34.0",
]
docs = [
"mkdocs-material>=9.6.0",
"mkdocs-static-i18n>=1.3.1",
"pymdown-extensions>=10.0",
]
test = [
"coverage", # testing
"pytest", # testing
"ruff", # linting
"ty", # checking types
"ipdb", # debugging
"pre-commit", # git hooks
]
[project.urls]
bugs = "https://github.com/minsing-jin/civStation/issues"
changelog = "https://github.com/minsing-jin/civStation/blob/main/changelog.md"
documentation = "https://minsing-jin.github.io/civStation/"
homepage = "https://github.com/minsing-jin/civStation"
[project.scripts]
civstation = "civStation.cli:app"
civstation-mcp = "civStation.mcp.server:main"
civstation-mcp-install = "civStation.mcp.install_client_assets:main"
civStation = "civStation.cli:app"
civStation_mcp = "civStation.mcp.server:main"
civStation_mcp_install = "civStation.mcp.install_client_assets:main"
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
addopts = "-v --strict-markers"
markers = [
"integration: marks tests requiring full environment (deselect with '-m \"not integration\"')",
]
[tool.coverage.run]
source = ["civStation"]
[tool.coverage.report]
show_missing = true
skip_empty = true
[tool.ty]
# All rules are enabled as "error" by default; no need to specify unless overriding.
# Example override: relax a rule for the entire project (uncomment if needed).
# rules.TY015 = "warn" # For invalid-argument-type, warn instead of error.
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # Pyflakes
"I", # isort
"B", # flake8-bugbear
"UP", # pyupgrade
]
[tool.uv]
package = true
[tool.setuptools.packages.find]
include = ["civStation*"]