Metadata-Version: 2.2
Name: genorbex-secret-handler
Version: 0.1.0
Summary: Python client for securely storing and retrieving Genorbex Secret Handler secrets.
Author-email: Genorbex AI <support@genorbex.com>
License: MIT
Project-URL: Homepage, https://www.genorbex.com/secret-handler
Project-URL: Documentation, https://www.genorbex.com/secret-handler
Keywords: genorbex,orbex,secrets,secret-manager,sdk
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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 :: Cryptography
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"

# Genorbex Secret Handler Python SDK

Store and retrieve encrypted values from Genorbex Secret Handler.

```bash
python -m pip install -e sdks/python-secret-handler
export ORBEX_API_KEY="your-64-character-api-key"
```

```python
from genorbex_secret_handler import SecretHandlerClient

secrets = SecretHandlerClient()

secrets.store_secret(
    "production/database",
    {"host": "db.internal", "username": "service", "password": "..."},
    secret_type="DATABASE_CREDENTIALS",
    tags=["production", "database"],
)

credentials = secrets.retrieve_secret("production/database", parse_json=True)
print(credentials["host"])
```

The client also provides `list_secrets`, `get_secret`, `get_secret_value`,
`create_secret`, `update_secret`, `rotate_secret`, and `delete_secret`.

Configuration:

- `ORBEX_API_KEY`, `GENORBEX_API_KEY`, `ORBEX_API_TOKEN`, or `GENORBEX_TOKEN`: authentication token.
- `ORBEX_ENDPOINT_URL`, `ORBEX_API_URL`, or `GENORBEX_BASE_URL`: defaults to `https://www.genorbex.com`.
- `base_url="http://localhost:3000"`: useful for local development.

Secret values are not included in model representations or SDK exceptions.
