diff --git a/pkgs/development/python-modules/betterproto-fw/default.nix b/pkgs/development/python-modules/betterproto-fw/default.nix new file mode 100644 index 000000000000..979710d92747 --- /dev/null +++ b/pkgs/development/python-modules/betterproto-fw/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + pdm-backend, + + # dependencies + grpclib, + python-dateutil, + typing-extensions, + + # optional dependencies + jinja2, + ruff, + betterproto-rust-codec, +}: + +buildPythonPackage rec { + pname = "betterproto-fw"; + version = "2.0.3"; + pyproject = true; + + # Not available on Github + src = fetchPypi { + pname = "betterproto_fw"; + inherit version; + hash = "sha256-ut5GchUiTygHhC2hj+gSWKCoVnZrrV8KIKFHTFzba5M="; + }; + + build-system = [ + pdm-backend + ]; + + dependencies = [ + grpclib + python-dateutil + typing-extensions + ]; + + optional-dependencies = { + compiler = [ + jinja2 + ruff + ]; + rust-codec = [ + betterproto-rust-codec + ]; + }; + + doCheck = false; # no tests supplied + + pythonImportsCheck = [ + "betterproto" + ]; + + meta = { + description = "Fork of betterproto used in fireworks-ai"; + homepage = "https://pypi.org/project/betterproto-fw/"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sarahec ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eca2b8999fa4..9e832ebb1b04 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1806,6 +1806,8 @@ self: super: with self; { betterproto = callPackage ../development/python-modules/betterproto { }; + betterproto-fw = callPackage ../development/python-modules/betterproto-fw { }; + betterproto-rust-codec = callPackage ../development/python-modules/betterproto-rust-codec { }; bezier = callPackage ../development/python-modules/bezier { };