aembit-edge-sdk 1.35.0__py3-none-any.whl

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.
Files changed (37) hide show
  1. aembit_edge/__init__.py +75 -0
  2. aembit_edge/auth.py +13 -0
  3. aembit_edge/client.py +665 -0
  4. aembit_edge/config.py +22 -0
  5. aembit_edge/credentials.py +63 -0
  6. aembit_edge/errors.py +138 -0
  7. aembit_edge/internal/__init__.py +3 -0
  8. aembit_edge/internal/client/__init__.py +3 -0
  9. aembit_edge/internal/client/auth_parsing.py +65 -0
  10. aembit_edge/internal/client/credential_parsing.py +76 -0
  11. aembit_edge/internal/client/token_state.py +119 -0
  12. aembit_edge/internal/protocol/__init__.py +14 -0
  13. aembit_edge/internal/protocol/edge_api.py +105 -0
  14. aembit_edge/internal/protocol/errors.py +124 -0
  15. aembit_edge/internal/protocol/http_transport.py +261 -0
  16. aembit_edge/internal/protocol/retry.py +27 -0
  17. aembit_edge/internal/protocol/types.py +116 -0
  18. aembit_edge/internal/retry.py +249 -0
  19. aembit_edge/internal/shared.py +19 -0
  20. aembit_edge/internal/trust_providers/__init__.py +15 -0
  21. aembit_edge/internal/trust_providers/aws_role.py +157 -0
  22. aembit_edge/py.typed +1 -0
  23. aembit_edge/retry.py +16 -0
  24. aembit_edge/trust_providers/__init__.py +39 -0
  25. aembit_edge/trust_providers/aws_metadata_service.py +146 -0
  26. aembit_edge/trust_providers/aws_role.py +183 -0
  27. aembit_edge/trust_providers/azure_metadata_service.py +180 -0
  28. aembit_edge/trust_providers/base.py +60 -0
  29. aembit_edge/trust_providers/gcp_identity_token.py +59 -0
  30. aembit_edge/trust_providers/kubernetes_service_account.py +83 -0
  31. aembit_edge/trust_providers/oidc_id_token.py +59 -0
  32. aembit_edge/trust_providers/oidc_providers.py +159 -0
  33. aembit_edge/types.py +33 -0
  34. aembit_edge_sdk-1.35.0.dist-info/METADATA +160 -0
  35. aembit_edge_sdk-1.35.0.dist-info/RECORD +37 -0
  36. aembit_edge_sdk-1.35.0.dist-info/WHEEL +4 -0
  37. aembit_edge_sdk-1.35.0.dist-info/licenses/LICENSE +190 -0
@@ -0,0 +1,75 @@
1
+ # Copyright 2024-present Aembit, Inc.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ """Public package exports for the Aembit Edge Python SDK."""
4
+
5
+ import logging
6
+
7
+ from .auth import AuthSession
8
+ from .client import EdgeClient
9
+ from .config import EdgeClientConfig
10
+ from .credentials import (
11
+ ConnectionMetadata,
12
+ CredentialResult,
13
+ CredentialServerRef,
14
+ GetCredentialInput,
15
+ GetCredentialOptions,
16
+ )
17
+ from .errors import (
18
+ ApiError,
19
+ AuthError,
20
+ CredentialError,
21
+ EdgeSdkError,
22
+ TransportError,
23
+ TrustProviderError,
24
+ )
25
+ from .retry import RetryPolicy
26
+ from .trust_providers import (
27
+ AsyncTrustProvider,
28
+ ClientWorkloadDetails,
29
+ CollectedTrustProviderIdentity,
30
+ TrustProvider,
31
+ TrustProviderKind,
32
+ )
33
+ from .types import (
34
+ ApiKeyData,
35
+ AwsStsData,
36
+ JsonObject,
37
+ JsonPrimitive,
38
+ JsonValue,
39
+ UsernamePasswordData,
40
+ )
41
+
42
+ # Ensure named logger has a NullHandler to avoid "No handler found" warnings
43
+ # when host application has not configured logging.
44
+ _logger = logging.getLogger("aembit_edge")
45
+ if not _logger.handlers:
46
+ _logger.addHandler(logging.NullHandler())
47
+
48
+ __all__ = [
49
+ "ApiKeyData",
50
+ "ApiError",
51
+ "AsyncTrustProvider",
52
+ "AuthError",
53
+ "AuthSession",
54
+ "AwsStsData",
55
+ "ConnectionMetadata",
56
+ "CredentialError",
57
+ "CredentialResult",
58
+ "CredentialServerRef",
59
+ "CollectedTrustProviderIdentity",
60
+ "ClientWorkloadDetails",
61
+ "EdgeClient",
62
+ "EdgeClientConfig",
63
+ "EdgeSdkError",
64
+ "GetCredentialInput",
65
+ "GetCredentialOptions",
66
+ "JsonObject",
67
+ "JsonPrimitive",
68
+ "JsonValue",
69
+ "RetryPolicy",
70
+ "TransportError",
71
+ "TrustProvider",
72
+ "TrustProviderError",
73
+ "TrustProviderKind",
74
+ "UsernamePasswordData",
75
+ ]
aembit_edge/auth.py ADDED
@@ -0,0 +1,13 @@
1
+ # Copyright 2024-present Aembit, Inc.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ """Public authentication result types."""
4
+
5
+ from dataclasses import dataclass
6
+
7
+
8
+ @dataclass(slots=True, kw_only=True)
9
+ class AuthSession:
10
+ """Authentication state returned by :meth:`aembit_edge.EdgeClient.authenticate`."""
11
+
12
+ expires_at: str | None
13
+ trust_provider_id: str