pyproject.toml
Rama main · réplica de lectura del repositorio original.
[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