Metadata-Version: 2.1
Name: prompt-lockbox
Version: 0.1.0
Summary: An AI toolkit to supercharge your prompts.
Author: ananya868
Author-email: ananya8154@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: all
Provides-Extra: anthropic
Provides-Extra: huggingface
Provides-Extra: ollama
Provides-Extra: openai
Provides-Extra: search
Requires-Dist: anthropic (>=0.25.0,<0.26.0) ; extra == "anthropic" or extra == "all"
Requires-Dist: faiss-cpu (>=1.7.4,<2.0.0) ; extra == "search" or extra == "all"
Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
Requires-Dist: litellm (>=1.34.0,<2.0.0) ; extra == "huggingface" or extra == "all"
Requires-Dist: lunr (>=0.7.0,<0.8.0) ; extra == "search" or extra == "all"
Requires-Dist: mirascope (>=1.25.1,<2.0.0)
Requires-Dist: numpy ; extra == "search" or extra == "all"
Requires-Dist: ollama (>=0.2.0,<0.3.0) ; extra == "ollama" or extra == "all"
Requires-Dist: openai (>=1.23.0,<2.0.0) ; extra == "openai" or extra == "all"
Requires-Dist: packaging (>=24.0,<25.0)
Requires-Dist: pydantic
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: questionary (>=2.0.1,<3.0.0)
Requires-Dist: rich (>=13.7.0,<14.0.0)
Requires-Dist: scikit-learn ; extra == "search" or extra == "all"
Requires-Dist: scipy ; extra == "search" or extra == "all"
Requires-Dist: sentence-transformers (>=2.2.0,<3.0.0) ; extra == "search" or extra == "all"
Requires-Dist: thefuzz (>=0.22.1,<0.23.0)
Requires-Dist: tomli (>=2.0.1,<3.0.0)
Requires-Dist: tomli-w (>=1.0.0,<2.0.0)
Requires-Dist: torch ; extra == "huggingface" or extra == "all"
Requires-Dist: transformers ; extra == "huggingface" or extra == "all"
Requires-Dist: typer[all] (>=0.12.3,<0.13.0)
Requires-Dist: tzdata
Requires-Dist: whoosh (>=2.7.4,<3.0.0) ; extra == "search" or extra == "all"
Description-Content-Type: text/markdown

<div align="center">
  <img src="docs/logo/logo.png" alt="Logo" width=700>  
</div>
<div align="center">
  <h5>Brings structure and reproducibility to prompt engineering</h5>
</div>


[![PyPI version](https://badge.fury.io/py/prompt-lockbox.svg)](https://badge.fury.io/py/prompt-lockbox)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python versions](https://img.shields.io/pypi/pyversions/prompt-lockbox.svg)](https://pypi.org/project/prompt-lockbox/)

A powerful CLI toolkit and Python SDK to secure, manage, and develop prompts with AI-powered features.

Prompt Lockbox helps teams and individual developers bring structure and reliability to their prompt engineering workflow. It treats your prompts like code, enabling versioning, integrity checking, and AI-assisted development, all from the command line.

---

## Key Features

*   **🔒 Integrity & Security:** Lock prompts to prevent unintended changes. The `plb verify` command ensures that production prompts haven't been tampered with.
*   **📂 Version Control:** Automatically create new, semantically versioned prompt files with `plb version`, making it easy to iterate and experiment safely.
*   **🤖 AI Superpowers:**
    *   `plb prompt document`: Automatically generate descriptions and tags for your prompts.
    *   `plb prompt improve`: Get an expert critique and suggested improvements for your prompt templates.
    *   `plb run --execute`: Execute prompts directly against configured LLMs (OpenAI, Anthropic, Ollama, HuggingFace).
*   **🔎 Advanced Search:** Build a local search index (`hybrid` or `splade`) to find the right prompt instantly using natural language.
*   **⚙️ Flexible Configuration:** An interactive wizard (`plb configure-ai`) makes it easy to set up any provider and model.

