diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/githubkit/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/githubkit/default.nix | 72 |
1 files changed, 65 insertions, 7 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/githubkit/default.nix b/nixpkgs/pkgs/development/python-modules/githubkit/default.nix index 85509528bf35..50ec8128885c 100644 --- a/nixpkgs/pkgs/development/python-modules/githubkit/default.nix +++ b/nixpkgs/pkgs/development/python-modules/githubkit/default.nix @@ -1,37 +1,95 @@ { lib +, anyio , buildPythonPackage -, fetchPypi -, poetry-core +, fetchFromGitHub +, hishel , httpx +, poetry-core , pydantic +, pyjwt +, pytestCheckHook +, pythonOlder +, pythonRelaxDepsHook , typing-extensions }: buildPythonPackage rec { pname = "githubkit"; - version = "0.10.7"; + version = "0.11.1"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-sKikL+761mBP7j+qugHKDQ0hVXT51FV8FYbB3ZJtweA="; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "yanyongyu"; + repo = "githubkit"; + rev = "refs/tags/v${version}"; + hash = "sha256-nPXs6thXAshDojgHSNyEeBN/jNJkfFECSuY5f51Zozo="; }; + pythonRelaxDeps = [ + "hishel" + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "--cov=githubkit --cov-append --cov-report=term-missing" "" + ''; + nativeBuildInputs = [ poetry-core + pythonRelaxDepsHook ]; propagatedBuildInputs = [ + hishel httpx pydantic typing-extensions ]; - pythonImportsCheck = [ "githubkit" ]; + passthru.optional-dependencies = { + all = [ + anyio + pyjwt + ]; + jwt = [ + pyjwt + ]; + auth-app = [ + pyjwt + ]; + auth-oauth-device = [ + anyio + ]; + auth = [ + anyio + pyjwt + ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + + pythonImportsCheck = [ + "githubkit" + ]; + + disabledTests = [ + # Tests require network access + "test_graphql" + "test_async_graphql" + "test_call" + "test_async_call" + "test_versioned_call" + "test_versioned_async_call" + ]; meta = { description = "GitHub SDK for Python"; homepage = "https://github.com/yanyongyu/githubkit"; + changelog = "https://github.com/yanyongyu/githubkit/releases/tag/v${version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ kranzes ]; }; |