tba-bases-identity-document 0.4.0.dev2__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.
@@ -0,0 +1,19 @@
1
+ Metadata-Version: 2.4
2
+ Name: tba-bases-identity-document
3
+ Version: 0.4.0.dev2
4
+ Summary: Protocol-neutral identity-document resolution, publication, and verification bases.
5
+ License-Expression: Apache-2.0
6
+ Requires-Python: >=3.10,<3.15
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Python :: 3.14
13
+ Requires-Dist: tba-contracts-identity-document (==0.4.0.dev2)
14
+ Description-Content-Type: text/markdown
15
+
16
+ # tba-bases-identity-document
17
+
18
+ Protocol-neutral extension bases for resolving, publishing, and verifying identity documents. DID Core mappings belong in layer 50.
19
+
@@ -0,0 +1,3 @@
1
+ # tba-bases-identity-document
2
+
3
+ Protocol-neutral extension bases for resolving, publishing, and verifying identity documents. DID Core mappings belong in layer 50.
@@ -0,0 +1,15 @@
1
+ [project]
2
+ name = "tba-bases-identity-document"
3
+ version = "0.4.0.dev2"
4
+ description = "Protocol-neutral identity-document resolution, publication, and verification bases."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10,<3.15"
7
+ license = "Apache-2.0"
8
+ dependencies = ["tba-contracts-identity-document==0.4.0.dev2"]
9
+
10
+ [build-system]
11
+ requires = ["poetry-core>=1.0.0"]
12
+ build-backend = "poetry.core.masonry.api"
13
+
14
+ [tool.poetry]
15
+ packages = [{ include = "tba_bases_identity_document", from = "src" }]
@@ -0,0 +1,38 @@
1
+ """Protocol-neutral identity-document extension bases."""
2
+
3
+ from abc import ABC
4
+
5
+ from tba_contracts_identity_document import (
6
+ IdentityDocument,
7
+ IdentityDocumentPublisherPort,
8
+ IdentityDocumentResolverPort,
9
+ IdentityDocumentVerificationRequest,
10
+ IdentityDocumentVerificationResult,
11
+ IdentityDocumentVerifierPort,
12
+ )
13
+
14
+
15
+ class IdentityDocumentResolverBase(IdentityDocumentResolverPort, ABC):
16
+ def resolve(self, identifier: str, /) -> IdentityDocument:
17
+ raise NotImplementedError
18
+
19
+
20
+ class IdentityDocumentPublisherBase(IdentityDocumentPublisherPort, ABC):
21
+ def publish(self, document: IdentityDocument, /) -> object:
22
+ raise NotImplementedError
23
+
24
+
25
+ class IdentityDocumentVerifierBase(IdentityDocumentVerifierPort, ABC):
26
+ def verify(
27
+ self,
28
+ request: IdentityDocumentVerificationRequest,
29
+ /,
30
+ ) -> IdentityDocumentVerificationResult:
31
+ raise NotImplementedError
32
+
33
+
34
+ __all__ = [
35
+ "IdentityDocumentPublisherBase",
36
+ "IdentityDocumentResolverBase",
37
+ "IdentityDocumentVerifierBase",
38
+ ]