# pyproject.toml
[project]
name = "manual_slop"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
    "dearpygui",
    "imgui-bundle",
    "google-genai",
    "anthropic",
    "openai",
    "tomli-w",
    "psutil>=7.2.2",
    "fastapi",
    "uvicorn",
    "tree-sitter>=0.25.2",
    "tree-sitter-python>=0.25.0",
    "tree-sitter-c>=0.23.2",
    "tree-sitter-cpp>=0.23.2",
    "mcp>=1.0.0",
    "pytest-timeout>=2.4.0",
    "pyopengl>=3.1.10",
    "chromadb>=1.5.8",
    "sentence-transformers>=5.4.1",
]

[dependency-groups]
dev = [
    "pytest>=9.0.2",
    "pytest-cov>=7.0.0",
    "pytest-asyncio>=0.25.3",
]

[tool.pytest.ini_options]
markers = [
    "integration: marks tests as integration tests (requires live GUI)",
]

[tool.mypy]
strict = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
ignore_missing_imports = true
explicit_package_bases = true

[tool.ruff]
# Target version
target-version = "py311"
exclude = [
    "scripts/ai_style_formatter.py",
    "scripts/temp_def.py",
]

[tool.ruff.lint]

# Enable standard rules
select = ["E", "F", "W"]
# Ignore style choices that conflict with project's compact style
ignore = [
    "E701", # Multiple statements on one line (colon)
    "E702", # Multiple statements on one line (semicolon)
    "E402", # Module level import not at top of file
    "E722", # Do not use bare `except`
    "E501", # Line too long
    "W291", # Trailing whitespace
    "W293", # Blank line contains whitespace
]



