[build-system] requires = ["setuptools>=61", "wheel"] build-backend = "setuptools.build_meta" [project] name = "agent-immune" version = "0.2.2" description = "Adaptive threat intelligence for AI agent security — semantic memory, multi-turn escalation, output scanning, rate limiting, and prompt hardening." readme = "README.md" license = { text = "Apache-2.0" } requires-python = ">=3.9" authors = [{ name = "Denny" }] keywords = [ "ai-security", "agent-security", "prompt-injection", "tool-security", "mcp", "mcp-server", "langchain", "crewai", "llm-security", "agent-governance", "semantic-memory", "output-scanning", ] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Security", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Typing :: Typed", ] dependencies = [ "pydantic>=2.0", "numpy>=1.24", ] [project.optional-dependencies] memory = [ "sentence-transformers>=2.2", ] mcp = [ "mcp[cli]>=1.0", ] fast-memory = [ "hnswlib>=0.7", ] bench = [ "datasets>=2.14", "pandas>=2.0", ] all = [ "agent-immune[memory]", "agent-immune[mcp]", "agent-immune[fast-memory]", ] dev = [ "pytest>=7.0", "pytest-cov>=4.0", "ruff>=0.1", ] [project.scripts] agent-immune = "agent_immune.__main__:main" [project.urls] Homepage = "https://github.com/denial-web/agent-immune" Documentation = "https://github.com/denial-web/agent-immune/tree/main/docs" Repository = "https://github.com/denial-web/agent-immune" Changelog = "https://github.com/denial-web/agent-immune/blob/main/CHANGELOG.md" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] agent_immune = ["py.typed", "corpus/*.json"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "--cov=src/agent_immune --cov-report=term-missing" [tool.ruff] line-length = 120 target-version = "py311"