<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
Raw data
{
"_id": null,
"home_page": "https://github.com/tomdoerr/simpledspy",
"name": "simpledspy",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "dspy, llm, pipeline, nlp",
"author": "Tom D\u00f6rr",
"author_email": "tomdoerr96@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/97/58/bfb1f3ce1b753a64fe6ed901866850f666a4651d4265b856dd827b53d054/simpledspy-0.1.0.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">SimpleDSPy</h1>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/simpledspy/\">\n <img src=\"https://img.shields.io/static/v1?style=for-the-badge&label=PyPI&message=simpledspy&color=blue\" alt=\"PyPI version\">\n </a>\n <a href=\"https://pypi.org/project/simpledspy/\">\n <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\">\n </a>\n <a href=\"https://opensource.org/licenses/MIT\">\n <img src=\"https://img.shields.io/static/v1?style=for-the-badge&label=License&message=MIT&color=blue\" alt=\"License: MIT\">\n </a>\n <a href=\"https://github.com/psf/black\">\n <img src=\"https://img.shields.io/static/v1?style=for-the-badge&label=Code%20Style&message=Black&color=black\" alt=\"Code style: black\">\n </a>\n <a href=\"https://github.com/tomdoerr/simpledspy/actions/workflows/tests.yml\">\n <img src=\"https://img.shields.io/static/v1?style=for-the-badge&label=Tests&message=Passing&color=green\" alt=\"Tests\">\n </a>\n</p>\n\n<p align=\"center\">\n SimpleDSPy is a lightweight Python library that simplifies building and running DSPy pipelines with an intuitive interface.\n</p>\n\n## Features\n\n- Automatic module creation from input/output names\n- Pipeline management and step tracking\n- Clean, minimal API\n- Built-in caching and configuration\n- Type hints and documentation\n\n## Installation\n\n```bash\npip install simpledspy\n```\n\n## Quick Start\n\n```python\nfrom simpledspy import pipe\n\n# Basic text processing\ncleaned_text = pipe(\"Some messy text with extra spaces\")\nprint(cleaned_text) # \"Some messy text with extra spaces\"\n\n# Multiple inputs/outputs\nname, age = pipe(\"John Doe, 30 years old\")\nprint(name) # \"John Doe\"\nprint(age) # 30\n\n# Custom descriptions\nfull_name = pipe(\n \"John\", \"Doe\", \n description=\"Combine first and last names\"\n)\nprint(full_name) # \"John Doe\"\n```\n\n## How It Works\n\nThe `pipe` function automatically:\n1. Detects input variable names\n2. Creates appropriate DSPy modules\n3. Tracks pipeline steps\n4. Returns processed outputs\n\n\n## Contributing\n\nContributions are welcome! Please open an issue or pull request on GitHub.\n\n## License\n\nMIT License\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A simplified DSPy interface",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/tomdoerr/simpledspy",
"Repository": "https://github.com/tomdoerr/simpledspy"
},
"split_keywords": [
"dspy",
" llm",
" pipeline",
" nlp"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "567ca88d12b4d7d8831ed6c86ccd7acf9da9c09831d465b3539b8e4b989e8518",
"md5": "0527269617b2dd24dca9edc3d8651e55",
"sha256": "b32900c89f464b165fc0f9cb8ffc60b60b4d1865dd9cf7199bb9ce55d2c97f0e"
},
"downloads": -1,
"filename": "simpledspy-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0527269617b2dd24dca9edc3d8651e55",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 5639,
"upload_time": "2025-01-08T05:07:22",
"upload_time_iso_8601": "2025-01-08T05:07:22.144087Z",
"url": "https://files.pythonhosted.org/packages/56/7c/a88d12b4d7d8831ed6c86ccd7acf9da9c09831d465b3539b8e4b989e8518/simpledspy-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9758bfb1f3ce1b753a64fe6ed901866850f666a4651d4265b856dd827b53d054",
"md5": "bbd75c6f90ccd37dbeaea6ab11a36054",
"sha256": "e5a7717e5d7c9e84c0e73a64dabe2af396993e04ac4b6b51640275b3e83e7b76"
},
"downloads": -1,
"filename": "simpledspy-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "bbd75c6f90ccd37dbeaea6ab11a36054",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 4508,
"upload_time": "2025-01-08T05:07:24",
"upload_time_iso_8601": "2025-01-08T05:07:24.669989Z",
"url": "https://files.pythonhosted.org/packages/97/58/bfb1f3ce1b753a64fe6ed901866850f666a4651d4265b856dd827b53d054/simpledspy-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-08 05:07:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tomdoerr",
"github_project": "simpledspy",
"github_not_found": true,
"lcname": "simpledspy"
}