Genkit AWS Plugin - AWS Observability Integration (X-Ray, CloudWatch)
Project description
Genkit AWS Plugin
AWS observability integration for Genkit, enabling telemetry export to AWS X-Ray (distributed tracing) and CloudWatch (metrics/logs).
Installation
pip install genkit-plugin-aws
Quick Start
from genkit.plugins.aws import add_aws_telemetry
# Enable AWS X-Ray telemetry (uses AWS_REGION env var)
add_aws_telemetry()
# Or with explicit region
add_aws_telemetry(region='us-west-2')
Configuration
Environment Variables
| Variable | Description |
|---|---|
AWS_REGION |
AWS region for X-Ray endpoint (required) |
AWS_DEFAULT_REGION |
Fallback region if AWS_REGION not set |
AWS_ACCESS_KEY_ID |
AWS access key (or use IAM role) |
AWS_SECRET_ACCESS_KEY |
AWS secret key (or use IAM role) |
Options
add_aws_telemetry(
region='us-west-2', # AWS region (or use AWS_REGION env var)
log_input_and_output=False, # Set True to disable PII redaction
force_dev_export=True, # Export even in dev environment
disable_traces=False, # Set True to disable tracing
)
IAM Permissions
The following IAM permissions are required:
For Traces (X-Ray)
Attach the AWSXrayWriteOnlyPolicy managed policy, or create a custom policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"xray:PutTraceSegments",
"xray:PutTelemetryRecords"
],
"Resource": "*"
}
]
}
Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ AWS Plugin │
├─────────────────────────────────────────────────────────────────────────┤
│ Plugin Entry Point (__init__.py) │
│ └── add_aws_telemetry() - Enable X-Ray/CloudWatch export │
├─────────────────────────────────────────────────────────────────────────┤
│ telemetry/tracing.py - Distributed Tracing │
│ ├── AWS X-Ray OTLP exporter configuration │
│ ├── SigV4 authentication for AWS endpoints │
│ ├── AwsXRayIdGenerator for X-Ray-compatible trace IDs │
│ └── OpenTelemetry integration │
└─────────────────────────────────────────────────────────────────────────┘
Data Flow:
┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐
│ Genkit App │───►│ OpenTelemetry│───►│ AWS Observability │
│ (actions, │ │ SDK + ADOT │ │ (X-Ray, CloudWatch) │
│ flows) │ └──────────────┘ └──────────────────────┘
└──────────────┘
AWS Documentation
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file genkit_plugin_aws-0.5.0.tar.gz.
File metadata
- Download URL: genkit_plugin_aws-0.5.0.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f92f4d7289dbefb2730452f147dbce468253e1dc09bd3a7a3b597a002275a638
|
|
| MD5 |
83dfb99f74fcb478dea2d4e05778a56f
|
|
| BLAKE2b-256 |
1bbc0826f9e29f5a1abe52e0bcf38d615effeb0376b1d4c950b7a32d2e347a14
|
Provenance
The following attestation bundles were made for genkit_plugin_aws-0.5.0.tar.gz:
Publisher:
publish_python.yml on firebase/genkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
genkit_plugin_aws-0.5.0.tar.gz -
Subject digest:
f92f4d7289dbefb2730452f147dbce468253e1dc09bd3a7a3b597a002275a638 - Sigstore transparency entry: 913417823
- Sigstore integration time:
-
Permalink:
firebase/genkit@0c396b62b25ce64bf860535cd0e6777ed7ef93e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/firebase
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_python.yml@0c396b62b25ce64bf860535cd0e6777ed7ef93e5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file genkit_plugin_aws-0.5.0-py3-none-any.whl.
File metadata
- Download URL: genkit_plugin_aws-0.5.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34d9508af4cf6c9e3acd1559df87e127d6f918dadcba2443a02ffe6c2e874c99
|
|
| MD5 |
5d382f34de1cb89d3686640c4acfb165
|
|
| BLAKE2b-256 |
81ef3de85068a088833a6170de2762ce5463719a000b947a916fdd4b37f4ee73
|
Provenance
The following attestation bundles were made for genkit_plugin_aws-0.5.0-py3-none-any.whl:
Publisher:
publish_python.yml on firebase/genkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
genkit_plugin_aws-0.5.0-py3-none-any.whl -
Subject digest:
34d9508af4cf6c9e3acd1559df87e127d6f918dadcba2443a02ffe6c2e874c99 - Sigstore transparency entry: 913417879
- Sigstore integration time:
-
Permalink:
firebase/genkit@0c396b62b25ce64bf860535cd0e6777ed7ef93e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/firebase
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_python.yml@0c396b62b25ce64bf860535cd0e6777ed7ef93e5 -
Trigger Event:
workflow_dispatch
-
Statement type: