khotem 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- khotem-0.0.1/PKG-INFO +30 -0
- khotem-0.0.1/README.md +18 -0
- khotem-0.0.1/khotem/__init__.py +67 -0
- khotem-0.0.1/khotem.egg-info/PKG-INFO +30 -0
- khotem-0.0.1/khotem.egg-info/SOURCES.txt +7 -0
- khotem-0.0.1/khotem.egg-info/dependency_links.txt +1 -0
- khotem-0.0.1/khotem.egg-info/top_level.txt +1 -0
- khotem-0.0.1/pyproject.toml +18 -0
- khotem-0.0.1/setup.cfg +4 -0
khotem-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: khotem
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Thin client for KHOTEM — cryptographic witness for AI agents (x402, USDC on Base). Official package of khotem.com.
|
|
5
|
+
License: MIT
|
|
6
|
+
Project-URL: Homepage, https://khotem.com
|
|
7
|
+
Project-URL: Repository, https://github.com/fortikripto/khotem-witness
|
|
8
|
+
Project-URL: Security, https://khotem.com/.well-known/security.txt
|
|
9
|
+
Keywords: khotem,x402,witness,attestation,verify,seal,base,usdc,agents,mcp
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
|
|
13
|
+
# khotem
|
|
14
|
+
|
|
15
|
+
Thin client for **KHOTEM** — cryptographic witness for AI agents. Live: https://khotem.com
|
|
16
|
+
|
|
17
|
+
Zero dependencies (stdlib only). Paid per call via x402 (USDC on Base). This package never asks for seeds or private keys.
|
|
18
|
+
|
|
19
|
+
```python
|
|
20
|
+
import khotem
|
|
21
|
+
|
|
22
|
+
st = khotem.status() # FREE: liveness, counters
|
|
23
|
+
cat = khotem.catalog() # FREE: live price list (x402 v2)
|
|
24
|
+
|
|
25
|
+
code, invoice = khotem.call("/api/verify", method="POST", body={})
|
|
26
|
+
# code == 402 → settle per https://khotem.com/docs/pay-x402
|
|
27
|
+
# then retry with payment_signature=... or payment_tx=...
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Verify you are talking to the real KHOTEM: https://khotem.com/.well-known/security.txt (sole payTo, sole domain, ERC-8004 agent #68748 on Base).
|
khotem-0.0.1/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# khotem
|
|
2
|
+
|
|
3
|
+
Thin client for **KHOTEM** — cryptographic witness for AI agents. Live: https://khotem.com
|
|
4
|
+
|
|
5
|
+
Zero dependencies (stdlib only). Paid per call via x402 (USDC on Base). This package never asks for seeds or private keys.
|
|
6
|
+
|
|
7
|
+
```python
|
|
8
|
+
import khotem
|
|
9
|
+
|
|
10
|
+
st = khotem.status() # FREE: liveness, counters
|
|
11
|
+
cat = khotem.catalog() # FREE: live price list (x402 v2)
|
|
12
|
+
|
|
13
|
+
code, invoice = khotem.call("/api/verify", method="POST", body={})
|
|
14
|
+
# code == 402 → settle per https://khotem.com/docs/pay-x402
|
|
15
|
+
# then retry with payment_signature=... or payment_tx=...
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Verify you are talking to the real KHOTEM: https://khotem.com/.well-known/security.txt (sole payTo, sole domain, ERC-8004 agent #68748 on Base).
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""
|
|
2
|
+
khotem — thin client for KHOTEM (https://khotem.com)
|
|
3
|
+
Cryptographic witness for AI agents. Paid per call via x402 (USDC on Base).
|
|
4
|
+
Zero dependencies (stdlib only). Python >= 3.9.
|
|
5
|
+
|
|
6
|
+
This package NEVER asks for seeds or private keys. Paid calls are signed
|
|
7
|
+
or settled by YOUR wallet through the x402 flow — see https://khotem.com/docs/pay-x402
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import json
|
|
11
|
+
import urllib.request
|
|
12
|
+
|
|
13
|
+
BASE = "https://khotem.com"
|
|
14
|
+
__version__ = "0.0.1"
|
|
15
|
+
|
|
16
|
+
IDENTITY = {
|
|
17
|
+
"homepage": BASE,
|
|
18
|
+
"security_txt": f"{BASE}/.well-known/security.txt",
|
|
19
|
+
"payto_base": "0xE61c2359F1539b15F092AADbAC332cf033767aec",
|
|
20
|
+
"erc8004": {
|
|
21
|
+
"agent_id": 68748,
|
|
22
|
+
"registry": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
|
|
23
|
+
"chain": "eip155:8453",
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _get(url):
|
|
29
|
+
req = urllib.request.Request(url, headers={"User-Agent": f"khotem-py/{__version__}"})
|
|
30
|
+
with urllib.request.urlopen(req, timeout=60) as r:
|
|
31
|
+
return json.loads(r.read().decode("utf-8"))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def status():
|
|
35
|
+
"""FREE: service status (version, mode, liveness, counters)."""
|
|
36
|
+
return _get(f"{BASE}/api/status")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def catalog():
|
|
40
|
+
"""FREE: full machine-readable price list (x402 v2)."""
|
|
41
|
+
return _get(f"{BASE}/.well-known/x402")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def call(path, method="GET", body=None, payment_signature=None, payment_tx=None):
|
|
45
|
+
"""
|
|
46
|
+
Call a paid KHOTEM endpoint. Returns (http_status, data).
|
|
47
|
+
First pass returns 402 + invoice; settle per https://khotem.com/docs/pay-x402
|
|
48
|
+
then retry with payment_signature (EIP-3009) or payment_tx (txHash).
|
|
49
|
+
"""
|
|
50
|
+
headers = {"Content-Type": "application/json", "User-Agent": f"khotem-py/{__version__}"}
|
|
51
|
+
if payment_signature:
|
|
52
|
+
headers["PAYMENT-SIGNATURE"] = payment_signature
|
|
53
|
+
if payment_tx:
|
|
54
|
+
headers["X-PAYMENT"] = payment_tx
|
|
55
|
+
data = json.dumps(body).encode("utf-8") if body is not None else None
|
|
56
|
+
req = urllib.request.Request(f"{BASE}{path}", data=data, headers=headers, method=method)
|
|
57
|
+
try:
|
|
58
|
+
with urllib.request.urlopen(req, timeout=60) as r:
|
|
59
|
+
return r.status, json.loads(r.read().decode("utf-8"))
|
|
60
|
+
except urllib.error.HTTPError as e:
|
|
61
|
+
try:
|
|
62
|
+
return e.code, json.loads(e.read().decode("utf-8"))
|
|
63
|
+
except Exception:
|
|
64
|
+
return e.code, None
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
__all__ = ["status", "catalog", "call", "IDENTITY", "BASE", "__version__"]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: khotem
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Thin client for KHOTEM — cryptographic witness for AI agents (x402, USDC on Base). Official package of khotem.com.
|
|
5
|
+
License: MIT
|
|
6
|
+
Project-URL: Homepage, https://khotem.com
|
|
7
|
+
Project-URL: Repository, https://github.com/fortikripto/khotem-witness
|
|
8
|
+
Project-URL: Security, https://khotem.com/.well-known/security.txt
|
|
9
|
+
Keywords: khotem,x402,witness,attestation,verify,seal,base,usdc,agents,mcp
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
|
|
13
|
+
# khotem
|
|
14
|
+
|
|
15
|
+
Thin client for **KHOTEM** — cryptographic witness for AI agents. Live: https://khotem.com
|
|
16
|
+
|
|
17
|
+
Zero dependencies (stdlib only). Paid per call via x402 (USDC on Base). This package never asks for seeds or private keys.
|
|
18
|
+
|
|
19
|
+
```python
|
|
20
|
+
import khotem
|
|
21
|
+
|
|
22
|
+
st = khotem.status() # FREE: liveness, counters
|
|
23
|
+
cat = khotem.catalog() # FREE: live price list (x402 v2)
|
|
24
|
+
|
|
25
|
+
code, invoice = khotem.call("/api/verify", method="POST", body={})
|
|
26
|
+
# code == 402 → settle per https://khotem.com/docs/pay-x402
|
|
27
|
+
# then retry with payment_signature=... or payment_tx=...
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Verify you are talking to the real KHOTEM: https://khotem.com/.well-known/security.txt (sole payTo, sole domain, ERC-8004 agent #68748 on Base).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
khotem
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "khotem"
|
|
7
|
+
version = "0.0.1"
|
|
8
|
+
description = "Thin client for KHOTEM — cryptographic witness for AI agents (x402, USDC on Base). Official package of khotem.com."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = { text = "MIT" }
|
|
12
|
+
keywords = ["khotem", "x402", "witness", "attestation", "verify", "seal", "base", "usdc", "agents", "mcp"]
|
|
13
|
+
dependencies = []
|
|
14
|
+
|
|
15
|
+
[project.urls]
|
|
16
|
+
Homepage = "https://khotem.com"
|
|
17
|
+
Repository = "https://github.com/fortikripto/khotem-witness"
|
|
18
|
+
Security = "https://khotem.com/.well-known/security.txt"
|
khotem-0.0.1/setup.cfg
ADDED