From cbf888951ad59a26883450f6ee0ffb81f79c2da5 Mon Sep 17 00:00:00 2001 From: Ben McHone Date: Mon, 11 Aug 2025 21:08:51 -0500 Subject: [PATCH 1/2] Allow BAMLAdapter to be accessed via dspy.BAMLAdapter --- dspy/__init__.py | 2 +- dspy/adapters/__init__.py | 2 ++ uv.lock | 13 ++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/dspy/__init__.py b/dspy/__init__.py index ea4c75a862..8cf6d623fa 100644 --- a/dspy/__init__.py +++ b/dspy/__init__.py @@ -6,7 +6,7 @@ from dspy.evaluate import Evaluate # isort: skip from dspy.clients import * # isort: skip -from dspy.adapters import Adapter, ChatAdapter, JSONAdapter, XMLAdapter, TwoStepAdapter, Image, Audio, History, Type, Tool, ToolCalls, Code # isort: skip +from dspy.adapters import Adapter, BAMLAdapter, ChatAdapter, JSONAdapter, XMLAdapter, TwoStepAdapter, Image, Audio, History, Type, Tool, ToolCalls, Code # isort: skip from dspy.utils.logging_utils import configure_dspy_loggers, disable_logging, enable_logging from dspy.utils.asyncify import asyncify from dspy.utils.syncify import syncify diff --git a/dspy/adapters/__init__.py b/dspy/adapters/__init__.py index 1dea6da47a..11e6b1fbf6 100644 --- a/dspy/adapters/__init__.py +++ b/dspy/adapters/__init__.py @@ -1,4 +1,5 @@ from dspy.adapters.base import Adapter +from dspy.adapters.baml_adapter import BAMLAdapter from dspy.adapters.chat_adapter import ChatAdapter from dspy.adapters.json_adapter import JSONAdapter from dspy.adapters.two_step_adapter import TwoStepAdapter @@ -7,6 +8,7 @@ __all__ = [ "Adapter", + "BAMLAdapter", "ChatAdapter", "Type", "History", diff --git a/uv.lock b/uv.lock index a715a0e712..ea9933cd74 100644 --- a/uv.lock +++ b/uv.lock @@ -664,7 +664,7 @@ wheels = [ [[package]] name = "dspy" -version = "3.0.0b3" +version = "3.0.0b4" source = { editable = "." } dependencies = [ { name = "anyio" }, @@ -673,6 +673,7 @@ dependencies = [ { name = "cachetools" }, { name = "cloudpickle" }, { name = "diskcache" }, + { name = "gepa" }, { name = "joblib" }, { name = "json-repair" }, { name = "litellm" }, @@ -739,6 +740,7 @@ requires-dist = [ { name = "datamodel-code-generator", marker = "extra == 'dev'", specifier = ">=0.26.3" }, { name = "datasets", marker = "extra == 'test-extras'", specifier = ">=2.14.6" }, { name = "diskcache", specifier = ">=5.6.0" }, + { name = "gepa", specifier = "==0.0.1" }, { name = "joblib", specifier = "~=1.3" }, { name = "json-repair", specifier = ">=0.30.0" }, { name = "langchain-core", marker = "extra == 'langchain'" }, @@ -952,6 +954,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f8/5c/e226de133afd8bb267ec27eead9ae3d784b95b39a287ed404caab39a5f50/genson-1.3.0-py3-none-any.whl", hash = "sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7", size = 21470, upload-time = "2024-05-15T22:08:47.056Z" }, ] +[[package]] +name = "gepa" +version = "0.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/c4/4bf63e7ca19e2191a78044e2fb453b73f23eca8a7005d47538fa5f2810bb/gepa-0.0.1.tar.gz", hash = "sha256:6cea9e003e39a3a89dfb46b5a23a8d6218196bb48223028cf88c57ea26f344a0", size = 31521, upload-time = "2025-08-11T10:05:17.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/e2/1dcc9d9ec0b08062c0e5fc162e984c2b244d68ad9ce545495d44b85ae813/gepa-0.0.1-py3-none-any.whl", hash = "sha256:3d49fbe5163a15790f5a0858fe367f75c93f700dabf9bd4033569807ead83813", size = 33458, upload-time = "2025-08-11T10:05:16.257Z" }, +] + [[package]] name = "greenlet" version = "3.2.3" From 8b502564e12fe7bc0cccd7d9ab15b4cd07a34ef0 Mon Sep 17 00:00:00 2001 From: Ben McHone Date: Mon, 11 Aug 2025 21:11:10 -0500 Subject: [PATCH 2/2] Ruff fix --- dspy/adapters/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspy/adapters/__init__.py b/dspy/adapters/__init__.py index 11e6b1fbf6..877446895f 100644 --- a/dspy/adapters/__init__.py +++ b/dspy/adapters/__init__.py @@ -1,5 +1,5 @@ -from dspy.adapters.base import Adapter from dspy.adapters.baml_adapter import BAMLAdapter +from dspy.adapters.base import Adapter from dspy.adapters.chat_adapter import ChatAdapter from dspy.adapters.json_adapter import JSONAdapter from dspy.adapters.two_step_adapter import TwoStepAdapter