From 0eb1ef86a53eb67e3c557a512875efbc118f1903 Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 20 Feb 2025 14:55:11 +0100 Subject: [PATCH 1/2] python312Packages.asyncer: init at 0.0.8 --- .../python-modules/asyncer/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/asyncer/default.nix diff --git a/pkgs/development/python-modules/asyncer/default.nix b/pkgs/development/python-modules/asyncer/default.nix new file mode 100644 index 000000000000..2d1e79dde057 --- /dev/null +++ b/pkgs/development/python-modules/asyncer/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pdm-backend, + anyio, + typing-extensions, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "asyncer"; + version = "0.0.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "fastapi"; + repo = "asyncer"; + tag = version; + hash = "sha256-SbByOiTYzp+G+SvsDqXOQBAG6nigtBXiQmfGgfKRqvM="; + }; + + build-system = [ pdm-backend ]; + + dependencies = [ + anyio + typing-extensions + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "asyncer" ]; + + meta = { + description = "Asyncer, async and await, focused on developer experience"; + homepage = "https://github.com/fastapi/asyncer"; + changelog = "https://github.com/fastapi/asyncer/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ defelo ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7543f3ec1f8c..10352989eae2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -991,6 +991,8 @@ self: super: with self; { asynccmd = callPackage ../development/python-modules/asynccmd { }; + asyncer = callPackage ../development/python-modules/asyncer { }; + asyncinotify = callPackage ../development/python-modules/asyncinotify { }; asyncio-dgram = callPackage ../development/python-modules/asyncio-dgram { }; From 9422f09124ccd0688c0ede4a2a66688ae4569e7e Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 20 Feb 2025 14:55:53 +0100 Subject: [PATCH 2/2] python312Packages.rembg, rembg: init at 2.0.65 --- pkgs/by-name/re/rembg/package.nix | 3 + .../python-modules/rembg/default.nix | 99 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 104 insertions(+) create mode 100644 pkgs/by-name/re/rembg/package.nix create mode 100644 pkgs/development/python-modules/rembg/default.nix diff --git a/pkgs/by-name/re/rembg/package.nix b/pkgs/by-name/re/rembg/package.nix new file mode 100644 index 000000000000..c6cab6631a65 --- /dev/null +++ b/pkgs/by-name/re/rembg/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication (python3Packages.rembg.override { withCli = true; }) diff --git a/pkgs/development/python-modules/rembg/default.nix b/pkgs/development/python-modules/rembg/default.nix new file mode 100644 index 000000000000..b4a5efd51768 --- /dev/null +++ b/pkgs/development/python-modules/rembg/default.nix @@ -0,0 +1,99 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + wheel, + versionCheckHook, + withCli ? false, + + # dependencies + jsonschema, + numpy, + onnxruntime, + opencv-python-headless, + pillow, + pooch, + pymatting, + scikit-image, + scipy, + tqdm, + + # optional-dependencies + aiohttp, + asyncer, + click, + fastapi, + filetype, + gradio, + python-multipart, + uvicorn, + watchdog, +}: + +buildPythonPackage rec { + pname = "rembg"; + version = "2.0.65"; + pyproject = true; + + src = fetchFromGitHub { + owner = "danielgatis"; + repo = "rembg"; + tag = "v${version}"; + hash = "sha256-o6M3DSW1GL3xvEx4lsE325J3XcmRrhhPszS5MkaynsE="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + jsonschema + numpy + opencv-python-headless + onnxruntime + pillow + pooch + pymatting + scikit-image + scipy + tqdm + ] ++ lib.optionals withCli optional-dependencies.cli; + + optional-dependencies = { + cli = [ + aiohttp + asyncer + click + fastapi + filetype + gradio + python-multipart + uvicorn + watchdog + ]; + }; + + preConfigure = '' + export NUMBA_CACHE_DIR="$(mktemp -d)" + ''; + + postInstall = lib.optionalString (!withCli) "rm -r $out/bin"; + + # not running python tests, as they require network access + nativeCheckInputs = lib.optionals withCli [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + + pythonImportsCheck = [ "rembg" ]; + + meta = { + description = "Tool to remove background from images"; + homepage = "https://github.com/danielgatis/rembg"; + changelog = "https://github.com/danielgatis/rembg/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ defelo ]; + mainProgram = "rembg"; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 10352989eae2..41243aa0b62e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15447,6 +15447,8 @@ self: super: with self; { remarshal = callPackage ../development/python-modules/remarshal { }; + rembg = callPackage ../development/python-modules/rembg { }; + remctl = callPackage ../development/python-modules/remctl { remctl-c = pkgs.remctl; }; remi = callPackage ../development/python-modules/remi { };