tempus-ddb 0.5.3

Local-first B2A security gate with tamper-evident execution receipts
Documentation
[build-system]
requires = ["maturin>=1.5,<2.0"]
build-backend = "maturin"

[project]
name = "tempus-ddb"
version = "0.5.3"
description = "Cryptographic toll gate for autonomous agent actions with single-use permits and tamper-evident receipts"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
authors = [
    {name = "Tempus DDB Contributors"}
]
keywords = ["ai", "agents", "authorization", "audit", "cryptography", "github", "mcp", "tamper-evident"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "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 :: Software Development :: Libraries",
    "Topic :: Security :: Cryptography",
]
dependencies = [
    "mcp>=1.0.0,<2.0.0",
    "python-dotenv>=1.2.3,<2.0.0"
]

[project.optional-dependencies]
dev = [
    "pytest",
    "pytest-asyncio",
    "maturin",
    "ruff==0.16.8",
    "bandit",
    "pip-audit"
]

[project.urls]
Homepage = "https://github.com/elbuilder77/tempus-ddb"
Documentation = "https://elbuilder77.github.io/tempus-ddb/"
Repository = "https://github.com/elbuilder77/tempus-ddb"
Issues = "https://github.com/elbuilder77/tempus-ddb/issues"

[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"

[tool.ruff]
target-version = "py310"
required-version = ">=0.15.0"

[tool.ruff.lint]
# Keep CI stable while enforcing syntax, import, and runtime-correctness checks.
select = ["E4", "E7", "E9", "F", "I"]