Name | prompt-lockbox JSON |
Version |
0.1.2
JSON |
| download |
home_page | None |
Summary | An AI toolkit to supercharge your prompts. |
upload_time | 2025-07-10 17:28:24 |
maintainer | None |
docs_url | None |
author | ananya868 |
requires_python | <4.0,>=3.10 |
license | None |
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"
}