Metadata-Version: 2.3
Name: json-to-prompt
Version: 0.1.0
Summary: Convert JSON/dicts into formatted prompt text.
License: MIT
Keywords: json,prompt,llm,utilities
Author: Joe Gasewicz
Author-email: joegasewicz@gmail.com
Requires-Python: >=3.10
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Text Processing
Classifier: Typing :: Typed
Provides-Extra: dev
Requires-Dist: pytest (>=8,<10) ; extra == "dev"
Project-URL: Homepage, https://github.com/joegasewicz/json-to-prompt
Project-URL: Issues, https://github.com/joegasewicz/json-to-prompt/issues
Project-URL: Repository, https://github.com/joegasewicz/json-to-prompt
Description-Content-Type: text/markdown

# JSON To Prompt
A lightweight Python utility for converting structured JSON data into formatted prompt text.

This library is designed to transform dictionaries or JSON inputs into readable, structured text prompts suitable for LLM workflows, templating systems, or downstream processing.

## Features
- Convert Python dictionaries to formatted prompt strings
- Read JSON strings directly
- Load JSON from file
- Write generated prompts to file

### Usage

### Convert a Dictionary to a Prompt
```python
from json_to_prompt import JSONToPrompt

data = {
    "Title": "Hello...",
    "Subtitle": "Goodbye...",
    "Cards": [
        {
            "ID": 1,
            "Title": "I'm a card...",
        }
    ]
}

jtp = JSONToPrompt(debug=True)
prompt = jtp.add_dict(data).parse().get_prompt()
print([prompt])
```
**Output**:
```text
Title: Hello...
Subtitle: Goodbye...
Cards:
    - ID: 1
    - Title: I'm a card... 
```
### Read from a JSON string
```python
json_str = '{"pet": "cat"}'

jtp = JSONToPrompt()
prompt = jtp.read_json(json_str).parse().get_prompt()

```

### Read from a JSON file
```python
jtp = JSONToPrompt()
prompt = jtp.read_json_file("example.json").parse().get_prompt()
```

### Write Prompt To file
```python
jtp.write_prompt_to_file("prompt.txt")
```
