at 25.11-pre 1.5 kB view raw
1{ 2 lib, 3 anysqlite, 4 boto3, 5 buildPythonPackage, 6 fetchFromGitHub, 7 hatch-fancy-pypi-readme, 8 hatchling, 9 httpx, 10 moto, 11 pytest-asyncio, 12 pytestCheckHook, 13 pythonOlder, 14 pyyaml, 15 redis, 16 trio, 17}: 18 19buildPythonPackage rec { 20 pname = "hishel"; 21 version = "0.1.2"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.9"; 25 26 src = fetchFromGitHub { 27 owner = "karpetrosyan"; 28 repo = "hishel"; 29 tag = version; 30 hash = "sha256-EaVE70lzjvMqMJlXObz450FwunaPZv86kJCKgI174a8="; 31 }; 32 33 build-system = [ 34 hatch-fancy-pypi-readme 35 hatchling 36 ]; 37 38 dependencies = [ httpx ]; 39 40 optional-dependencies = { 41 redis = [ redis ]; 42 s3 = [ boto3 ]; 43 sqlite = [ anysqlite ]; 44 yaml = [ pyyaml ]; 45 }; 46 47 nativeCheckInputs = [ 48 moto 49 pytest-asyncio 50 pytestCheckHook 51 trio 52 ] ++ lib.flatten (builtins.attrValues optional-dependencies); 53 54 pythonImportsCheck = [ "hishel" ]; 55 56 disabledTests = [ 57 # Tests require a running Redis instance 58 "test_redis" 59 ]; 60 61 disabledTestPaths = [ 62 # ImportError: cannot import name 'mock_s3' from 'moto' 63 "tests/_async/test_storages.py" 64 "tests/_sync/test_storages.py" 65 ]; 66 67 meta = with lib; { 68 description = "HTTP Cache implementation for HTTPX and HTTP Core"; 69 homepage = "https://github.com/karpetrosyan/hishel"; 70 changelog = "https://github.com/karpetrosyan/hishel/blob/${src.tag}/CHANGELOG.md"; 71 license = licenses.bsd3; 72 maintainers = with maintainers; [ fab ]; 73 }; 74}