Ctrl K
ComunidadGuías…

pyproject.toml

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

Archivo original ↗Preguntar a KiBot
[build-system]
requires = ["setuptools>=84.2.1", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "cortex-agent"
version = "1.2.3"
description = "CORTEX — Private Intelligence Framework. A fully local, privacy-first AI agent."
readme = "README.md"
license = "MIT"
license-files = ["LICENSE"]
authors = [{ name = "Roydon Sequeira" }]
requires-python = ">=3.12"
keywords = ["ai-agent", "local-llm", "ollama", "rag", "react-agent", "privacy", "fastapi", "llm"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
    "Framework :: FastAPI",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
    "fastapi>=0.162.0,<0.200",
    "uvicorn[standard]>=0.54.0,<1.0",
    "pydantic>=2.14.1,<3.0",
    "pydantic-settings>=2.16.1,<3.0",
    "httpx>=0.28.1,<1.0",
    "chromadb>=1.5.9,<2.0",
    "aiosqlite>=0.22.1,<1.0",
    "opentelemetry-sdk>=1.45.1,<2.0",
    "opentelemetry-exporter-otlp>=1.45.1,<2.0",
    "opentelemetry-instrumentation-fastapi>=0.66b1,<1.0",
    "structlog>=26.1.0,<27.0",
    "anyio>=4.15.1,<5.0",
    "pyyaml>=6.0.3,<7.0",
    "restrictedpython>=8.5,<9.0",
    "html2text>=2025.4.15",
    "jsonschema>=4.26.0,<5.0",
    "truststore>=0.10.5",
]

[project.urls]
Homepage = "https://github.com/roydonsequeira/CORTEX-Private-Intelligence-Framework"
Repository = "https://github.com/roydonsequeira/CORTEX-Private-Intelligence-Framework"
Issues = "https://github.com/roydonsequeira/CORTEX-Private-Intelligence-Framework/issues"
Changelog = "https://github.com/roydonsequeira/CORTEX-Private-Intelligence-Framework/blob/main/CHANGELOG.md"

[project.scripts]
cortex = "cortex.cli:main"

[project.optional-dependencies]
container = [
    "docker>=7.2.0,<8.0",
]
dev = [
    "pytest>=9.1.1,<10",
    "pytest-asyncio>=1.4.0,<2.0",
    "ruff>=0.17.2,<1.0",
    "mypy>=2.4.0,<3.0",
    "pytest-cov>=7.1.0,<8.0",
    "types-pyyaml",
    "types-jsonschema",
]

[tool.setuptools.packages.find]
where = ["src"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
# Live-model tests are opt-in: run them with `pytest -m ollama` against a
# running Ollama. They are deselected from the default suite and CI.
addopts = "-m 'not ollama'"
markers = [
    "ollama: integration tests that require a running Ollama server (deselected by default)",
]

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

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM"]
ignore = ["E501"]

[tool.mypy]
python_version = "3.12"
strict = true
mypy_path = "src"

[[tool.mypy.overrides]]
module = ["RestrictedPython", "RestrictedPython.*", "docker", "docker.*"]
ignore_missing_imports = true
# RestrictedPython 8.5+ ships inline types but does not list re-exports in
# __all__; treat its imported names as re-exported so strict mode accepts them.
implicit_reexport = true