diff --git a/pkgs/development/python-modules/kagglesdk/default.nix b/pkgs/development/python-modules/kagglesdk/default.nix new file mode 100644 index 000000000000..195e211d7275 --- /dev/null +++ b/pkgs/development/python-modules/kagglesdk/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + hatchling, + + # dependencies + protobuf, + requests, + + # tests + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "kagglesdk"; + version = "0.1.15"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Kaggle"; + repo = "kagglesdk"; + tag = "v${finalAttrs.version}"; + hash = "sha256-u945sytmPUEYRNvT8v/O3HBhJoLnECPAT3GdvtBkBV4="; + }; + + build-system = [ + hatchling + ]; + + dependencies = [ + protobuf + requests + ]; + + pythonImportsCheck = [ "kagglesdk" ]; + + # The two available tests fail with: + # AssertionError: 'https://api.kaggle.com' != 'https://www.kaggle.com' + doCheck = false; + + meta = { + description = "Bindings to access Kaggle endpoints"; + homepage = "https://github.com/Kaggle/kagglesdk"; + changelog = "https://github.com/Kaggle/kagglesdk/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1ed705affa04..5a3c7fac07f2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8007,6 +8007,8 @@ self: super: with self; { kagglehub = callPackage ../development/python-modules/kagglehub { }; + kagglesdk = callPackage ../development/python-modules/kagglesdk { }; + kahip = toPythonModule ( pkgs.kahip.override { pythonSupport = true;