prompt-lockbox


Nameprompt-lockbox JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryAn AI toolkit to supercharge your prompts.
upload_time2025-07-10 17:28:24
maintainerNone
docs_urlNone
authorananya868
requires_python<4.0,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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>
  <a href="https://badge.fury.io/py/prompt-lockbox"><img src="https://badge.fury.io/py/prompt-lockbox.svg" alt="PyPI version"/></a><a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"/></a><a href="https://pypi.org/project/prompt-lockbox/"><img src="https://img.shields.io/pypi/pyversions/prompt-lockbox.svg" alt="Python versions"/></a>

  A powerful CLI toolkit and Python SDK to secure, manage, and develop your LLM prompts like reusable code.
</div>

<br></br>
📑 **Explore the full Documenentation here - [Docs](https://prompt-lockbox.mintlify.app)**
>
> *(This README provides an overview. The full site contains detailed guides, API references, and advanced tutorials.)*

<br/>


<div align="center">

**[-- YOUR VIDEO DEMO WILL GO HERE --]**

*A brief video showcasing the core workflow from initialization to AI-powered improvement.*

</div>

<br/>

## Why use it ?

Managing prompts across a team or a large project can be chaotic. Plain text files lack versioning, are prone to accidental changes, and have no built-in quality control. **Prompt Lockbox** brings the discipline of software engineering to your prompt development workflow.

**Scattered Prompts**
> **Problem:** Your team’s best prompts are lost in a chaotic mess of text files, Slack messages, and Google Docs. No one knows where the “official” version is, leading to confusion and duplicated effort.
>
> ✅ **Solution:** Prompt Lockbox creates a centralized and structured library, making it effortless for your entire team to find and use the correct prompt.

**Untracked Versions**
> **Problem:** You tweak a great prompt and accidentally make it worse, with no way to go back to the version that worked.
>
> ✅ **Solution:** Prompt Lockbox provides Git-like versioning for prompts. Safely create new versions and manage modifications with `plb version`, just like code.

**Accidental Production Changes**
> **Problem:** A critical prompt is changed without approval, breaking your application and causing unpredictable outputs.
>
> ✅ **Solution:** Prompt Lockbox lets you lock and secure key prompts with `plb lock`. The system instantly detects any unauthorized edits with `plb verify`, ensuring production reliability.

**Reinventing the Wheel**
> **Problem:** Your team wastes time building prompts that already exist because they’re impossible to find.
>
> ✅ **Solution:** Prompt Lockbox makes your entire library instantly searchable. Find what you need in seconds with powerful, context-aware search (`fuzzy`, `hybrid`, `splade`).

**Poor Documentation**
> **Problem:** You write a brilliant prompt but have no time to document it, making it unusable for others (or your future self).
>
> ✅ **Solution:** Prompt Lockbox uses AI to automate documentation. One command (`plb prompt document`) generates a clear description and search tags, turning your prompts into reusable assets.
---

## Features

*   **Integrity & Security:** Lock prompts to generate a checksum. The `plb verify` command ensures that production prompts haven't been tampered with since they were last approved.

*   **Version Control First:** Automatically create new, semantically versioned prompt files with `plb version`, making it easy to iterate and experiment safely without breaking existing implementations.

*   **AI features:**
    *   **Auto-Documentation:** `plb prompt document` uses an AI to analyze your prompt and generate a concise description and relevant search tags.
    *   **Auto-Improvement:** `plb prompt improve` provides an expert critique and a suggested, improved version of your prompt template, showing you a diff of the changes.
    *   **Direct Execution:** Execute prompts directly against your configured LLMs (OpenAI, Anthropic, Ollama, HuggingFace) right from the CLI.

*   **Advanced Search:** Don't just `grep`. Build a local search index (`hybrid` TF-IDF + FAISS or `splade`) to find the right prompt instantly using natural language queries.

*   **Flexible Configuration:** An interactive wizard (`plb configure-ai`) makes it trivial to set up any provider and model, securely storing API keys in a local `.env` file.

## Installation

The base toolkit can be installed directly from PyPI:

```bash
pip install prompt-lockbox
```

To include support for specific AI providers or features, install the optional "extras". You can combine multiple extras in one command.

```bash
# To use OpenAI models
pip install 'prompt-lockbox[openai]'

# To use HuggingFace models (includes torch)
pip install 'prompt-lockbox[huggingface]'

# To use the advanced search features (includes faiss-cpu)
pip install 'prompt-lockbox[search]'

# To install everything
pip install 'prompt-lockbox[all]'
```

## ▶️ Quickstart: Your First 5 Minutes

This guide takes you from an empty directory to executing your first AI-powered prompt.

**1. Initialize Your Project**
Create a directory and run `init`. This sets up the required file structure.

```bash
mkdir my-prompt-project && cd my-prompt-project
plb init
```

**2. Configure Your AI Provider**
Run the interactive wizard to connect to your preferred LLM provider. It will securely save your API keys to a local `.env` file.

```bash
# This launches the interactive setup wizard
plb configure-ai
```

**3. Create Your First Prompt**
The `create` command will guide you through making a new prompt file.

```bash
# This launches an interactive prompt creation wizard
plb create
```
Follow the steps to name your prompt (e.g., "email-formatter"). Now, open the new file at `prompts/email-formatter.v1.0.0.yml` and add your template logic.

**4. Run and Execute**
Test your prompt by rendering it with variables, then execute it with the `--execute` flag to get a live AI response.

```bash
# Render the prompt template with a variable
plb run email-formatter --var user_request="draft a polite follow-up email"

# Send the rendered prompt to your configured AI for a response
plb run email-formatter --var user_request="draft a polite follow-up email" --execute
```

## Full Documentation

This README is just the beginning. For detailed guides, the complete command reference, and SDK usage examples, please visit our **[Prompt Lockbox Documentation](https://prompt-lockbox.mintlify.app)**.

## Contributing
We're thrilled you're interested in contributing to Prompt Lockbox! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Every contribution, from a typo fix to a new feature, is greatly appreciated.

> **To get started, please read our full [Contributing Guide](https://prompt-lockbox.mintlify.app/how_to_contribute).**
>
> This guide contains detailed information on our code of conduct, development setup, and the process for submitting pull requests.

### How You Can Help

Whether you're reporting a bug, suggesting a feature, improving the documentation, or submitting code, your help is welcome. The best place to start is by checking our [GitHub Issues](https://github.com/ananya868/prompt-lockbox/issues) and [Discussions](https://github.com/ananya868/prompt-lockbox/discussions).

## License

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "prompt-lockbox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "ananya868",
    "author_email": "ananya8154@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/27/18/63205f8ef1c7cd67425e04556f817bf7d645cd20efee7f25f1b12c2d1de1/prompt_lockbox-0.1.2.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"docs/logo/logo.png\" alt=\"Logo\" width=700>  \n</div>\n<div align=\"center\">\n  <h5>Brings structure and reproducibility to prompt engineering</h5>\n  <a href=\"https://badge.fury.io/py/prompt-lockbox\"><img src=\"https://badge.fury.io/py/prompt-lockbox.svg\" alt=\"PyPI version\"/></a><a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License:\u00a0MIT\"/></a><a href=\"https://pypi.org/project/prompt-lockbox/\"><img src=\"https://img.shields.io/pypi/pyversions/prompt-lockbox.svg\" alt=\"Python versions\"/></a>\n\n  A powerful CLI toolkit and Python SDK to secure, manage, and develop your LLM prompts like reusable code.\n</div>\n\n<br></br>\n\ud83d\udcd1 **Explore the full Documenentation here - [Docs](https://prompt-lockbox.mintlify.app)**\n>\n> *(This README provides an overview. The full site contains detailed guides, API references, and advanced tutorials.)*\n\n<br/>\n\n\n<div align=\"center\">\n\n**[-- YOUR VIDEO DEMO WILL GO HERE --]**\n\n*A brief video showcasing the core workflow from initialization to AI-powered improvement.*\n\n</div>\n\n<br/>\n\n## Why use it ?\n\nManaging prompts across a team or a large project can be chaotic. Plain text files lack versioning, are prone to accidental changes, and have no built-in quality control. **Prompt Lockbox** brings the discipline of software engineering to your prompt development workflow.\n\n**Scattered Prompts**\n> **Problem:** Your team\u2019s best prompts are lost in a chaotic mess of text files, Slack messages, and Google Docs. No one knows where the \u201cofficial\u201d version is, leading to confusion and duplicated effort.\n>\n> \u2705 **Solution:** Prompt Lockbox creates a centralized and structured library, making it effortless for your entire team to find and use the correct prompt.\n\n**Untracked Versions**\n> **Problem:** You tweak a great prompt and accidentally make it worse, with no way to go back to the version that worked.\n>\n> \u2705 **Solution:** Prompt Lockbox provides Git-like versioning for prompts. Safely create new versions and manage modifications with `plb version`, just like code.\n\n**Accidental Production Changes**\n> **Problem:** A critical prompt is changed without approval, breaking your application and causing unpredictable outputs.\n>\n> \u2705 **Solution:** Prompt Lockbox lets you lock and secure key prompts with `plb lock`. The system instantly detects any unauthorized edits with `plb verify`, ensuring production reliability.\n\n**Reinventing the Wheel**\n> **Problem:** Your team wastes time building prompts that already exist because they\u2019re impossible to find.\n>\n> \u2705 **Solution:** Prompt Lockbox makes your entire library instantly searchable. Find what you need in seconds with powerful, context-aware search (`fuzzy`, `hybrid`, `splade`).\n\n**Poor Documentation**\n> **Problem:** You write a brilliant prompt but have no time to document it, making it unusable for others (or your future self).\n>\n> \u2705 **Solution:** Prompt Lockbox uses AI to automate documentation. One command (`plb prompt document`) generates a clear description and search tags, turning your prompts into reusable assets.\n---\n\n## Features\n\n*   **Integrity & Security:** Lock prompts to generate a checksum. The `plb verify` command ensures that production prompts haven't been tampered with since they were last approved.\n\n*   **Version Control First:** Automatically create new, semantically versioned prompt files with `plb version`, making it easy to iterate and experiment safely without breaking existing implementations.\n\n*   **AI features:**\n    *   **Auto-Documentation:** `plb prompt document` uses an AI to analyze your prompt and generate a concise description and relevant search tags.\n    *   **Auto-Improvement:** `plb prompt improve` provides an expert critique and a suggested, improved version of your prompt template, showing you a diff of the changes.\n    *   **Direct Execution:** Execute prompts directly against your configured LLMs (OpenAI, Anthropic, Ollama, HuggingFace) right from the CLI.\n\n*   **Advanced Search:** Don't just `grep`. Build a local search index (`hybrid` TF-IDF + FAISS or `splade`) to find the right prompt instantly using natural language queries.\n\n*   **Flexible Configuration:** An interactive wizard (`plb configure-ai`) makes it trivial to set up any provider and model, securely storing API keys in a local `.env` file.\n\n## Installation\n\nThe base toolkit can be installed directly from PyPI:\n\n```bash\npip install prompt-lockbox\n```\n\nTo include support for specific AI providers or features, install the optional \"extras\". You can combine multiple extras in one command.\n\n```bash\n# To use OpenAI models\npip install 'prompt-lockbox[openai]'\n\n# To use HuggingFace models (includes torch)\npip install 'prompt-lockbox[huggingface]'\n\n# To use the advanced search features (includes faiss-cpu)\npip install 'prompt-lockbox[search]'\n\n# To install everything\npip install 'prompt-lockbox[all]'\n```\n\n## \u25b6\ufe0f Quickstart: Your First 5 Minutes\n\nThis guide takes you from an empty directory to executing your first AI-powered prompt.\n\n**1. Initialize Your Project**\nCreate a directory and run `init`. This sets up the required file structure.\n\n```bash\nmkdir my-prompt-project && cd my-prompt-project\nplb init\n```\n\n**2. Configure Your AI Provider**\nRun the interactive wizard to connect to your preferred LLM provider. It will securely save your API keys to a local `.env` file.\n\n```bash\n# This launches the interactive setup wizard\nplb configure-ai\n```\n\n**3. Create Your First Prompt**\nThe `create` command will guide you through making a new prompt file.\n\n```bash\n# This launches an interactive prompt creation wizard\nplb create\n```\nFollow the steps to name your prompt (e.g., \"email-formatter\"). Now, open the new file at `prompts/email-formatter.v1.0.0.yml` and add your template logic.\n\n**4. Run and Execute**\nTest your prompt by rendering it with variables, then execute it with the `--execute` flag to get a live AI response.\n\n```bash\n# Render the prompt template with a variable\nplb run email-formatter --var user_request=\"draft a polite follow-up email\"\n\n# Send the rendered prompt to your configured AI for a response\nplb run email-formatter --var user_request=\"draft a polite follow-up email\" --execute\n```\n\n## Full Documentation\n\nThis README is just the beginning. For detailed guides, the complete command reference, and SDK usage examples, please visit our **[Prompt Lockbox Documentation](https://prompt-lockbox.mintlify.app)**.\n\n## Contributing\nWe're thrilled you're interested in contributing to Prompt Lockbox! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Every contribution, from a typo fix to a new feature, is greatly appreciated.\n\n> **To get started, please read our full [Contributing Guide](https://prompt-lockbox.mintlify.app/how_to_contribute).**\n>\n> This guide contains detailed information on our code of conduct, development setup, and the process for submitting pull requests.\n\n### How You Can Help\n\nWhether you're reporting a bug, suggesting a feature, improving the documentation, or submitting code, your help is welcome. The best place to start is by checking our [GitHub Issues](https://github.com/ananya868/prompt-lockbox/issues) and [Discussions](https://github.com/ananya868/prompt-lockbox/discussions).\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An AI toolkit to supercharge your prompts.",
    "version": "0.1.2",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9ba92b615bafadde76383e2f37807c6e1765f1418b4717af21bd68ce8a9155c",
                "md5": "1d77d081607ec3407679d24c1250810c",
                "sha256": "b075cc054d118249e7b9377e4a62c72229c6a97d093424464de641843fdc4bed"
            },
            "downloads": -1,
            "filename": "prompt_lockbox-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1d77d081607ec3407679d24c1250810c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 58806,
            "upload_time": "2025-07-10T17:28:22",
            "upload_time_iso_8601": "2025-07-10T17:28:22.618323Z",
            "url": "https://files.pythonhosted.org/packages/b9/ba/92b615bafadde76383e2f37807c6e1765f1418b4717af21bd68ce8a9155c/prompt_lockbox-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "271863205f8ef1c7cd67425e04556f817bf7d645cd20efee7f25f1b12c2d1de1",
                "md5": "c004be5dc063aefd8fccea0815cbb3a3",
                "sha256": "5315923eb52b860099acbeac779686cac02c23d0cbcbac9bf6b7fe697dcc8020"
            },
            "downloads": -1,
            "filename": "prompt_lockbox-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "c004be5dc063aefd8fccea0815cbb3a3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 46855,
            "upload_time": "2025-07-10T17:28:24",
            "upload_time_iso_8601": "2025-07-10T17:28:24.083616Z",
            "url": "https://files.pythonhosted.org/packages/27/18/63205f8ef1c7cd67425e04556f817bf7d645cd20efee7f25f1b12c2d1de1/prompt_lockbox-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 17:28:24",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "prompt-lockbox"
}
        
Elapsed time: 0.93225s