[build-system]
requires = ["maturin>=1.5,<2.0"]
build-backend = "maturin"
[project]
name = "tempus-ddb"
version = "0.5.4"
description = "Fail-closed security gate for AI agents: every action passes a signed policy or is blocked, with verifiable receipts."
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
authors = [
{name = "Tempus DDB Contributors"}
]
keywords = ["ai-agents", "mcp", "policy-engine", "fail-closed", "zero-trust", "audit", "ed25519", "tamper-evident", "agent-security"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Rust",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Security",
"Topic :: Security :: Cryptography",
"Topic :: Software Development :: Libraries",
]
dependencies = [
"mcp>=1.0.0,<3.0.0",
"python-dotenv>=1.2.3,<2.0.0"
]
[project.optional-dependencies]
dev = [
"pytest",
"pytest-asyncio",
"maturin",
"ruff==0.17.2",
"bandit",
"pip-audit",
"certifi>=2026.10.19",
"filelock>=4.2.1; python_version>='3.11'",
"filelock>=3.8.0,<3.20.4; python_version<'3.11'",
]
[project.urls]
Homepage = "https://julio-patron.github.io/tempus-ddb/"
Documentation = "https://julio-patron.github.io/tempus-ddb/docs.html"
Repository = "https://github.com/Julio-Patron/tempus-ddb"
Issues = "https://github.com/Julio-Patron/tempus-ddb/issues"
Changelog = "https://github.com/Julio-Patron/tempus-ddb/releases"
"Rust crate" = "https://crates.io/crates/tempus-ddb"
[project.scripts]
tempus = "tempus_ddb.cli:main"
tempus-github-executor = "tempus_ddb.github_executor:main"
tempus-http-executor = "tempus_ddb.http_executor:main"
tempus-slack-executor = "tempus_ddb.slack_executor:main"
tempus-payment-executor = "tempus_ddb.payment_executor:main"
[tool.maturin]
features = ["pyo3/extension-module"]
python-source = "python"
module-name = "tempus_ddb._tempus_ddb"
[tool.pytest.ini_options]
pythonpath = ["python"]
testpaths = ["tests"]
asyncio_mode = "auto"
filterwarnings = [
"ignore:tempus. allow-all development policy installed:UserWarning",
]
[tool.ruff]
target-version = "py310"
required-version = ">=0.15.0"
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I"]