Version control and registry for prompt assets
Project description
promptvault
Version control and registry for prompt assets. Part of the prompttools suite.
Features
- Package manifests -- Define prompt packages with
promptvault.yaml, including metadata, prompt entries, dependencies, and quality gates - Local registry -- Publish, install, search, and list versioned prompt packages in a local file-system registry
- Dependency resolution -- Resolve dependencies with semver range matching (caret
^, tilde~, PEP 440 ranges) - Lockfile management -- Generate and verify lockfiles for reproducible installations with integrity checking
- CLI -- Full command-line interface for all operations
Installation
pip install promptvault-ai
Quick Start
Initialize a package
promptvault init --name @my-org/my-prompts --author "Your Name"
This creates a promptvault.yaml manifest:
name: '@my-org/my-prompts'
version: 0.1.0
description: A prompt package
author: Your Name
license: MIT
prompts: []
dependencies: {}
quality:
lint: optional
test: optional
format: optional
Add prompts to the manifest
Edit promptvault.yaml to declare your prompt files:
prompts:
- file: prompts/greeting.yaml
name: greeting
description: A friendly greeting prompt
variables: [user_name]
model: claude-4-sonnet
Publish to local registry
promptvault publish
Install dependencies
promptvault install
Search the registry
promptvault search greeting
Verify lockfile integrity
promptvault verify
CLI Reference
| Command | Description |
|---|---|
promptvault init |
Scaffold a new promptvault.yaml manifest |
promptvault publish |
Publish the current package to the local registry |
promptvault install |
Resolve dependencies and generate a lockfile |
promptvault search <query> |
Search the registry catalog |
promptvault info <package> |
Show package details |
promptvault list |
List all packages in the registry |
promptvault verify |
Verify lockfile integrity |
Global Options
--registry <path>-- Override the default registry location (~/.promptvault/registry/)--format text|json-- Output format (default:text)
Version Ranges
Dependency version ranges follow semver conventions:
| Syntax | Meaning | Example |
|---|---|---|
^1.2.3 |
Compatible with 1.x.x | >=1.2.3, <2.0.0 |
~1.2.3 |
Patch-level changes | >=1.2.3, <1.3.0 |
>=1.0,<2.0 |
PEP 440 range | Explicit range |
1.2.3 |
Exact version | ==1.2.3 |
Python API
from promptvault import LocalRegistry, PackageManifest, resolve_dependencies
# Create a registry
registry = LocalRegistry()
# Publish a package
entry = registry.publish(Path("./my-package"))
# Search
results = registry.search("greeting")
# Resolve dependencies
manifest = PackageManifest(...)
resolved = resolve_dependencies(manifest, registry)
Development
pip install -e ".[dev]"
pytest
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
promptvault_ai-1.0.0.tar.gz
(14.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file promptvault_ai-1.0.0.tar.gz.
File metadata
- Download URL: promptvault_ai-1.0.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18ae9eba54001e7fd126fcc2d5eb685604efba2b6fd9403bbdc06b86d9d8e39d
|
|
| MD5 |
8e05dc042f8d2dfbfa75f876968b4d8b
|
|
| BLAKE2b-256 |
8b6a00b5b72c74f08d8f37f55ef510319011b45c6d21a3b7cc3c59ad6f7a2f68
|
File details
Details for the file promptvault_ai-1.0.0-py3-none-any.whl.
File metadata
- Download URL: promptvault_ai-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2af65a362861bd27f7c86f5945be72763158a6d1058218c11a5723c431ad204e
|
|
| MD5 |
527a1e52fd80577c2e2dc824fda540e6
|
|
| BLAKE2b-256 |
d24bc5fa95992f7b90ccf294850f5e1d0892a9b64a0d0f1e452be7e9c2fda809
|