Ctrl K
ComunidadGuías…

pyproject.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[project]
name = "decidealot"
version = "0.7.2"
description = "Run local or hosted System One decision models behind one TypeSafe-compatible HTTP endpoint."
readme = "README.md"
requires-python = ">=3.12"
authors = [{ name = "Ciprian Mandache", email = "psyb0t@51k.eu" }]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.12",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
    "fastapi==0.141.1",
    "httpx==0.28.1",
    "mcp==2.2.0",
    "pydantic==2.13.5",
    "pydantic-settings==2.15.0",
    "python-json-logger==4.2.0",
    "uvicorn==0.53.0",
]

[project.scripts]
decidealot = "decidealot.main:main"

[project.urls]
Homepage = "https://github.com/psyb0t/decidealot"
Issues = "https://github.com/psyb0t/decidealot/issues"

[build-system]
requires = ["hatchling==1.28.0"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/decidealot"]

[dependency-groups]
dev = [
    "bandit==1.9.4",
    "mypy==2.3.1",
    "pip-audit==2.10.1",
    "pyright==1.1.414",
    "pytest==9.1.1",
    "pytest-asyncio==1.4.0",
    "pytest-cov==7.1.0",
    "ruff==0.16.7",
]

[tool.uv]
# New third-party releases must be at least seven days old. The two exact model
# packages below have an owner-approved exception recorded in .testing/.
exclude-newer = "2026-09-16T13:10:08Z"

[tool.ruff]
line-length = 100
target-version = "py312"

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "S", "ASYNC"]

[tool.ruff.lint.per-file-ignores]
"src/decidealot/app.py" = ["B008"]
"tests/**" = ["S101"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short -m 'not integration and not real' --ignore=.research_files"
markers = [
    "integration: production-component integration checks that launch local processes",
    "real: opt-in tests that run actual local weights or a hosted provider",
]

[tool.coverage.run]
branch = true
source = ["decidealot"]

[tool.coverage.report]
fail_under = 90
show_missing = true

[tool.mypy]
python_version = "3.12"
strict = true
warn_unreachable = true

[tool.pyright]
pythonVersion = "3.12"
typeCheckingMode = "strict"
include = ["src", "tests"]