freshcrate
Skin:/
Home > Frameworks > dspy

dspy

DSPy: The framework for programming—not prompting—language models

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

DSPy: The framework for programming—not prompting—language models

README

DSPy: Programming—not prompting—Foundation Models

Documentation: DSPy Docs

PyPI Downloads


DSPy is the framework for programming—rather than prompting—language models. It allows you to iterate fast on building modular AI systems and offers algorithms for optimizing their prompts and weights, whether you're building simple classifiers, sophisticated RAG pipelines, or Agent loops.

DSPy stands for Declarative Self-improving Python. Instead of brittle prompts, you write compositional Python code and use DSPy to teach your LM to deliver high-quality outputs. Learn more via our official documentation site or meet the community, seek help, or start contributing via this GitHub repo and our Discord server.

Documentation: dspy.ai

Please go to the DSPy Docs at dspy.ai

Installation

pip install dspy

To install the very latest from main:

pip install git+https://github.com/stanfordnlp/dspy.git

📜 Citation & Reading More

If you're looking to understand the framework, please go to the DSPy Docs at dspy.ai.

If you're looking to understand the underlying research, this is a set of our papers:

[Jul'25] GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning
[Jun'24] Optimizing Instructions and Demonstrations for Multi-Stage Language Model Programs
[Oct'23] DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines
[Jul'24] Fine-Tuning and Prompt Optimization: Two Great Steps that Work Better Together
[Jun'24] Prompts as Auto-Optimized Training Hyperparameters
[Feb'24] Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models
[Jan'24] In-Context Learning for Extreme Multi-Label Classification
[Dec'23] DSPy Assertions: Computational Constraints for Self-Refining Language Model Pipelines
[Dec'22] Demonstrate-Search-Predict: Composing Retrieval & Language Models for Knowledge-Intensive NLP

To stay up to date or learn more, follow @DSPyOSS on Twitter or the DSPy page on LinkedIn.

The DSPy logo is designed by Chuyi Zhang.

If you use DSPy or DSP in a research paper, please cite our work as follows:

@inproceedings{khattab2024dspy,
  title={DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines},
  author={Khattab, Omar and Singhvi, Arnav and Maheshwari, Paridhi and Zhang, Zhiyuan and Santhanam, Keshav and Vardhamanan, Sri and Haq, Saiful and Sharma, Ashutosh and Joshi, Thomas T. and Moazam, Hanna and Miller, Heather and Zaharia, Matei and Potts, Christopher},
  journal={The Twelfth International Conference on Learning Representations},
  year={2024}
}
@article{khattab2022demonstrate,
  title={Demonstrate-Search-Predict: Composing Retrieval and Language Models for Knowledge-Intensive {NLP}},
  author={Khattab, Omar and Santhanam, Keshav and Li, Xiang Lisa and Hall, David and Liang, Percy and Potts, Christopher and Zaharia, Matei},
  journal={arXiv preprint arXiv:2212.14024},
  year={2022}
}

Release History

VersionChangesUrgencyDate
3.2.1# DSPy 3.2.1 Changelog - Removed the upper bound on `litellm`. (#9687) - Usecase page has been updated! [https://dspy.ai/community/use-cases/](https://dspy.ai/community/use-cases/). To add your use-case, [open a PR](https://github.com/stanfordnlp/dspy/edit/main/docs/docs/community/use-cases.md)! ## Bug fixes - Fixed async streaming LM calls so custom headers are forwarded to LiteLLM streaming completions. (#9669) - Fixed `dspy.Embedder` so per-call `caching=False` is honored for both High5/5/2026
3.2.0## Highlights ### BetterTogether Allows Chaining Optimizers — @dilarasoylu `BetterTogether` now accepts arbitrary optimizers as keyword arguments and chains them via strategy strings. For example, `BetterTogether(metric=m, p=GEPA(...), w=BootstrapFinetune(...))` with `strategy="p -> w -> p"` will prompt-optimize, fine-tune, then prompt-optimize again -- evaluating each step on a valset and returning the best program. (#9149) There are many promising strategies that may come from running mHigh4/21/2026
3.1.3## What's Changed RLMs * fix(interpreter): Fix enable_read_paths with multiple files by @missing-piece in https://github.com/stanfordnlp/dspy/pull/9256 * fix: handle dict response in RLM for reasoning models by @darinkishore in https://github.com/stanfordnlp/dspy/pull/9219 * feat(CodeInterpreter): Convert messaging format to JSONRPC by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9226 * feat(RLMs): Fix code fence parsing by @isaacbmiller in https://github.com/stanfordnlp/dspyLow2/5/2026
3.1.2## What's Changed Maintenance * ci: install Deno in release workflow by @okhat in https://github.com/stanfordnlp/dspy/pull/9217 * Fix download bug in RAG tutorial by @togimoto in https://github.com/stanfordnlp/dspy/pull/9156 * Update DSpy settings save / load methods by @WeichenXu123 in https://github.com/stanfordnlp/dspy/pull/9215 * Expose timeout and straggler_limit params in Parallel by @halfprice06 in https://github.com/stanfordnlp/dspy/pull/9199 * Fix JSON parsing: Removing initial Low1/19/2026
3.1.1## What's Changed RLMs * feat(rlm): Add RLM Module and improve PythonInterpreter by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9193 * Use `language` in system instructions for `dspy.Code` fields by @mariusarvinte in https://github.com/stanfordnlp/dspy/pull/9106 * Update dspy.RLM to improve reliability and avoid pydantic warnings by @okhat in https://github.com/stanfordnlp/dspy/pull/9210 * fix(RLM): Change FinalAnswerResult to FinalOutput and remove RLM __call__ by @isaacbmiLow1/19/2026
3.1.0## What's Changed This is a 3.1.0 official release. We are making the beta release 3.1.0beta1 official. ### Optimizers & Evaluation * Add tutorial for dspy-trusted-monitor using GEPA by @ZachParent in https://github.com/stanfordnlp/dspy/pull/8938 * Update gepa[dspy] dependency version to 0.0.18 by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/8969 * fix(MIPROv2): zero shot not taking .compile parameters into account before determining if the program was zero shot by @isLow1/6/2026
3.1.0b1## What's Changed This is a pre-release for 3.1.0. ### Optimizers & Evaluation * Add tutorial for dspy-trusted-monitor using GEPA by @ZachParent in https://github.com/stanfordnlp/dspy/pull/8938 * Update gepa[dspy] dependency version to 0.0.18 by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/8969 * fix(MIPROv2): zero shot not taking .compile parameters into account before determining if the program was zero shot by @isaacbmiller in https://github.com/stanfordnlp/dspy/puLow11/18/2025
3.0.43.0.4b2 has been running for a while without seeing issue, so we are making it an official 3.0.4 release. The release note is the combination of 3.0.4b1 and 3.0.4b2. ## What's Changed ### Optimizers - Fix GEPA usage tracking with tuple outputs by @smec-cgint in #8739 - Add custom instruction_proposer support to GEPA with multimodal (dspy.Image) handling by @andressrg in #8737 - Enhance logging for valset usage in GEPA by @LakshyAAAgrawal in #8770 - [Feature] GEPA: Add custom comLow11/10/2025
3.0.4b2## What's Changed ### Features & Enhancements * **Tooling / APIs** * Add `ToolCall.execute` for smoother tool execution (#8825, @TomeHirata) * **Networking / Headers** * Add DSPy User-Agent header (#8887, @TomeHirata) * Update headers when specified (#8893, @TomeHirata) * **Arbor / RL** * Arbor GRPO Sync Update (#8939, @Ziems) ### Bug Fixes & Reliability * **Streaming / Buffers** * Fix chunk loss in long streaming with native response field (#8881, @TomeHiratLow10/21/2025
3.0.4b1## What's Changed ### GEPA + Other Optimizers - Fix GEPA usage tracking with tuple outputs by @smec-cgint in #8739 - Add custom instruction_proposer support to GEPA with multimodal (dspy.Image) handling by @andressrg in #8737 - Enhance logging for valset usage in GEPA by @LakshyAAAgrawal in #8770 - [Feature] GEPA: Add custom component selection logic support by @andressrg in #8765 - Add MLFLow <> GEPA support by @TomeHirata in #8763 - Update optimization overview with data split guidaLow9/29/2025
3.0.3## What's Changed New Functionality * Introduce `rollout_id` for bypassing LM cache in a namespaced way by @okhat in https://github.com/stanfordnlp/dspy/pull/8745 * Raise temperature when doing multiple rollouts (and warn otherwise) by @okhat in https://github.com/stanfordnlp/dspy/pull/8748 Optimizers * Bump gepa version - Fix dependencies, Add progress bar, Ensure failing metrics do not continue running by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/8701 * Fix __calLow8/31/2025
3.0.2## What's Changed Optimizers * Validate GEPA metric signature by @okhat in https://github.com/stanfordnlp/dspy/pull/8697 * MIPROv2: Warn on deprecated requires_permission_to_run by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8635 * Fix mlflow<>gepa by @LakshyAAAgrawal @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8691, https://github.com/stanfordnlp/dspy/pull/8696 LMs & Adapters * Allow custom chunk type in stream by @chenmoneygithub in https://github.com/sLow8/22/2025
3.0.1## What's Changed Optimizers * Fix Evaluate call bug in GEPA by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/8647 * Lazy import of gepa package by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8638 LMs & Adapters * Use pydantic's `ConfigDict` for config; filter litellm warnings by @kurtmckee in https://github.com/stanfordnlp/dspy/pull/8659 * Remove hardcoded model list from OpenAIProvider file by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/864Low8/14/2025
3.0.0# DSPy 3.0.0 The work in the run up to **DSPy 3.0** has focused on new powerful optimizers (RL: dspy.GRPO via our new Arbor library; and reflective prompt evolution: dspy.GEPA and dspy.SIMBA), extensibility (dspy.Adapter & dspy.Type), reliability/observability for production (tight integration with MLflow 3.0), and more. Much of this work incubated during late 2.6 and matured in 3.0. ## ✨ Highlights across 2.6 → 3.0 ### Adapters & Types (extensibility without prompt plumbing) * **AdaLow8/12/2025
3.0.0b4## What's Changed Optimizers * Fixes for MIPRO: Don't fail silently on bootstrapping! by @okhat in https://github.com/stanfordnlp/dspy/pull/8548 * skip unhashable module histories for mipro program proposer by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/8572 * Update Arbor GRPO Integration by @Ziems in https://github.com/stanfordnlp/dspy/pull/8609 * Remove user confirmation from MiproV2 by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8552 Adapters & Tools * Low8/11/2025
3.0.0b3## What's Changed Key bugfix: The removal of `datasets` from the default dependencies in 3.0.0b1 meant that if the user didn't have `datasets` installed, the bootstrapping of MIPROv2 would fail silently, leading to worse optimization. Added `datasets` back in commit [8aa065945](https://github.com/stanfordnlp/dspy/commit/8aa0659451a1f44c60b213b7321563a1f677db1e). Signatures, Adapters, & Types * add dspy.Code by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8511 * Provide laLow7/19/2025
3.0.0b2## What's Changed Modules & Adapters * Remove dspy.Program alias by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8392 * Clean up ChainOfThoughtWithHint in DSPy 3.0 by @Hangzhi in https://github.com/stanfordnlp/dspy/pull/8395 * Change the output interface of evaluate by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8003 * Add format to ToolCalls by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8455 * Allow reusing the stream listener by @chenmoneygithub iLow7/1/2025
3.0.0b1## What's Changed A cleaner release note to follow. The only breaking change to be aware of in 3.0 is just #8073 for unmaintained retriever integration (should affect almost no one, and easy to migrate to custom code for those affected). * Fix Pydantic v2 deprecation warning in json_adapter by @brishin in https://github.com/stanfordnlp/dspy/pull/8263 * Enable CI testing for all supported python versions by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8321 * Fix the customLow6/11/2025
2.6.27## What's Changed * Fix BaseType annotation parsing by @okhat in https://github.com/stanfordnlp/dspy/pull/8318 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.26...2.6.27Low6/3/2025
2.6.27a1## What's Changed * Fix BaseType annotation parsing by @okhat in https://github.com/stanfordnlp/dspy/pull/8318 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.26...2.6.27a1Low6/3/2025
2.6.26## What's Changed * Support `dspy.Tool` as input field type and `dspy.ToolCall` as output field type by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8242 * fix inspect_history function calling issue #8315 by @iPersona in https://github.com/stanfordnlp/dspy/pull/8316 * Fix lint errors and lock uv dependencies by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8312 * Revert hotpotqa back to original (from #8234) as it's now alive by @okhat in https://github.com/stanfoLow6/3/2025
2.6.25## What's Changed Core * Provide a standard base class for creating custom Signature field type by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8217 * dspy.Audio by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/8214 * Fix audio attr name by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8241 * Fix ReinforceJob LM reference by @okhat in https://github.com/stanfordnlp/dspy/pull/8249 * Support python 3.13 by @TomeHirata in https://github.com/stanfLow6/2/2025
2.6.24## What's Changed Core * Make it easier to do sync streaming by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8183 * Better default and warnings around LM max_tokens by @okhat in https://github.com/stanfordnlp/dspy/pull/8215 * Remove duplicated callback field from LM by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8230 Adapters * Add AdapterParseError to dspy by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8212 Modules * Fix spelling typo iLow5/17/2025
2.6.23## What's Changed Core * Support streaming in async DSPy program by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8144 * Fix predict usage tracking by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8146 * Improve the positional args error message for dspy.Predict by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8152 * Support token streaming with json adapter by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8158 * Fix litellm retLow5/5/2025
2.6.22## What's Changed Core * Fix cache thread unsafety by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8133 Adapters & Modules * Support async path in dspy.ReAct by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8139 * Fixes for Adapters (Pydantic validation) and SIMBA (candidate_programs) by @okhat in https://github.com/stanfordnlp/dspy/pull/8141 * Support args of custom types in dspy mcp tool by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/81Low4/30/2025
2.6.21## What's Changed * Make Adapters' parse_value and Cache's request_cache more permissive by @okhat in https://github.com/stanfordnlp/dspy/pull/8132 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.20...2.6.21Low4/28/2025
2.6.20## What's Changed Core Library * Native async support for callbacks and `dspy.Tool` by @chenmoneygithub @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8105, https://github.com/stanfordnlp/dspy/pull/8110, https://github.com/stanfordnlp/dspy/pull/8106 * Fix: Make sure Base LM builds on self.kwargs by @tikoehle in https://github.com/stanfordnlp/dspy/pull/8104 * Restore relaxation of openai version range, lost after refactor by @srowen in https://github.com/stanfordnlp/dspy/pull/8112 Low4/28/2025
2.6.19## What's Changed General * Support async in DSPy critical paths by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8080 * Migrate from Poetry to UV by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8083 * Dspy fanout cache by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8062 * Remove unnecessary LM callback by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8098 Adapters * Fix Pydantic Deprecation warning by @Miyamura80 in https://giLow4/24/2025
2.6.18## What's Changed General * Move num_threads into global settings by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8071 * Move provide_traceback into global settings by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8056 * Add max size for global history by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8057 * Relax openai version, i.e. no longer <=1.61.0 by @okhat in https://github.com/stanfordnlp/dspy/pull/8084 Adapters & Modules * Introduce two step adapLow4/18/2025
2.6.17## What's Changed Adapters * Refactor DSPy adapters to make it more extensible by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7996 * Fix chat adapter finetune by @dilarasoylu in https://github.com/stanfordnlp/dspy/pull/8044 * Fix the type of format_demos by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8049 * Fix JSON Adapter's first attempt, all Adapters for ReAct trajectories by @okhat in https://github.com/stanfordnlp/dspy/pull/8051 Optimizers * MIPROv2 ULow4/8/2025
2.6.16## What's Changed * Fix the numpy dependency and re-support Python 3.9 by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8013, https://github.com/stanfordnlp/dspy/pull/8021 * SIMBA Improvements: Bug fixes + Adding Trial Logs by @klopsahlong in https://github.com/stanfordnlp/dspy/pull/8019 * Add usage tracking by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8014 ## New Contributors * @rifolio made their first contribution in https://github.com/stanfordnlp/dsLow3/28/2025
2.6.15## What's Changed * Release experimental `dspy.SIMBA` optimizer and a corresponding Tool-Use Tutorial by @okhat in https://github.com/stanfordnlp/dspy/pull/8002 * Allow `dspy.ChainOfThought` to be more customizable by @zbambergerNLP in https://github.com/stanfordnlp/dspy/pull/8006 * Allow `dspy.ProgramOfThought` to accept multiple output fields (and other reliability improvements) by @lxdlam in https://github.com/stanfordnlp/dspy/pull/8004 **Full Changelog**: https://github.com/stanforLow3/24/2025
2.6.14## What's Changed * Limit openai version temporarily due to #7986 by @okhat in https://github.com/stanfordnlp/dspy/pull/7995 * Maintenance: Update dependency LiteLLM for CVE by @mikeweltevrede in https://github.com/stanfordnlp/dspy/pull/7981 * Don't crash dspy import when cache initialization fails by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7983 * feat: support context protocol in `PythonInterpreter` by @lxdlam in https://github.com/stanfordnlp/dspy/pull/7984 * featLow3/21/2025
2.6.13## What's Changed * `dspy.BestOfN`: Adds Improved Error Handling, Documentation, and Tests by @cezarc1 in https://github.com/stanfordnlp/dspy/pull/7964 * Make `dspy.BaseLM` extensible by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7950 * Adapters: Support Pydantic field constraint in DSPy by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7980 * `dspy.ChatAdapter`: allow field headers and content on same line in parser by @laitifranz in https://github.com/sLow3/19/2025
2.6.12## What's Changed * `dspy.MIPROv2`: Fix error handling and add tests for eval_candidate_program by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/7936 * `dspy.Refine` and `dspy.BestOfN`: Adds Improved Error Handling, Documentation, and Tests by @cezarc1 in https://github.com/stanfordnlp/dspy/pull/7926 * Simplify `dspy.LM` by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7940 * Fix unnecessary mlflow calls by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/Low3/13/2025
2.6.11## What's Changed * Fix saving issue by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7905 * enh: unblock Python 3.13 by @stevapple in https://github.com/stanfordnlp/dspy/pull/7912 * Add timeout-based straggler resubmission in ParallelExecutor by @okhat in https://github.com/stanfordnlp/dspy/pull/7914 * Decrease the memory usage at `import dspy` by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7915 * Fix undefined variables in dsp/utils/dpr.py by @TomeHirata Low3/10/2025
2.6.10## What's Changed * Add support for non-image mimes in image_url content by @glesperance in https://github.com/stanfordnlp/dspy/pull/7872 * Refactor ProgramOfThought and add unit tests by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/7878 * Change the LM check to BaseLM by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7897 * Fix package name var in github actions by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/7898 * Enhance type hints of adapters by @TLow3/4/2025
2.6.9## What's Changed * Support multiturn history by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7851 https://github.com/stanfordnlp/dspy/pull/7874 * Add evaluate callback by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/7895 * enh(mipro): Allow to pass `provide_traceback` in mipro by @Samoed in https://github.com/stanfordnlp/dspy/pull/7890 * Fix signature field order mismatch by @Ziems in https://github.com/stanfordnlp/dspy/pull/7875 * Fix save predict model withLow3/3/2025
2.6.8## What's Changed * Correcting bundle files with dspy installation by @okhat in https://github.com/stanfordnlp/dspy/pull/7868 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.7...2.6.8Low2/27/2025
2.6.7## What's Changed * Fix RuntimeError: uvloop Incompatibility on Windows by @chakravarthik27 in https://github.com/stanfordnlp/dspy/pull/7842 * bundle files with dspy installation by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/7855 ## New Contributors * @chakravarthik27 made their first contribution in https://github.com/stanfordnlp/dspy/pull/7842 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.6...2.6.7Low2/27/2025
2.6.6## What's Changed * Introduce `dspy.Refine`, `dspy.BestOfN` and fix thread safety for `dspy.ChainOfThoughtWithHint` by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1959 * Remove setup.py and rely fully on pyproject.toml by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7829 ## New Contributors * @ulgens made their first contribution in https://github.com/stanfordnlp/dspy/pull/7822 * @AkeemMcLennon made their first contribution in https://github.com/stanfordLow2/24/2025
2.6.5## What's Changed * Finetune fix by @dilarasoylu in https://github.com/stanfordnlp/dspy/pull/7629 * Signature rework by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/2033 * Weaviate multitenancy support by @Timtech4u in https://github.com/stanfordnlp/dspy/pull/2199 ## New Contributors * @Timtech4u made their first contribution in https://github.com/stanfordnlp/dspy/pull/2199 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.4...2.6.5Low2/20/2025
2.6.4## What's Changed * Improve Adapters (parse_value) and fix bugs & typos by @okhat in https://github.com/stanfordnlp/dspy/pull/7817 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.3...2.6.4Low2/18/2025
2.6.3## What's Changed We are redoing the 2.6.3 because earlier we accidentally add a "v" prefix, i.e., v2.6.3, apologize for the inconvenience! * Improve `dspy.Tool` by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7658 * Support status streaming by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/7630 * update: update litellm by @hung-phan in https://github.com/stanfordnlp/dspy/pull/7771 * Add context truncation logic for react by @chenmoneygithub in https://githLow2/16/2025
2.6.2## What's Changed * InferRules optimizer by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/7261 * Allow for arbitrary examples containing DSPy.Images by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/1801 * feat: Add pytest option to skip reliability tests by default by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/7656 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.1...2.6.2Low2/3/2025
2.6.1## What's Changed **Optimizers** * Enable Optuna to Learn from Full Evaluations in Minibatch Mode by @klopsahlong in https://github.com/stanfordnlp/dspy/pull/2237 * Enforcing 3 Demos in MIPROv2 Meta Prompt by @klopsahlong in https://github.com/stanfordnlp/dspy/pull/1964 * Change score_data to list of dict by @Shangyint in https://github.com/stanfordnlp/dspy/pull/2043 * Fix "name 'selected_tip' is not defined error" by @yuruofeifei in https://github.com/stanfordnlp/dspy/pull/3919 **ModeLow2/3/2025
2.6.0### A few of the changes relative to latest 2.5.* - Removals for deprecated `functional/`, `dsp/` clients, and old caches by @okhat in [#1936](https://github.com/org/repo/pull/1936) - Simplify built-in modules. Prepare for assertions v2. by @okhat in [#1943](https://github.com/org/repo/pull/1943), [#1944](https://github.com/org/repo/pull/1944) - Refined semantics for Settings thread-safety by @okhat in [#1947](https://github.com/org/repo/pull/1947) - Streaming by @CyrusNuevoDia in [#1874Low1/30/2025
2.6.0rc9## What's Changed * Better error msg when failing to save state with json by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/2012 * Allow PythonInterpreter sandbox to import trusted libraries by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/2010 * Fix broken workflow by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/2016 * Local finetuning tutorial by @okhat in https://github.com/stanfordnlp/dspy/pull/2024 * Update multi_chain_comparison.py by @zbamLow1/30/2025
2.6.0rc8## What's Changed * Automate version upgrade and introduce `dspy.__version__` by @hmoazam in https://github.com/stanfordnlp/dspy/pull/1985 * python interpreter refactor to sandbox by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/1956 * Allow returning empty results when nothing is retrieved from DatabricksRM by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1995 * Add AlfWorld dataset and tutorial. Improve BootstrapFT. by @okhat in https://github.com/stanfordnlpLow1/1/2025
2.6.0rc6## What's Changed * add `response_model` key to LM history entry by @itay1542 in https://github.com/stanfordnlp/dspy/pull/1961 * Fix databricksrm by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1967 ## New Contributors * @itay1542 made their first contribution in https://github.com/stanfordnlp/dspy/pull/1961 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.0rc4...2.6.0rc6Low12/22/2024
2.6.0rc4## What's Changed * Streaming by @CyrusNuevoDia in https://github.com/stanfordnlp/dspy/pull/1874 * Loosen the version check between saving/loading by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1946 **Full Changelog**: https://github.com/stanfordnlp/dspy/compare/2.6.0rc3...2.6.0rc4Low12/18/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

SploitGPT🛠️ Automate penetration testing with SploitGPT, an AI agent using Kali Linux tools for efficient security assessments and minimal user input.main@2026-06-07
agent-resources🛠️ Install, manage, and share Claude Code skills effortlessly with one command, streamlining your workflow and enhancing team collaboration.main@2026-06-07
planning-with-files📄 Transform your workflow with persistent markdown files for planning, tracking progress, and storing knowledge like a pro.master@2026-06-07
cadwynProduction-ready community-driven modern Stripe-like API versioning in FastAPI7.0.0
aitoolmanControllable and Transparent LLM Application Frameworkmain@2026-06-06

More in Frameworks

schemathesisProperty-based testing framework for Open API and GraphQL based apps
spec_driven_developSpec-Driven Develop is a platform-agnostic AI agent skill that automates the pre-development workflow for large-scale complex tasks. It is not a framework, not a runtime, not a package manager — it is
DrasilGenerate all the things (focusing on research software)
langchainThe agent engineering platform