diff --git a/pkgs/development/python-modules/gepa/default.nix b/pkgs/development/python-modules/gepa/default.nix new file mode 100644 index 000000000000..c81c06a0ee70 --- /dev/null +++ b/pkgs/development/python-modules/gepa/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "gepa"; + version = "0.1.3"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "gepa-ai"; + repo = "gepa"; + tag = "v${finalAttrs.version}"; + hash = "sha256-9gxOfjiOK1BP+YiAY4SufohMyPaUM5c7jJfJsGnRgSs="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "gepa" ]; + + # test suite requires network access + doCheck = false; + + meta = { + description = "A framework for optimizing textual system components using LLM-based reflection and Pareto-efficient evolutionary search"; + homepage = "https://github.com/gepa-ai/gepa"; + changelog = "https://github.com/gepa-ai/gepa/releases/tag/v${finalAttrs.version}"; + maintainers = with lib.maintainers; [ jherland ]; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a951003c2f95..2d09c7fd276d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6668,6 +6668,8 @@ self: super: with self; { geotorch = callPackage ../development/python-modules/geotorch { }; + gepa = callPackage ../development/python-modules/gepa { }; + gepetto-gui = toPythonModule (gepetto-viewer.withPlugins [ gepetto-viewer-corba ]); gepetto-viewer = toPythonModule (pkgs.gepetto-viewer.override { python3Packages = self; });