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.
- tba_bases_identity_model-0.4.0.dev2/PKG-INFO +22 -0
- tba_bases_identity_model-0.4.0.dev2/README.md +3 -0
- tba_bases_identity_model-0.4.0.dev2/pyproject.toml +20 -0
- tba_bases_identity_model-0.4.0.dev2/src/tba_bases_identity_model/__init__.py +23 -0
- tba_bases_identity_model-0.4.0.dev2/src/tba_bases_identity_model/artifacts.py +49 -0
- tba_bases_identity_model-0.4.0.dev2/src/tba_bases_identity_model/normalization.py +6 -0
- tba_bases_identity_model-0.4.0.dev2/src/tba_bases_identity_model/py.typed +0 -0
|
@@ -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,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
|
+
]
|
|
File without changes
|