Metadata-Version: 2.1
Name: genaikeys
Version: 0.0.1rc1
Summary: A convenient secret retrieval proxy backed by cloud scale secret vaults
Home-page: https://github.com/ndamulelonemakh/genaikeys
License: MIT
Keywords: secrets,AI,cloud,vault,security
Author: Ndamulelo Nemakhavhani
Author-email: ndamulelo@rihonegroup.com
Requires-Python: >=3.10,<4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Provides-Extra: all
Provides-Extra: aws
Provides-Extra: gcp
Requires-Dist: azure-identity (>=1.17.1,<2.0.0)
Requires-Dist: azure-keyvault-secrets (>=4.8.0,<5.0.0)
Requires-Dist: cryptography (>=43.0.1,<44.0.0)
Project-URL: Repository, https://github.com/ndamulelonemakh/genaikeys
Description-Content-Type: text/markdown

# GenAIKeys [WIP]

GenAIKeys is a Python library that streamlines API key management for Generative AI applications by securely
provisioning and injecting credentials into your codebase.

> **Disclaimer**: Please exercise caution when using this package in production environments. We recommend that you
> review the codebase and ensure that it meets your security requirements before deploying it in a production environment.

[![PyPI version](https://badge.fury.io/py/GenAIKeys.svg)](https://badge.fury.io/py/GenAIKeys)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

## Features

- 🔐 Secure API key management for GenAI services
- 🚀 Zero environment variable configuration
- ⚡️ Direct integration with cloud secret vaults
- 🔌 Built-in support for OpenAI, Anthropic, and Google Gemini
- 🛠 Extensible architecture for custom secret backends

## Installation

```bash
pip install GenAIKeys
```

## Quick Start

```python
from genaikeys import SecretKeeper

# Initialize GenAIKeys
skp = SecretKeeper.from_defaults()

# Get API keys directly
api_key = skp.get('huggingface-api-key')

# Use convenience methods
openai_key = skp.get_openai_key()
anthropic_key = skp.get_anthropic_key()
gemini_key = skp.get_gemini_key()
```

## Configuration

* By default, GenAIKeys uses the `Azure Key Vault` secret backend. You can configure the secret backend by setting
  the `SECRET_KEEPER_BACKEND` environment variable to one of the following values:
    - `AZURE`
    - `AWS`
    - `GCP`
* We recommend setting the `SECRET_KEEPER_BACKEND` environment variable in a persistent configuration file like
  `.bashrc` or `.zshrc`.*

* You will also need to provide the configurations for the secret backend you choose.

#### Azure Key Vault

- The following environment variables are required for the `Azure Key Vault` secret backend:
    - `AZURE_KEY_VAULT_URL`
- Optionally you can also provide the following environment variables:
    - `MANGED_IDENTITY_CLIENT_ID` (for User Assigned Managed Identity authentication)

#### AWS Secrets Manager [WIP]

#### Google Secret Manager [WIP]

## Documentation

For detailed usage instructions, API reference, and advanced configuration options, visit
our [documentation](https://docs.GenAIKeys.dev).

## Contributing

We welcome contributions! Please see our [contribution guidelines](CONTRIBUTING.md) before submitting pull requests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

