tba-bases-identity-model 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,22 @@
1
+ Metadata-Version: 2.4
2
+ Name: tba-bases-identity-model
3
+ Version: 0.4.0.dev2
4
+ Summary: Base classes for concrete TBA identity and credential models.
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-bases-authentication-credential (==0.4.0.dev2)
14
+ Requires-Dist: tba-bases-identity (==0.4.0.dev2)
15
+ Requires-Dist: tba-contracts-identity (==0.4.0.dev2)
16
+ Requires-Dist: tba-primitives-identity (==0.4.0.dev2)
17
+ Description-Content-Type: text/markdown
18
+
19
+ # tba-bases-identity-model
20
+
21
+ Base classes connecting concrete identity and credential models to their contracts.
22
+
@@ -0,0 +1,3 @@
1
+ # tba-bases-identity-model
2
+
3
+ Base classes connecting concrete identity and credential models to their contracts.
@@ -0,0 +1,20 @@
1
+ [project]
2
+ name = "tba-bases-identity-model"
3
+ version = "0.4.0.dev2"
4
+ description = "Base classes for concrete TBA identity and credential models."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10,<3.15"
7
+ license = "Apache-2.0"
8
+ dependencies = [
9
+ "tba-bases-authentication-credential==0.4.0.dev2",
10
+ "tba-bases-identity==0.4.0.dev2",
11
+ "tba-primitives-identity==0.4.0.dev2",
12
+ "tba-contracts-identity==0.4.0.dev2",
13
+ ]
14
+
15
+ [build-system]
16
+ requires = ["poetry-core>=1.0.0"]
17
+ build-backend = "poetry.core.masonry.api"
18
+
19
+ [tool.poetry]
20
+ packages = [{ include = "tba_bases_identity_model", from = "src" }]
@@ -0,0 +1,23 @@
1
+ """Base classes for concrete identity and credential models."""
2
+
3
+ from tba_bases_authentication_credential import CredentialBase
4
+ from tba_bases_identity import IdentityBase, SubjectIdentifierStrategyBase
5
+
6
+ from .artifacts import (
7
+ ArtifactVerifierBase,
8
+ CredentialIssuerBase,
9
+ PresentationBuilderBase,
10
+ )
11
+ from .normalization import clean_mapping, clean_tuple, new_model_id, required_text
12
+ __all__ = [
13
+ "ArtifactVerifierBase",
14
+ "CredentialBase",
15
+ "CredentialIssuerBase",
16
+ "IdentityBase",
17
+ "PresentationBuilderBase",
18
+ "clean_mapping",
19
+ "clean_tuple",
20
+ "new_model_id",
21
+ "required_text",
22
+ "SubjectIdentifierStrategyBase",
23
+ ]
@@ -0,0 +1,49 @@
1
+ """Reusable bases for format-specific credential components."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from abc import ABC, abstractmethod
6
+ from typing import Any, Mapping, Sequence
7
+
8
+ from tba_contracts_identity.credential_artifacts import (
9
+ ArtifactVerifier,
10
+ CredentialArtifact,
11
+ CredentialIssuer,
12
+ PresentationArtifact,
13
+ PresentationBuilder,
14
+ VerificationRequest,
15
+ VerificationResult,
16
+ )
17
+
18
+
19
+ class LegacyCredentialIssuerBase(CredentialIssuer, ABC):
20
+ @abstractmethod
21
+ def issue(
22
+ self, claims: Mapping[str, Any], /, **options: Any
23
+ ) -> CredentialArtifact: ...
24
+
25
+
26
+ class LegacyCredentialArtifactVerifierBase(ArtifactVerifier, ABC):
27
+ @abstractmethod
28
+ def verify(self, request: VerificationRequest, /) -> VerificationResult: ...
29
+
30
+
31
+ class LegacyPresentationBuilderBase(PresentationBuilder, ABC):
32
+ @abstractmethod
33
+ def present(
34
+ self, credentials: Sequence[CredentialArtifact], /, **options: Any
35
+ ) -> PresentationArtifact: ...
36
+
37
+
38
+ CredentialIssuerBase = LegacyCredentialIssuerBase
39
+ ArtifactVerifierBase = LegacyCredentialArtifactVerifierBase
40
+ PresentationBuilderBase = LegacyPresentationBuilderBase
41
+
42
+ __all__ = [
43
+ "ArtifactVerifierBase",
44
+ "CredentialIssuerBase",
45
+ "LegacyCredentialArtifactVerifierBase",
46
+ "LegacyCredentialIssuerBase",
47
+ "LegacyPresentationBuilderBase",
48
+ "PresentationBuilderBase",
49
+ ]
@@ -0,0 +1,6 @@
1
+ """Compatibility exports for normalization primitives now owned by layer 00."""
2
+
3
+ from tba_primitives_identity import clean_mapping, clean_tuple, new_model_id, required_text
4
+
5
+
6
+ __all__ = ["clean_mapping", "clean_tuple", "new_model_id", "required_text"]