semvec/pypi-packages huggingface dataset:
ai-storyteller-cli 0.3.0
AI Storyteller and DM Assistant
Requires Python: >=3.10

# AI Storyteller

**Your AI-Powered Dungeon Master Assistant**

Storyteller is a CLI-based application that uses Large Language Models (LLMs) to run tabletop roleplaying games. It manages lore, tracks story state, and acts as an immersive Dungeon Master.

## Features

- **Multi-Provider AI**: Support for OpenAI, Anthropic, and Gemini.
- **Lore Management**: Local Markdown-based lore system with smart retrieval.
- **Persistence**: SQLite database for saving stories, characters, and events.
- **MCP Support**:
    - **Server**: Expose Storyteller tools to Claude Desktop.
    - **Client**: Connect Storyteller to external tools (Web Search, etc.).

## Documentation Index

| Topic | Description |
|-------|-------------|
| **[Setup Guide](docs/setup.md)** | Installation, API keys, and initialization. |
| **[PyPI Installation](docs/pypi_install.md)** | Installing and using from PyPI. |
| **[GitHub & Template Guide](docs/github_setup.md)** | Cloning, setup, and creating custom distributions. |
| **[Database Guide](docs/db.md)** | Understanding the schema and managing save files. |
| **[RAG & Vector Search](docs/rag.md)** | How the AI remembers lore using vector embeddings. |
| **[Procedural Tools](docs/procedural.md)** | Generating dungeons and loot. |
| **[Export & Sharing](docs/export_sharing.md)** | Exporting stories and packing lore. |
| **[Plugin System](docs/plugins.md)** | Extending Storyteller with Python scripts. |
| **[Textual TUI](docs/tui.md)** | Using the rich terminal interface. |
| **[Publishing Guide](docs/publishing.md)** | Packaging and distributing the library. |
| **[Quick Start](docs/usage.md)** | Basic usage instructions. |
| **[Chat Interface](docs/chat.md)** | Deep dive into how to play and interact. |
| **[CLI Reference](docs/cli.md)** | Complete command list (`start`, `serve`, `dm-assist`). |
| **[Lore Guide](docs/lore.md)** | How to write and organize your world's lore. |
| **[MCP Integration](docs/mcp.md)** | Configuring MCP Server and Client modes. |
| **[Best Practices](docs/bestpractices.md)** | Tips for better prompting and game management. |
| **[Architecture](docs/architecture.md)** | System design and component overview. |

## Quick Start

1.  **Install**: ```bash
pip install ai-storyteller-cli
# OR for RAG support:
pip install "ai-storyteller-cli[rag]"
```
2.  **Configure**: Create `.env` with API keys.
3.  **Init**: `storyteller init`
4.  **Play**: `storyteller start`

## License
MIT
kegg-manual 0.0.2
local handler of KEGG data
Requires Python: >=3.11

<!--
 * @Date: 2021-06-19 11:28:40
 * @LastEditors: Hwrn
 * @LastEditTime: 2021-06-19 11:31:31
 * @filePath: /KEGG/README.md
 * @Description:
-->
KEGG Database
===
Curated KEGG database

---
## Files
- brite: json file of brite
- pathview: files downloaded bt pathview package in R scripts
- Scripts: Scripts take part in building this database


# [***$\not$<!-- @Hwrn -->*~~`\`~~**](README.md)
lazy-locker 0.0.7
Python SDK for lazy-locker - A secure local secrets manager
Requires Python: >=3.8

# lazy-locker SDK for Python

SDK Python pour [lazy-locker](https://github.com/lazy-locker/lazy-locker) - Gestionnaire de secrets sécurisé.

## Installation

```bash
pip install lazy-locker
# ou
uv add lazy-locker
```

## Prérequis

L'agent lazy-locker doit être démarré :

```bash
lazy-locker  # Entrez votre passphrase dans le TUI
```

L'agent reste actif pendant 8 heures.

## Usage

### Injection automatique

```python
from lazy_locker import inject_secrets
import os

# Injecte tous les secrets dans os.environ
inject_secrets()

# Utilisez vos secrets normalement
api_key = os.environ["MY_API_KEY"]
```

### Récupération manuelle

```python
from lazy_locker import get_secrets, get_secret

# Tous les secrets
secrets = get_secrets()
print(secrets)  # {"MY_API_KEY": "xxx", "DB_PASSWORD": "yyy"}

# Un secret spécifique
api_key = get_secret("MY_API_KEY")
```

### Vérification de l'agent

```python
from lazy_locker import is_agent_running, status

if is_agent_running():
    info = status()
    print(f"Agent actif, TTL restant: {info['ttl_remaining_secs']}s")
else:
    print("Lancez lazy-locker pour démarrer l'agent")
```

## Comparaison avec python-dotenv

| Feature | python-dotenv | lazy-locker |
|---------|---------------|-------------|
| Secrets en clair sur disque | ✅ Oui (.env) | ❌ Non (chiffré) |
| Versioning sécurisé | ❌ Non | ✅ Oui |
| Expiration des secrets | ❌ Non | ✅ Oui |
| Multi-projet | ❌ Non | ✅ Oui |

## Migration depuis python-dotenv

```python
# Avant
from dotenv import load_dotenv
load_dotenv()

# Après
from lazy_locker import inject_secrets
inject_secrets()

# Le reste du code reste identique !
```