[project] name = "parley-consensus" # PyPI's `parley` is an unrelated project; the import name stays `parley` version = "0.2.1" description = "Consensus among personal AI agents that faithfully represent owners with conflicting private interests: deterministic red-line enforcement and verifiable transcripts. Includes a stdio MCP server." readme = "README.md" requires-python = ">=3.10" dependencies = [] # core is zero-dependency, pure stdlib keywords = [ "ai-agents", "multi-agent", "consensus", "negotiation", "social-choice", "max-min", "red-lines", "verifiable", "tamper-evident", "transcript", "zero-dependency", "mcp", "mcp-server", "model-context-protocol", "llm-agents", "decision-making", ] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] [project.urls] Homepage = "https://parleyprotocol.com" Repository = "https://github.com/5uper0/parley" Documentation = "https://github.com/5uper0/parley#readme" "Live demo" = "https://parleyprotocol.com/demo/" Changelog = "https://github.com/5uper0/parley/blob/main/CHANGELOG.md" Issues = "https://github.com/5uper0/parley/issues" [project.scripts] parley-mcp = "parley.mcp:main" # stdio MCP server; stdlib only, so it ships in the base install parley-consensus = "parley.mcp:main" # same server under the distribution name, so `uvx parley-consensus` works [project.optional-dependencies] crypto = ["pynacl>=1.6.2"] # Ed25519 signed Agent Cards + verdicts (net layer) dev = ["pytest>=9.1.1", "pynacl>=1.6.2", "setuptools>=84.0.0", "mcp>=2.3"] # mcp: CI runs tests/test_mcp_sdk_era.py, the cross-check against the official SDK # The voice layer (voice/) is stdlib-only: the brain calls OpenRouter's OpenAI-compatible # endpoint over urllib, so there is no extra to install. [build-system] requires = ["setuptools>=84.0.0"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] include = ["parley*"] [tool.pytest.ini_options] testpaths = ["tests"]