Observed since 20 Oct, 19:30 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Structured multi-criteria decision intelligence for Python applications and LLM agents.
Rank options, quantify confidence, and explain the decision.
ADI is a Python library for structured multi-criteria decisions. Give it options, weighted criteria, constraints, and evidence confidence; it returns a ranked result with explainability, sensitivity analysis, and feedback-driven learning.
It is designed for two use cases:
Status: alpha. The core API is usable today, but expect refinement as real-world usage expands.
From source:
git clone https://github.com/dimgouso/adi-Agent-Decision-Intelligence.git
cd adi-decision
pip install -e .
With development tooling:
pip install -e ".[dev]"
After PyPI publishing is enabled:
pip install adi-decision
from adi import DecisionRequest, decide
from adi.schemas.decision_request import Criterion, Option, OptionValue
request = DecisionRequest(
options=[
Option(
name="Supplier A",
values=[
OptionValue(criterion_name="cost", value=100),
OptionValue(criterion_name="quality", value=0.80, confidence=0.95),
],
),
Option(
name="Supplier B",
values=[
OptionValue(criterion_name="cost", value=85),
OptionValue(criterion_name="quality", value=0.68, confidence=0.70),
],
),
],
criteria=[
Criterion(name="cost", weight=0.45, direction="cost"),
Criterion(name="quality", weight=0.55, direction="benefit"),
],
policy_name="balanced",
)
output = decide(request)
print(output.best_option)
for item in output.ranking:
print(item.option_name, item.score, item.confidence)
from adi import call_adi_tool, get_openai_tools
tools = get_openai_tools()
# Pass `tools` to your OpenAI client.
# When the model calls `adi_decide`, route the arguments here:
result = call_adi_tool(tool_arguments)
CLI:
adi validate request.json
adi decide --input request.json
adi decide --input request.json --policy risk_averse
API:
uvicorn adi.interfaces.api:app --reload
Key endpoints:
GET /healthPOST /decideGET /policiesGET /policies/{policy_name}balanced, risk_averse, and exploratoryRun the full local verification suite:
pip install -e ".[dev]"
ruff check adi/
pytest
python -m build
twine check dist/*
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.1 | 1 Mar 2026 | 12 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 19:30 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:0e3ca08f433b78f6eccb42edadd121a1ba73b16e8146e6637dc52421a772b92f