From f1bb72c4819bf90e5bd59c73275a64cbadc9e7f7 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Fri, 22 Mar 2024 20:32:59 +0100 Subject: [PATCH 1/2] python311Packages.gradio-clients: 0.10.1 -> 0.14.0 Also adds an updateScript --- pkgs/development/python-modules/gradio/client.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/gradio/client.nix b/pkgs/development/python-modules/gradio/client.nix index 8ad76a907581..2c3abd4c0e78 100644 --- a/pkgs/development/python-modules/gradio/client.nix +++ b/pkgs/development/python-modules/gradio/client.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, gitUpdater , pythonOlder , pythonRelaxDepsHook # pyproject @@ -27,7 +28,7 @@ buildPythonPackage rec { pname = "gradio-client"; - version = "0.10.1"; + version = "0.14.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -36,9 +37,9 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "gradio-app"; repo = "gradio"; - rev = "refs/tags/gradio_client@${version}"; + rev = "refs/tags/@gradio/client@${version}"; sparseCheckout = [ "client/python" ]; - hash = "sha256-cRsYqNMmzuybJI823lpUOmNcTdcTO8dJkp3cpjATZQU="; + hash = "sha256-7oC/Z3YUiOFZdv/60q7PkfluV77broRkHgWiY9Vim9Y="; }; prePatch = '' cd client/python @@ -95,6 +96,8 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; + passthru.updateScript = gitUpdater { rev-prefix = "@gradio/client@"; }; + meta = with lib; { homepage = "https://www.gradio.app/"; description = "Lightweight library to use any Gradio app as an API"; From 3937a5d97913a399d7ba4c0d60bf9b32b17965c0 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Fri, 22 Mar 2024 20:33:30 +0100 Subject: [PATCH 2/2] python311Packages.gradio: 4.20.1 -> 4.22.0 --- .../python-modules/gradio/default.nix | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix index bfcf10a2ea1c..69e57b821a69 100644 --- a/pkgs/development/python-modules/gradio/default.nix +++ b/pkgs/development/python-modules/gradio/default.nix @@ -16,6 +16,7 @@ , setuptools , aiofiles , altair +, diffusers , fastapi , ffmpy , gradio-client @@ -40,6 +41,10 @@ , typer , tomlkit +# oauth +, authlib +, itsdangerous + # check , pytestCheckHook , boto3 @@ -57,7 +62,7 @@ buildPythonPackage rec { pname = "gradio"; - version = "4.20.1"; + version = "4.22.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -66,7 +71,7 @@ buildPythonPackage rec { # and upstream has stopped tagging releases since 3.41.0 src = fetchPypi { inherit pname version; - hash = "sha256-nvuIpOFib09FJGfkX0TDfb2LV/eDn3EybsFp5A3lzas="; + hash = "sha256-nhrT509xB3+R+HF6TF5AQGnfufT6iNmzjxZgcVL7fBo="; }; # fix packaging.ParserSyntaxError, which can't handle comments @@ -98,6 +103,7 @@ buildPythonPackage rec { setuptools # needed for 'pkg_resources' aiofiles altair + diffusers fastapi ffmpy gradio-client @@ -123,6 +129,11 @@ buildPythonPackage rec { tomlkit ] ++ typer.passthru.optional-dependencies.all; + passthru.optional-dependencies.oauth = [ + authlib + itsdangerous + ]; + nativeCheckInputs = [ pytestCheckHook boto3 @@ -138,9 +149,11 @@ buildPythonPackage rec { transformers vega-datasets - # mock npm to make `shutil.which("npm")` pass + # mock calls to `shutil.which(...)` (writeShellScriptBin "npm" "false") - ] ++ pydantic.passthru.optional-dependencies.email; + ] + ++ passthru.optional-dependencies.oauth + ++ pydantic.passthru.optional-dependencies.email; # Add a pytest hook skipping tests that access network, marking them as "Expected fail" (xfail). # We additionally xfail FileNotFoundError, since the gradio devs often fail to upload test assets to pypi. @@ -173,6 +186,9 @@ buildPythonPackage rec { # fails without network "test_download_if_url_correct_parse" + + # tests if pip and other tools are installed + "test_get_executable_path" ]; disabledTestPaths = [ # 100% touches network @@ -196,19 +212,17 @@ buildPythonPackage rec { # Cyclic dependencies are fun! # This is gradio without gradio-client and gradio-pdf - passthru = { - sans-reverse-dependencies = (gradio.override (old: { + passthru.sans-reverse-dependencies = (gradio.override (old: { gradio-client = null; gradio-pdf = null; })).overridePythonAttrs (old: { - pname = old.pname + "-sans-client"; + pname = old.pname + "-sans-reverse-dependencies"; pythonRemoveDeps = (old.pythonRemoveDeps or []) ++ [ "gradio-client" ]; doInstallCheck = false; doCheck = false; pythonImportsCheck = null; dontCheckRuntimeDeps = true; }); - }; meta = with lib; { homepage = "https://www.gradio.app/";