Observed since 20 Oct, 20:23 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Python SDK for the Aembit Edge API
Official Python SDK for interacting with the Aembit Edge API.
The Aembit Edge SDK allows Python backend services, serverless functions, web applications, AI agents, and MCP servers to authenticate and retrieve credentials dynamically without managing static secrets.
logging library under the aembit_edge namespace.>=3.10.pip install aembit-edge-sdk
Or using uv:
uv add aembit-edge-sdk
from aembit_edge import CredentialServerRef, EdgeClient, EdgeClientConfig, GetCredentialInput
from aembit_edge.trust_providers import AwsRoleTrustProvider
# 1. Initialize the AWS Role Trust Provider
aws_provider = AwsRoleTrustProvider(region="us-east-1")
# 2. Configure the Edge Client
config = EdgeClientConfig(
base_url="https://your-tenant.aembit.io",
client_id="your-client-id",
trust_provider=aws_provider,
)
client = EdgeClient(config)
# 3. Retrieve target server credentials
server = CredentialServerRef(host="database.internal", port=5432)
request = GetCredentialInput(server=server, credential_type="api_key")
result = client.get_credential(request)
print("Retrieved Credential Data:", result.data)
from aembit_edge import CredentialServerRef, EdgeClient, EdgeClientConfig, GetCredentialInput
from aembit_edge.trust_providers import GitHubTrustProvider
# 1. Initialize the trust provider with the environment's identity token
github_provider = GitHubTrustProvider(identity_token="YOUR_GITHUB_OIDC_TOKEN")
# 2. Configure the Edge Client
config = EdgeClientConfig(
base_url="https://your-tenant.aembit.io",
client_id="your-client-id",
trust_provider=github_provider,
)
client = EdgeClient(config)
# 3. Request credentials for a target server
server = CredentialServerRef(host="api.internal", port=443)
request = GetCredentialInput(server=server, credential_type="api_key")
result = client.get_credential(request)
print("Retrieved Credential Data:", result.data)
Other OIDC providers (GitLabTrustProvider, TerraformTrustProvider) follow the same pattern:
from aembit_edge.trust_providers import GitLabTrustProvider, TerraformTrustProvider
# For GitLab CI/CD:
gitlab_provider = GitLabTrustProvider(identity_token="YOUR_GITLAB_OIDC_TOKEN")
# For Terraform Cloud:
terraform_provider = TerraformTrustProvider(identity_token="YOUR_TERRAFORM_OIDC_TOKEN")
| Trust Provider | Class Name | Import Path |
|---|---|---|
| AWS IAM Role (STS) | AwsRoleTrustProvider(region=...) | aembit_edge.trust_providers |
| GitHub Actions OIDC | GitHubTrustProvider(identity_token=...) | aembit_edge.trust_providers |
| GitLab CI/CD OIDC | GitLabTrustProvider(identity_token=...) | aembit_edge.trust_providers |
| Terraform Cloud OIDC | TerraformTrustProvider(identity_token=...) | aembit_edge.trust_providers |
By default, the SDK remains silent with a logging.NullHandler attached to the aembit_edge namespace. To enable operational debug logging:
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger("aembit_edge").setLevel(logging.DEBUG)
Runnable integration examples are available in the GitHub repository:
This project is licensed under the Apache-2.0 License.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.35.0 | 10 Oct 2026 | 9 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 20:23 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:acdf80564d73623bae3a09cb3787b09706366ac196f04a209de03ed683fa59fa