From 5c113812aba0ffb6b01bc41c6a2e50e6c408bd93 Mon Sep 17 00:00:00 2001 From: Asankhaya Sharma Date: Tue, 26 Aug 2025 16:35:33 +0800 Subject: [PATCH 1/2] Add package data for default prompts and clean up templates Added MANIFEST.in and updated pyproject.toml to include default prompt files in package data. Removed hardcoded minimal template fallbacks from TemplateManager, relying on external files for critical templates and fragments. --- MANIFEST.in | 2 ++ openevolve/prompt/templates.py | 20 -------------------- pyproject.toml | 3 +++ 3 files changed, 5 insertions(+), 20 deletions(-) create mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..d0daabd85 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include openevolve/prompts/defaults/*.txt +include openevolve/prompts/defaults/*.json \ No newline at end of file diff --git a/openevolve/prompt/templates.py b/openevolve/prompt/templates.py index 9ff03240b..291435b48 100644 --- a/openevolve/prompt/templates.py +++ b/openevolve/prompt/templates.py @@ -187,9 +187,6 @@ def __init__(self, custom_template_dir: Optional[str] = None): # 2. Override with custom templates (if provided) if self.custom_dir and self.custom_dir.exists(): self._load_from_directory(self.custom_dir) - - # 3. Minimal hardcoded fallbacks (for safety/compatibility) - self._ensure_minimal_templates() def _load_from_directory(self, directory: Path) -> None: """Load all templates and fragments from a directory""" @@ -208,23 +205,6 @@ def _load_from_directory(self, directory: Path) -> None: with open(fragments_file, 'r') as f: loaded_fragments = json.load(f) self.fragments.update(loaded_fragments) - - def _ensure_minimal_templates(self) -> None: - """Ensure critical templates exist (backward compatibility)""" - if "system_message" not in self.templates: - self.templates["system_message"] = "You are an AI assistant helping with code evolution." - if "diff_user" not in self.templates: - self.templates["diff_user"] = "# Task\nImprove the program:\n```\n{current_program}\n```" - if "full_rewrite_user" not in self.templates: - self.templates["full_rewrite_user"] = "# Task\nRewrite the program:\n```\n{current_program}\n```" - - # Ensure critical fragments exist - if "fitness_improved" not in self.fragments: - self.fragments["fitness_improved"] = "Fitness improved: {prev} → {current}" - if "fitness_declined" not in self.fragments: - self.fragments["fitness_declined"] = "Fitness declined: {prev} → {current}" - if "no_specific_guidance" not in self.fragments: - self.fragments["no_specific_guidance"] = "Focus on improving fitness while maintaining diversity" def get_template(self, name: str) -> str: """Get a template by name""" diff --git a/pyproject.toml b/pyproject.toml index 8114c8ecf..3b8c954aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,5 +50,8 @@ openevolve-run = "openevolve.cli:main" [tool.setuptools.packages.find] include = ["openevolve*"] +[tool.setuptools.package-data] +openevolve = ["prompts/defaults/*.txt", "prompts/defaults/*.json"] + [tool.setuptools.dynamic] version = {attr = "openevolve._version.__version__"} From 0ac2cd9e84ef2cd2b22c355d620593bf934ee19f Mon Sep 17 00:00:00 2001 From: Asankhaya Sharma Date: Tue, 26 Aug 2025 16:36:32 +0800 Subject: [PATCH 2/2] Update _version.py --- openevolve/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openevolve/_version.py b/openevolve/_version.py index 97cc3b8e3..6c7d6089c 100644 --- a/openevolve/_version.py +++ b/openevolve/_version.py @@ -1,3 +1,3 @@ """Version information for openevolve package.""" -__version__ = "0.2.6" +__version__ = "0.2.7"