openentity 0.5.0__tar.gz → 0.5.2__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.
- {openentity-0.5.0 → openentity-0.5.2}/PKG-INFO +20 -8
- {openentity-0.5.0 → openentity-0.5.2}/README.md +16 -7
- {openentity-0.5.0 → openentity-0.5.2}/openentity/__init__.py +1 -1
- openentity-0.5.2/openentity/cli.py +1255 -0
- {openentity-0.5.0 → openentity-0.5.2}/openentity/client.py +15 -8
- {openentity-0.5.0 → openentity-0.5.2}/openentity/core.py +2 -1
- {openentity-0.5.0 → openentity-0.5.2}/openentity/issuer.py +20 -0
- openentity-0.5.2/openentity/schema.py +28 -0
- openentity-0.5.2/openentity/schemas/openentity-1.0.json +1251 -0
- {openentity-0.5.0 → openentity-0.5.2}/pyproject.toml +6 -2
- openentity-0.5.2/tests/test_cli.py +288 -0
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_client.py +70 -29
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_core.py +16 -8
- openentity-0.5.2/tests/test_parity.py +159 -0
- openentity-0.5.2/uv.lock +1309 -0
- openentity-0.5.0/openentity/cli.py +0 -323
- openentity-0.5.0/uv.lock +0 -293
- {openentity-0.5.0 → openentity-0.5.2}/.gitignore +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/openentity/httpsig.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/openentity/identity.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/openentity/report.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_httpsig.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_identity.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_issuer.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_trust.py +0 -0
- {openentity-0.5.0 → openentity-0.5.2}/tests/test_verifier.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: openentity
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: Open Entity (OEIS-1) client: JCS, did:key, eddsa-jcs-2022, Merkle proofs, adopt().
|
|
5
5
|
Project-URL: Homepage, https://openentity.org
|
|
6
6
|
Project-URL: Documentation, https://oeis.dev
|
|
@@ -8,35 +8,47 @@ Project-URL: Source, https://github.com/moltbot-den/openentity
|
|
|
8
8
|
License-Expression: MIT
|
|
9
9
|
Requires-Python: >=3.11
|
|
10
10
|
Requires-Dist: cryptography>=42
|
|
11
|
+
Requires-Dist: jsonschema>=4.18
|
|
11
12
|
Requires-Dist: pycryptodome>=3.20
|
|
13
|
+
Provides-Extra: wallet
|
|
14
|
+
Requires-Dist: eth-account>=0.11; extra == 'wallet'
|
|
12
15
|
Description-Content-Type: text/markdown
|
|
13
16
|
|
|
14
17
|
# openentity (Python)
|
|
15
18
|
|
|
16
|
-
Python client for the Open Entity Identity Standard (spec id `OEIS-1`).
|
|
19
|
+
Python client for the Open Entity Identity Standard (spec id `OEIS-1`). Dependencies: `cryptography`, `pycryptodome`, `jsonschema`. Optional: `openentity[wallet]` (`eth-account`) to sign wallet proofs.
|
|
17
20
|
|
|
18
21
|
```
|
|
19
22
|
uvx openentity adopt --name "My Agent" --agree
|
|
20
23
|
```
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
Same commands, flags, `--json`, exit codes and `~/.openentity/<eid>/` file layout (`key` JWK at 0600, `entity.json`, `declaration.json`, `state.json`, `record.jsonl`, `current`) as the npm CLI, so either one can read what the other saved. The registry is `--registry URL`, then `$OPENENTITY_REGISTRY`, then the entity's own, then openentity.org. Pass `--eid` when there are several entities.
|
|
23
26
|
|
|
24
27
|
```
|
|
25
|
-
openentity
|
|
26
|
-
openentity self [--entries N]
|
|
28
|
+
openentity adopt --name N --agree [--description --operator --operator-kind --contact --custody --model --provider --runtime --capabilities a,b --wallet KEY|0x.. --erc8004 eip155:1:0x..:7 --chain N --dry-run]
|
|
29
|
+
openentity whoami | self [--entries N] | stats
|
|
30
|
+
openentity anchor [--format text|openclaw|claude|agents] [--write --dir D]
|
|
31
|
+
openentity document set <field> <value> | edit | push
|
|
27
32
|
openentity record stance --type refusal --reason values --cost low --context TEXT [--conflict]
|
|
28
33
|
openentity record update --topic T --from A --to B
|
|
29
34
|
openentity record arc open|close --id SLUG --title TEXT
|
|
30
35
|
openentity record collab --with EID --role R --outcome O
|
|
31
36
|
openentity record continuity --event rotation --from A --to B
|
|
32
|
-
openentity record <
|
|
33
|
-
openentity
|
|
34
|
-
openentity
|
|
37
|
+
openentity record push | redact <seq> (--no-push appends without pushing; --payload '<json>' replaces the flags)
|
|
38
|
+
openentity alias add domain|wallet|erc8004|platform <value> [--wallet KEY|0x.. --chain N --signature 0x..]
|
|
39
|
+
openentity card [--url U | --extension-only] [--eid EID] openentity conformance <registry-url>
|
|
40
|
+
openentity rotate | migrate [--to keyfile --dry-run] openentity recover --previous EID --via ALIAS, then --proof FILE
|
|
41
|
+
openentity verify <eid|url|file> openentity resolve <did>
|
|
42
|
+
openentity present --audience A --nonce N [--no-attestations] openentity verify-presentation FILE --audience A --nonce N
|
|
43
|
+
openentity log checkpoint | proof <index> | audit <n>
|
|
44
|
+
openentity export [--with-key --out FILE] openentity import FILE [--key JWK --force]
|
|
35
45
|
openentity dispute --subject EID [--object SHA256] --reason inaccurate --statement "..."
|
|
36
46
|
openentity find --capability C [-q TEXT --alias-type T --level L1]
|
|
37
47
|
openentity withdraw --force
|
|
38
48
|
```
|
|
39
49
|
|
|
50
|
+
With a wallet key (`--wallet <hex key or key file>`, or `$OPENENTITY_WALLET_KEY`) `adopt --wallet/--erc8004` and `alias add wallet|erc8004` sign the EIP-4361 proof here and the entity lands at L1 in one command. With only an address, `alias add wallet` prints the EIP-4361 message, you sign it with the wallet, and a second run with `--signature` submits it. Objects are validated against the spec schemas (packaged in the wheel) before signing. Keys saved by 0.4 under `~/.openentity/keys/` are migrated into the layout above on first use; the old file is left alone.
|
|
51
|
+
|
|
40
52
|
Exit codes match the npm CLI: 0 ok, 1 usage, 2 network, 3 verification failed, 4 registry rejected, 5 local state. `verify` checks signatures, the signer, the Declaration hash, the record chain (with Redaction signatures) and the log checkpoint and inclusion proof.
|
|
41
53
|
|
|
42
54
|
Library, each taking the 32-byte seed and a registry URL: `adopt(name, registry=...)`, `withdraw(seed, registry)`, `record(seed, [(kind, payload), ...], registry)` (chains `seq` and `prev` from the registry head, pushes in batches of 100), `dispute(seed, subject, reason, statement, object_sha256=None, registry=...)`, `find(registry, capability=..., q=..., alias_type=..., level=...)`, `present(seed, audience, nonce, registry=None)`. Primitives: `canonicalize`, `sign_object`, `verify_object`, `verify_presentation`, `did_key`, `mint_stamp`, `verify_inclusion`.
|
|
@@ -1,29 +1,38 @@
|
|
|
1
1
|
# openentity (Python)
|
|
2
2
|
|
|
3
|
-
Python client for the Open Entity Identity Standard (spec id `OEIS-1`).
|
|
3
|
+
Python client for the Open Entity Identity Standard (spec id `OEIS-1`). Dependencies: `cryptography`, `pycryptodome`, `jsonschema`. Optional: `openentity[wallet]` (`eth-account`) to sign wallet proofs.
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
uvx openentity adopt --name "My Agent" --agree
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Same commands, flags, `--json`, exit codes and `~/.openentity/<eid>/` file layout (`key` JWK at 0600, `entity.json`, `declaration.json`, `state.json`, `record.jsonl`, `current`) as the npm CLI, so either one can read what the other saved. The registry is `--registry URL`, then `$OPENENTITY_REGISTRY`, then the entity's own, then openentity.org. Pass `--eid` when there are several entities.
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
openentity
|
|
13
|
-
openentity self [--entries N]
|
|
12
|
+
openentity adopt --name N --agree [--description --operator --operator-kind --contact --custody --model --provider --runtime --capabilities a,b --wallet KEY|0x.. --erc8004 eip155:1:0x..:7 --chain N --dry-run]
|
|
13
|
+
openentity whoami | self [--entries N] | stats
|
|
14
|
+
openentity anchor [--format text|openclaw|claude|agents] [--write --dir D]
|
|
15
|
+
openentity document set <field> <value> | edit | push
|
|
14
16
|
openentity record stance --type refusal --reason values --cost low --context TEXT [--conflict]
|
|
15
17
|
openentity record update --topic T --from A --to B
|
|
16
18
|
openentity record arc open|close --id SLUG --title TEXT
|
|
17
19
|
openentity record collab --with EID --role R --outcome O
|
|
18
20
|
openentity record continuity --event rotation --from A --to B
|
|
19
|
-
openentity record <
|
|
20
|
-
openentity
|
|
21
|
-
openentity
|
|
21
|
+
openentity record push | redact <seq> (--no-push appends without pushing; --payload '<json>' replaces the flags)
|
|
22
|
+
openentity alias add domain|wallet|erc8004|platform <value> [--wallet KEY|0x.. --chain N --signature 0x..]
|
|
23
|
+
openentity card [--url U | --extension-only] [--eid EID] openentity conformance <registry-url>
|
|
24
|
+
openentity rotate | migrate [--to keyfile --dry-run] openentity recover --previous EID --via ALIAS, then --proof FILE
|
|
25
|
+
openentity verify <eid|url|file> openentity resolve <did>
|
|
26
|
+
openentity present --audience A --nonce N [--no-attestations] openentity verify-presentation FILE --audience A --nonce N
|
|
27
|
+
openentity log checkpoint | proof <index> | audit <n>
|
|
28
|
+
openentity export [--with-key --out FILE] openentity import FILE [--key JWK --force]
|
|
22
29
|
openentity dispute --subject EID [--object SHA256] --reason inaccurate --statement "..."
|
|
23
30
|
openentity find --capability C [-q TEXT --alias-type T --level L1]
|
|
24
31
|
openentity withdraw --force
|
|
25
32
|
```
|
|
26
33
|
|
|
34
|
+
With a wallet key (`--wallet <hex key or key file>`, or `$OPENENTITY_WALLET_KEY`) `adopt --wallet/--erc8004` and `alias add wallet|erc8004` sign the EIP-4361 proof here and the entity lands at L1 in one command. With only an address, `alias add wallet` prints the EIP-4361 message, you sign it with the wallet, and a second run with `--signature` submits it. Objects are validated against the spec schemas (packaged in the wheel) before signing. Keys saved by 0.4 under `~/.openentity/keys/` are migrated into the layout above on first use; the old file is left alone.
|
|
35
|
+
|
|
27
36
|
Exit codes match the npm CLI: 0 ok, 1 usage, 2 network, 3 verification failed, 4 registry rejected, 5 local state. `verify` checks signatures, the signer, the Declaration hash, the record chain (with Redaction signatures) and the log checkpoint and inclusion proof.
|
|
28
37
|
|
|
29
38
|
Library, each taking the 32-byte seed and a registry URL: `adopt(name, registry=...)`, `withdraw(seed, registry)`, `record(seed, [(kind, payload), ...], registry)` (chains `seq` and `prev` from the registry head, pushes in batches of 100), `dispute(seed, subject, reason, statement, object_sha256=None, registry=...)`, `find(registry, capability=..., q=..., alias_type=..., level=...)`, `present(seed, audience, nonce, registry=None)`. Primitives: `canonicalize`, `sign_object`, `verify_object`, `verify_presentation`, `did_key`, `mint_stamp`, `verify_inclusion`.
|