From a9558a193b2ee5b5040a4ba3fcdb4c383047e569 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 4 May 2021 11:43:07 +0200 Subject: [PATCH 1/4] python3Packages.labelbox: 2.5.1 -> 2.5.4 --- .../python-modules/labelbox/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix index ce7cff4d79b..e1ff7a98a02 100644 --- a/pkgs/development/python-modules/labelbox/default.nix +++ b/pkgs/development/python-modules/labelbox/default.nix @@ -4,28 +4,36 @@ , requests , jinja2 , pillow +, dataclasses +, pythonOlder , rasterio , shapely , ndjson , backoff +, pydantic , google-api-core , backports-datetime-fromisoformat }: buildPythonPackage rec { pname = "labelbox"; - version = "2.5.1"; + version = "2.5.4"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "7f2cbc5d4869d8acde865ad519fc1cc85338247cd7cf534334f988a040679219"; + sha256 = "sha256-L1KjP8Yzx9adTK84+Nf9JnirT4p3D3lwulWw6W1L/88="; }; propagatedBuildInputs = [ jinja2 requests pillow rasterio shapely ndjson backoff - google-api-core backports-datetime-fromisoformat + google-api-core backports-datetime-fromisoformat pydantic ]; + postPatch = '' + substituteInPlace setup.py --replace "pydantic==1.8" "pydantic>=1.8" + ''; + # Test cases are not running on pypi or GitHub doCheck = false; pythonImportsCheck = [ "labelbox" ]; From 555d09692045c46b52fc326c62a21d79a203eed2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 4 May 2021 12:20:26 +0200 Subject: [PATCH 2/4] python3Packages.decopatch: init at 1.4.8 --- .../python-modules/decopatch/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/decopatch/default.nix diff --git a/pkgs/development/python-modules/decopatch/default.nix b/pkgs/development/python-modules/decopatch/default.nix new file mode 100644 index 00000000000..7fa3c6465db --- /dev/null +++ b/pkgs/development/python-modules/decopatch/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, makefun +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "decopatch"; + version = "1.4.8"; + + src = fetchPypi { + inherit pname version; + sha256 = "0i6i811s2j1z0cl6y177dwsbfxib8dvb5c2jpgklvc2xy4ahhsy6"; + }; + + nativeBuildInputs = [ setuptools-scm ]; + + propagatedBuildInputs = [ makefun ]; + + postPatch = '' + substituteInPlace setup.py --replace "'pytest-runner', " "" + ''; + + # Tests would introduce multiple cirucular dependencies + # Affected: makefun, pytest-cases + doCheck = false; + + pythonImportsCheck = [ "decopatch" ]; + + meta = with lib; { + description = "Python helper for decorators"; + homepage = "https://github.com/smarie/python-decopatch"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 19d2a40dce6..cd864d64a26 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1733,6 +1733,8 @@ in { decorator = callPackage ../development/python-modules/decorator { }; + decopatch = callPackage ../development/python-modules/decopatch { }; + deep_merge = callPackage ../development/python-modules/deep_merge { }; deepdiff = callPackage ../development/python-modules/deepdiff { }; From f9f911168e18f69139536b87e813b8f4ff48d2bc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 4 May 2021 13:30:58 +0200 Subject: [PATCH 3/4] python3Packages.pytest-cases: init at 3.4.6 --- .../python-modules/pytest-cases/default.nix | 51 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/python-modules/pytest-cases/default.nix diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix new file mode 100644 index 00000000000..2914b3cf9aa --- /dev/null +++ b/pkgs/development/python-modules/pytest-cases/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchPypi +, makefun +, decopatch +, pythonOlder +, pytest +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "pytest-cases"; + version = "3.4.6"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "17w4s6622i97q81g15zamqm536ib00grgdfk2f4kk9bw2k7sdlq6"; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + buildInputs = [ + pytest + ]; + + propagatedBuildInputs = [ + decopatch + makefun + ]; + + postPatch = '' + substituteInPlace setup.cfg --replace "pytest-runner" "" + ''; + + # Tests have dependencies (pytest-harvest, pytest-steps) which + # are not available in Nixpkgs. Most of the packages (decopatch, + # makefun, pytest-*) have circular dependecies. + doCheck = false; + + pythonImportsCheck = [ "pytest_cases" ]; + + meta = with lib; { + description = "Separate test code from test cases in pytest"; + homepage = "https://github.com/smarie/python-pytest-cases"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cd864d64a26..b1d6831b700 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6267,6 +6267,8 @@ in { pytest-cache = self.pytestcache; # added 2021-01-04 pytestcache = callPackage ../development/python-modules/pytestcache { }; + pytest-cases = callPackage ../development/python-modules/pytest-cases{ }; + pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { }; pytest-celery = callPackage ../development/python-modules/pytest-celery { }; From 112a1f6fd7a27653964bc4b444ae4112edfe2cc1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 4 May 2021 13:34:09 +0200 Subject: [PATCH 4/4] python3Packages.labelbox: enable some tests --- .../python-modules/labelbox/default.nix | 55 +++++++++++++------ 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix index e1ff7a98a02..957b8ad5fd1 100644 --- a/pkgs/development/python-modules/labelbox/default.nix +++ b/pkgs/development/python-modules/labelbox/default.nix @@ -1,18 +1,20 @@ { lib +, backoff +, backports-datetime-fromisoformat , buildPythonPackage -, fetchPypi -, requests -, jinja2 -, pillow , dataclasses +, fetchFromGitHub +, google-api-core +, jinja2 +, ndjson +, pillow +, pydantic +, pytest-cases +, pytestCheckHook , pythonOlder , rasterio +, requests , shapely -, ndjson -, backoff -, pydantic -, google-api-core -, backports-datetime-fromisoformat }: buildPythonPackage rec { @@ -20,27 +22,46 @@ buildPythonPackage rec { version = "2.5.4"; disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-L1KjP8Yzx9adTK84+Nf9JnirT4p3D3lwulWw6W1L/88="; + src = fetchFromGitHub { + owner = "Labelbox"; + repo = "labelbox-python"; + rev = "v${version}"; + sha256 = "0182klvm8bjcm8fkl9w8ypj12s026czgid8ldl6jjvmzhxpmss68"; }; propagatedBuildInputs = [ - jinja2 requests pillow rasterio shapely ndjson backoff - google-api-core backports-datetime-fromisoformat pydantic + backoff + backports-datetime-fromisoformat + dataclasses + google-api-core + jinja2 + ndjson + pillow + pydantic + rasterio + requests + shapely ]; postPatch = '' substituteInPlace setup.py --replace "pydantic==1.8" "pydantic>=1.8" ''; - # Test cases are not running on pypi or GitHub - doCheck = false; + checkInputs = [ + pytest-cases + pytestCheckHook + ]; + + disabledTestPaths = [ + # Requires network access + "tests/integration" + ]; + pythonImportsCheck = [ "labelbox" ]; meta = with lib; { - homepage = "https://github.com/Labelbox/Labelbox"; description = "Platform API for LabelBox"; + homepage = "https://github.com/Labelbox/labelbox-python"; license = licenses.asl20; maintainers = with maintainers; [ rakesh4g ]; };