Metadata-Version: 2.4
Name: configvault-sdk
Version: 0.1.0
Summary: Python SDK for ConfigVault API
Project-URL: Homepage, https://github.com/sitien173/config-vault
Project-URL: Repository, https://github.com/sitien173/config-vault
Project-URL: Issues, https://github.com/sitien173/config-vault/issues
Author: nst173
License-Expression: MIT
Keywords: config,configvault,sdk,vault
Classifier: Development Status :: 3 - Alpha
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: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx-sse>=0.4.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: respx>=0.21.0; extra == 'dev'
Description-Content-Type: text/markdown

# ConfigVault Python SDK

Python client for the ConfigVault configuration management API.

## Installation

```bash
pip install configvault-sdk
```

## Usage

```python
from configvault import ConfigVaultClient

client = ConfigVaultClient(
    base_url="http://localhost:5000",
    api_key="your-api-key"
)

# Get a configuration value
value = await client.get("production/database/connection")

# Check if key exists
exists = await client.exists("production/database/connection")

# List all configs in namespace
configs = await client.list("production")

# Check service health
health = await client.health()
```

## Watching for Changes

```python
from configvault import ConfigVaultClient

client = ConfigVaultClient(
    base_url="http://localhost:5000",
    api_key="your-api-key"
)

# Watch all changes
watcher = client.watch()

# Or filter by pattern
watcher = client.watch("production/*")

async for event in watcher.watch():
    print(f"Changed keys: {event.keys}")
    print(f"Timestamp: {event.timestamp}")

# Stop watching
watcher.stop()
```
