{ lib , ascii-magic , buildPythonPackage , fetchFromGitHub , pillow , pytest-httpserver , pytestCheckHook , pythonOlder , requests , oauthlib }: buildPythonPackage rec { pname = "weconnect"; version = "0.57.0"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "tillsteinbach"; repo = "WeConnect-python"; rev = "refs/tags/v${version}"; hash = "sha256-EqKjDPSjhI03ZwkHyNG4ZbIdrzn7wrjpGfze1Qkk0lk="; }; propagatedBuildInputs = [ oauthlib requests ]; passthru.optional-dependencies = { Images = [ ascii-magic pillow ]; }; nativeCheckInputs = [ pytest-httpserver pytestCheckHook ]; postPatch = '' substituteInPlace weconnect/__version.py \ --replace "develop" "${version}" substituteInPlace setup.py \ --replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \ --replace "tests_require=TEST_REQUIRED," "tests_require=[]," substituteInPlace requirements.txt \ --replace "requests~=2.29.0" "requests" substituteInPlace image_extra_requirements.txt \ --replace "pillow~=" "pillow>=" \ --replace "ascii_magic~=" "ascii_magic>=" substituteInPlace pytest.ini \ --replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \ --replace "pytest-cov" "" ''; pythonImportsCheck = [ "weconnect" ]; meta = with lib; { description = "Python client for the Volkswagen WeConnect Services"; homepage = "https://github.com/tillsteinbach/WeConnect-python"; changelog = "https://github.com/tillsteinbach/WeConnect-python/releases/tag/v${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; }