Metadata-Version: 2.5
Name: versine
Version: 0.1.0
Summary: Versine SDK for AI agents: sign assertions, verify users, request handshake codes.
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: cryptography>=42
Requires-Dist: httpx>=0.27
Provides-Extra: aws
Requires-Dist: boto3>=1.34; extra == 'aws'
Provides-Extra: azure
Requires-Dist: azure-identity>=1.15; extra == 'azure'
Requires-Dist: azure-keyvault-keys>=4.9; extra == 'azure'
Provides-Extra: gcp
Requires-Dist: google-cloud-kms>=3; extra == 'gcp'
Description-Content-Type: text/markdown

# versine (Python)

Server-side SDK for AI agents that integrate Versine.

```sh
pip install versine
uv add versine
poetry add versine
```

For a key in a cloud key service, add the extra: `versine[aws]`,
`[gcp]` or `[azure]`.

```python
import versine

with open("versine.pem") as f:
    signer = versine.local_signer(f.read())
versine = versine.Versine(
    client_id="ac_live_...",
    key_id="key_...",
    signer=signer,
)
assertion = versine.create_assertion(
    versine.AgentUser(sub="user_123", email="alice@example.com")
)
```

Signers: `local_signer` (PEM or JWK), `versine.aws.AwsKmsSigner`,
`versine.gcp.GcpKmsSigner`, `versine.azure.AzureKeyVaultSigner`,
or any object with `sign(data: bytes) -> bytes` returning a 64-byte ES256 signature.

The SDK follows the
[Google Python Style Guide](https://google.github.io/styleguide/pyguide.html);
`pnpm lint` runs ruff and pylint with Google's pylintrc.
