{ lib , aiohttp , aresponses , backoff , buildPythonPackage , fetchFromGitHub , fetchpatch , poetry-core , pytest-aiohttp , pytest-asyncio , pytestCheckHook , pythonOlder }: buildPythonPackage rec { pname = "pyopenuv"; version = "2023.08.0"; format = "pyproject"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "bachya"; repo = pname; rev = "refs/tags/${version}"; hash = "sha256-6JYYkEH873beEQf2agAF85YLSb7+n0UVzIuRz3amXpU="; }; patches = [ # This patch removes references to setuptools and wheel that are no longer # necessary and changes poetry to poetry-core, so that we don't need to add # unnecessary nativeBuildInputs. # # https://github.com/bachya/pyopenuv/pull/244 # (fetchpatch { name = "clean-up-build-dependencies.patch"; url = "https://github.com/bachya/pyopenuv/commit/1663f697dd5528fb03af1400e5ffd3fba076c64c.patch"; hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM="; }) ]; nativeBuildInputs = [ poetry-core ]; propagatedBuildInputs = [ aiohttp backoff ]; __darwinAllowLocalNetworking = true; nativeCheckInputs = [ aresponses pytest-asyncio pytest-aiohttp pytestCheckHook ]; disabledTestPaths = [ # Ignore the examples as they are prefixed with test_ "examples/" ]; pythonImportsCheck = [ "pyopenuv" ]; meta = with lib; { description = "Python API to retrieve data from openuv.io"; homepage = "https://github.com/bachya/pyopenuv"; changelog = "https://github.com/bachya/pyopenuv/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; }