Metadata-Version: 2.3
Name: swarmauri_keyprovider_gcpkms
Version: 0.9.0.dev4
Summary: Google Cloud KMS Key Provider for Swarmauri
License: Apache-2.0
Author: Swarmauri
Author-email: opensource@swarmauri.com
Requires-Python: >=3.10,<3.13
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: cbor
Requires-Dist: cbor2 ; extra == "cbor"
Requires-Dist: cryptography
Requires-Dist: google-auth
Requires-Dist: requests
Requires-Dist: swarmauri_base
Requires-Dist: swarmauri_core
Requires-Dist: swarmauri_standard
Description-Content-Type: text/markdown

# Swarmauri GCP KMS Key Provider

GCP KMS-backed key provider for the Swarmauri framework. This plugin exposes
Google Cloud KMS keys through the common `IKeyProvider` interface, enabling
signing, verification, encryption and random byte generation.

## Optional Canonicalization Extras

- `cbor` – enables CBOR canonicalization utilities via `cbor2`.

## Features

- AES encryption and decryption using KMS-managed symmetric keys.
- RSA and EC signing backed by Cloud KMS.
- RSA wrapping and unwrapping of data encryption keys.
- JWKS export for asymmetric public keys.

## Installation

```bash
uv add swarmauri_keyprovider_gcpkms
```

Enable CBOR canonicalization support:

```bash
uv add swarmauri_keyprovider_gcpkms[cbor]
```

## Usage

```python
from swarmauri_keyprovider_gcpkms import GcpKmsKeyProvider

kp = GcpKmsKeyProvider(
    project_id="my-project",
    location_id="us-east1",
    key_ring_id="my-ring",
)
```

