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.6

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.6
File Size Uploaded
eqbuilder-0.1.6.tar.gz 12.0 kB Details

Built distribution (wheel)

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

Total release size: 26.5 kB

Release files / eqbuilder-0.1.6.tar.gz

Download URL eqbuilder-0.1.6.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c46f5871e0ad6c80059bef5c8c5bdb8ab31028161a072717acf67a5fdacc25eb
BLAKE2b-256 checksum
How to use checksums
1e243c3674582d0dce6a540ace271d5ac563a013decedfa85b4ccc2a6cd270dc
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.6-py3-none-any.whl

Download URL eqbuilder-0.1.6-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
719fb7114853c2f4d6cc14677336cf649d989964375e2ecb2924d3b36848282d
BLAKE2b-256 checksum
How to use checksums
541cad9a73df2b369a290f498583046d46c51b2d41dbd572f3863cd16b1400d5
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

0.1.7

2 release files

This release

0.1.6 This release

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