EIL Card Python SDK (eil-card)
Resolve verified organization and person identity from the EIL Card registry — with LangChain, CrewAI, and LlamaIndex integrations.
Install
pip install eil-card
Optional framework extras:
pip install eil-card[langchain]
pip install eil-card[llamaindex]
pip install eil-card[crewai]
pip install eil-card[all]
Quick start
from eil_card import DigitalCard, discover_capabilities, discover_act_capabilities
result = DigitalCard.resolve(domain="sinyalle.com")
card = result["card"]
print(card["name"]["official"], card.get("verified"))
caps = discover_capabilities(card)
if caps["available"]:
print("Gateway:", caps["agent_gateway"])
act = discover_act_capabilities(card)
print("Write/act scopes:", act["scopes_parsed"]["write"], act["scopes_parsed"]["act"])
LangChain
from eil_card.integrations.langchain import create_eil_resolve_tool
tool = create_eil_resolve_tool()
# tools = [tool]
Tool name matches the TypeScript SDK: resolve_entity_identity.
CrewAI
from crewai import Agent
from eil_card.integrations.crewai import create_eil_resolve_crewai_tool
resolve_tool = create_eil_resolve_crewai_tool()
agent = Agent(role="Researcher", goal="Verify entities", tools=[resolve_tool])
LlamaIndex
from eil_card.integrations.llamaindex import EILReader
docs = EILReader().load_data(domain="sinyalle.com")
JWS trust (Registry+)
from eil_card import DigitalCard
result = DigitalCard.resolve(domain="sinyalle.com", verify_jws=True)
print(result.get("trust", {}).get("jws"))
# Crypto verify: pip install eil-card[crypto]
result = DigitalCard.resolve(
domain="sinyalle.com",
verify_jws={"public_key_pem": open("registry-public.pem").read(), "require_valid": True},
)
Access policy ("robots.txt for agents")
from eil_card import DigitalCard, discover_access_policy, is_training_denied
result = DigitalCard.resolve(domain="sinyalle.com")
policy = discover_access_policy(result["card"])
# {"read": "gateway", "act": "gateway", "training": "deny", "state": "active", ...}
if is_training_denied(result["card"]):
skip_for_training()
if policy["read"] == "deny":
raise SystemExit("Entity opts out of agent access")
Agent act headers (pilot gateway)
from eil_card import build_idempotency_key, build_agent_act_headers, agent_act_headers_to_fetch
key = build_idempotency_key(
agent_client_id="my-agent",
action_id="create_post",
entity_id="sinyalle.com",
nonce="run-1",
)
headers = agent_act_headers_to_fetch(
build_agent_act_headers(
access_token="...",
idempotency_key=key,
action_id="create_post",
card_id="sinyalle.com",
)
)
Development
cd packages/python
pip install -e ".[dev]"
pytest
Publish (maintainers)
pip install build twine
python -m build
twine upload dist/*
Set PYPI_API_TOKEN in the environment or ~/.pypirc.
Docs
- https://eilcard.com/docs/agents
- TypeScript SDK parity:
packages/sdk/SDK.md
Metadata
Release files for eil-card 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eil_card-0.2.0.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eil_card-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.6 kB
Release files / eil_card-0.2.0.tar.gz
| Download URL | eil_card-0.2.0.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad1139bc339a0dccd17d1b9f644d7058ad20ae3c74fa613eb14f1247addb966c
|
|
BLAKE2b-256 checksum How to use checksums |
6ab3483acb80373d09abff2fb91b9199765cf4ec3d59be21a7c9f6b4c1176213
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / eil_card-0.2.0-py3-none-any.whl
| Download URL | eil_card-0.2.0-py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e969cfd535fc59cda0152e7528e480efce10daec75e306b4c3c427242ff8038c
|
|
BLAKE2b-256 checksum How to use checksums |
dbc3d48b5af133667b766becf0b15938f8f6d3444f36d4b5d24a8d9bf0a9ef8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|