diff --git a/pkgs/development/python-modules/formatron/default.nix b/pkgs/development/python-modules/formatron/default.nix new file mode 100644 index 000000000000..0353fc4d7b8b --- /dev/null +++ b/pkgs/development/python-modules/formatron/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + general-sam, + setuptools, + kbnf, + frozendict, + jsonschema, + pydantic, + transformers, + vllm, +}: +buildPythonPackage rec { + pname = "formatron"; + version = "0.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Dan-wanna-M"; + repo = "formatron"; + rev = "v${version}"; + hash = "sha256-LQJza8F5wPcQO1y7Ino4slv7zoJMsZBn4LKLWYO9818="; + fetchSubmodules = true; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + frozendict + general-sam + jsonschema + kbnf + pydantic + ]; + + optional-dependencies = { + transformers = [ + transformers + ]; + vllm = [ + vllm + ]; + }; + + pythonImportsCheck = [ + "formatron" + ]; + + meta = { + description = "Control the output format of language models"; + homepage = "https://github.com/Dan-wanna-M/formatron"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ BatteredBunny ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7dd1a1032a10..ae107ab0399e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5685,6 +5685,8 @@ self: super: with self; { forecast-solar = callPackage ../development/python-modules/forecast-solar { }; + formatron = callPackage ../development/python-modules/formatron { }; + formbox = callPackage ../development/python-modules/formbox { }; formencode = callPackage ../development/python-modules/formencode { };