Metadata-Version: 2.1
Name: simpledspy
Version: 0.1.0
Summary: A simplified DSPy interface
Home-page: https://github.com/tomdoerr/simpledspy
License: MIT
Keywords: dspy,llm,pipeline,nlp
Author: Tom Dörr
Author-email: tomdoerr96@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: dspy (>=2.5.0)
Project-URL: Repository, https://github.com/tomdoerr/simpledspy
Description-Content-Type: text/markdown

<h1 align="center">SimpleDSPy</h1>

<p align="center">
  <a href="https://pypi.org/project/simpledspy/">
    <img src="https://img.shields.io/static/v1?style=for-the-badge&label=PyPI&message=simpledspy&color=blue" alt="PyPI version">
  </a>
  <a href="https://pypi.org/project/simpledspy/">
    <img src="https://img.shields.io/static/v1?style=for-the-badge&label=Python&message=3.9+%7C+3.10+%7C+3.11&color=blue" alt="Python Version">
  </a>
  <a href="https://opensource.org/licenses/MIT">
    <img src="https://img.shields.io/static/v1?style=for-the-badge&label=License&message=MIT&color=blue" alt="License: MIT">
  </a>
  <a href="https://github.com/psf/black">
    <img src="https://img.shields.io/static/v1?style=for-the-badge&label=Code%20Style&message=Black&color=black" alt="Code style: black">
  </a>
  <a href="https://github.com/tomdoerr/simpledspy/actions/workflows/tests.yml">
    <img src="https://img.shields.io/static/v1?style=for-the-badge&label=Tests&message=Passing&color=green" alt="Tests">
  </a>
</p>

<p align="center">
  SimpleDSPy is a lightweight Python library that simplifies building and running DSPy pipelines with an intuitive interface.
</p>

## Features

- Automatic module creation from input/output names
- Pipeline management and step tracking
- Clean, minimal API
- Built-in caching and configuration
- Type hints and documentation

## Installation

```bash
pip install simpledspy
```

## Quick Start

```python
from simpledspy import pipe

# Basic text processing
cleaned_text = pipe("Some messy   text with extra spaces")
print(cleaned_text)  # "Some messy text with extra spaces"

# Multiple inputs/outputs
name, age = pipe("John Doe, 30 years old")
print(name)  # "John Doe"
print(age)   # 30

# Custom descriptions
full_name = pipe(
    "John", "Doe", 
    description="Combine first and last names"
)
print(full_name)  # "John Doe"
```

## How It Works

The `pipe` function automatically:
1. Detects input variable names
2. Creates appropriate DSPy modules
3. Tracks pipeline steps
4. Returns processed outputs


## Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.

## License

MIT License


