1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonOlder, 6 aiodns, 7 aiohttp, 8 aresponses, 9 poetry-core, 10 pytest-asyncio, 11 pytest-cov-stub, 12 pytest-freezer, 13 pytestCheckHook, 14 syrupy, 15 yarl, 16}: 17 18buildPythonPackage rec { 19 pname = "forecast-solar"; 20 version = "4.2.0"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.11"; 24 25 src = fetchFromGitHub { 26 owner = "home-assistant-libs"; 27 repo = "forecast_solar"; 28 tag = "v${version}"; 29 hash = "sha256-ZBkuhONvn1/QpD+ml3HJinMIdg1HFpVj5KZAlUt/qR4="; 30 }; 31 32 build-system = [ poetry-core ]; 33 34 env.PACKAGE_VERSION = version; 35 36 dependencies = [ 37 aiodns 38 aiohttp 39 yarl 40 ]; 41 42 pythonImportsCheck = [ "forecast_solar" ]; 43 44 nativeCheckInputs = [ 45 aresponses 46 pytest-asyncio 47 pytest-cov-stub 48 pytest-freezer 49 pytestCheckHook 50 syrupy 51 ]; 52 53 disabledTests = [ 54 # "Error while resolving Forecast.Solar API address" 55 "test_api_key_validation" 56 "test_estimated_forecast" 57 "test_internal_session" 58 "test_json_request" 59 "test_plane_validation" 60 "test_status_400" 61 "test_status_401" 62 "test_status_422" 63 "test_status_429" 64 ]; 65 66 meta = with lib; { 67 changelog = "https://github.com/home-assistant-libs/forecast_solar/releases/tag/v${version}"; 68 description = "Asynchronous Python client for getting forecast solar information"; 69 homepage = "https://github.com/home-assistant-libs/forecast_solar"; 70 license = licenses.mit; 71 maintainers = with maintainers; [ dotlambda ]; 72 }; 73}