Skip to main content

eqbuilder

Score your AI agent's replies for human-likeness before sending — and check they stick to your approved facts. No account, no API key. Get 3 lifetime free scores per caller with strict data_consent=True. Free score text and its result may be retained under a one-way pseudonymous caller key for calibration, so never submit secrets or sensitive personal data. Follow-up contact and wishlist feedback are optional and separate. Then score through POST /api/simulate with Base USDC via x402: the buyer wallet needs USDC only, no ETH.

# pip install eqbuilder
from eqbuilder import EqBuilder

eq = EqBuilder(data_consent=True)
result = eq.free_score(
    "Sounds good — I'll double-check the invoice and get back to you.",
    delay_seconds=4.2,
    profile="analytical_executive",
)
print(result["eq_score_percentage"], result.get("suggested_prompt_addition"))

Free trial note: Every free score requires data_consent=True. EqBuilder defaults to data_consent=False; opt in explicitly at construction or on an individual free_score(..., data_consent=True) call. A false or non-boolean value is rejected before a free round is consumed. All three free scores follow the same path. Optional product feedback can be sent separately with eq.wishlist("...").

Set and forget (one standing call)

# pip install "eqbuilder[payments]"
eq = EqBuilder(wallet_key="0x<private key of a wallet holding USDC on Base>")
result = eq.auto_score(
    "Sounds good — I'll double-check the invoice and get back to you.",
    delay_seconds=4.2,
    profile="analytical_executive",
)
print(result["paid"])  # False while free scores last, True once it graduates to x402

auto_score needs only explicit free-data consent plus an authorized wallet. It uses your free trial while it lasts, then transparently retries the same input through the paid x402 path on 429 free_trial_exhausted. Without a wallet_key it raises PaymentRequired with one machine-readable developer handoff containing the live quote path, Base USDC funding requirement, and card alternative. Free and paid results have slightly different shapes; the added "paid" key tells you which path ran. If a paid call times out, the SDK does not automatically replay the paid authorization. Preserve the original error/receipt and check payment status or contact the operator before creating a fresh authorization.

If you decline free-trial retention (data_consent=False), call score() directly for a paid evaluation; paid scoring does not silently inherit the free consent.

LangChain (one line)

# pip install "eqbuilder[langchain]"
from eqbuilder.langchain_tool import get_langchain_tools

tools = get_langchain_tools(data_consent=True)  # add wallet_key="0x..." for paid fallback

CrewAI

# pip install "eqbuilder[crewai]"
from eqbuilder.crewai_tool import HumanLikenessScoreTool

agent = Agent(role="support", tools=[HumanLikenessScoreTool()], ...)
# The tool schema requires data_consent=true for a free call.

Everything at once: pip install "eqbuilder[all]" (payments + LangChain + CrewAI).

Paid scoring (after the 3 free scores)

# pip install "eqbuilder[payments]"
eq = EqBuilder(wallet_key="0x<private key of a wallet holding USDC on Base>")
result = eq.score("...", delay_seconds=4.2, profile="analytical_executive")
deep   = eq.score("...", delay_seconds=4.2, profile="analytical_executive", tier="deep")

Payment is canonical x402 v2: score() calls POST /api/simulate, reads its live HTTP 402 quote, chooses Base USDC, signs a gasless EIP-3009 transfer authorization, and retries once with PAYMENT-SIGNATURE. The success response contains the result and a PAYMENT-RESPONSE settlement receipt. The live quote is authoritative for amount and terms; do not hardcode an approximate price. SOL and X-PAYMENT remain compatibility paths, not this SDK quickstart.

Paid text does not enter the free consented corpus. Its share_for_calibration option is a separate opt-in; when true, eligible high-scoring text may be retained for manual operator calibration review.

Privacy-safe corpus evidence

evidence = eq.corpus_evidence()  # aggregate counts only; no raw text or identities

The stable public evidence endpoint is https://eqbuilder.dev/api/corpus/evidence (crawler alias: https://eqbuilder.dev/.well-known/corpus-evidence.json). It reports thresholded aggregate corpus and improvement evidence, not raw submissions or guaranteed model improvement.

Script adherence (paid)

check = eq.script_check(
    reply_text="The plan is $49/mo, see example.com/pricing",
    approved_facts=["Plan price is $29/mo", "Docs: https://docs.example.com"],
)
# flags the invented $49 price and the off-script URL

Improvement loop

def rewrite(text, suggestion):
    return my_llm(f"Rewrite this reply. {suggestion}\n\n{text}")

final = eq.improve(
    "...",
    4.2,
    "analytical_executive",
    rewrite,
    max_rounds=3,
    data_consent=True,  # required when using the free improvement loop
)

Metadata

Release files for eqbuilder 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eqbuilder 0.1.7
File Size Uploaded
eqbuilder-0.1.7.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eqbuilder 0.1.7
File Interpreter ABI Platform
eqbuilder-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 26.5 kB

Release files / eqbuilder-0.1.7.tar.gz

Download URL eqbuilder-0.1.7.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e1992d38b5aed6b9daaa29b259ea180e7a5733735f47af58bb5dea9065265b94
BLAKE2b-256 checksum
How to use checksums
791cfd89aa29f84da9f9383a464df8e1ed2f3efadfe1feaea757301d853aef7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / eqbuilder-0.1.7-py3-none-any.whl

Download URL eqbuilder-0.1.7-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1944ae123d9458472f99f225632c2cf8c20b04b0c779c5eb42938b19730c1d35
BLAKE2b-256 checksum
How to use checksums
772cc60ec4e2b0f6e1b5e86fcdd8589775ae8915c84b416f8e92a3d2c69aca9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page