Private
Public Access
0
0
Files
manual_slop/pyproject.toml
T
ed 20fa355838 chore(deps): tilde-pin all deps; delete requirements.txt
Every direct dep in pyproject.toml now has a ~X.Y.Z bound
(patch-only). The 7 unconstrained deps (imgui-bundle,
anthropic, google-genai, openai, fastapi, mcp, uvicorn,
plus tomli-w) get explicit tilde bounds discovered from
uv.lock. The 6 >=X.Y.Z deps are normalized to tilde-style
(pinned to the current lock version).

The local-rag optional dep (sentence-transformers) is also
tilde-pinned.

requirements.txt is deleted (was redundant with uv.lock;
the uv project uses uv.lock as the canonical lock file,
which is regenerated locally and gitignored per project
policy at .gitignore:9).

Re-running the audit confirms 0 PIN_VIOLATION (was 7). The
final.md report records the post-cleanup state.

Also adds --report-name CLI flag to the audit script
(default 'initial') so the script can write either
initial.md (Phase 1) or final.md (Phase 2) into the same
report directory.
2026-06-07 15:15:30 -04:00

83 lines
1.9 KiB
TOML

# pyproject.toml
[project]
name = "manual_slop"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"imgui-bundle~=1.92.5",
"pyopengl~=3.1.10",
"tomli-w~=1.2.0",
"tree-sitter~=0.25.2",
"tree-sitter-python~=0.25.0",
"tree-sitter-c~=0.24.2",
"tree-sitter-cpp~=0.23.4",
"psutil~=7.2.2",
"fastapi~=0.133.0",
"mcp~=1.26.0",
"pytest-timeout~=2.4.0",
"uvicorn~=0.41.0",
"anthropic~=0.83.0",
"google-genai~=1.64.0",
"openai~=2.26.0",
"chromadb~=1.5.8",
]
[project.optional-dependencies]
local-rag = [
"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)",
"clean_install: clean install verification (opt-in via RUN_CLEAN_INSTALL_TEST=1)",
"docker: docker build and run test (opt-in via RUN_DOCKER_TEST=1)",
]
[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 McCabe complexity check for nesting depth enforcement
# PLR = complexity rules for methods/functions
select = ["E", "F", "W", "C90", "C4", "PLR0912", "PLR6301", "PLR0206"]
# 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
"E501", # Line too long
"W291", # Trailing whitespace
"W293", # Blank line contains whitespace
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["PLR"] # Allow init to export classes
[tool.ruff.lint.mccabe]
max-complexity = 5